About this role: Senior Embedded Linux SW Engineer
Product Engineering has an immediate opening for a Senior Embedded Linux Software Engineer to join the Systems Engineering team. Successful candidates should understand and have past work experience with Linux development environment as well as architectures with several microprocessors/microcontrollers (such as PowerPC-based, ARM-based); have done formal software development and release in a reliable, sustainable, and expandable manner by setting and maintaining the SW implementation and testing tool chains, documenting detailed requirements, design specifications and test reports.
A successful candidate will work well independently and with the existing engineering team members and have a desire to learn. Commitment to delivering high quality software following established processes, procedures and coding styles is a must and so is the flexibility to learn and set up new ones.
- Heavily involved in the development of gateway and telemetry units, focusing on creating hardware/software requirements, developing software architecture, implementing customized Linux distribution, handling various communication interface/protocols (WiFi, LTE, Bluetooth, ethernet, USB, CAN, serial ports), conducting tests for both hardware and software.
- Develop requirements of gateway and telemetry functions, interface connection, compliance, and performance.
- Work on board level development (boot, drivers, etc) with strong embedded constraint and support package from suppliers
- Implement embedded software for backend in C/C++, and web interface with Java script, CSS and HTML, or equivalent languages and tools.
- Establish and continuously improve embedded software development process by following internal and industry standards.
- Verify and validate software using debugger, emulator, test bench and actual system integration
- Manage software version control and implement CI/CD testing/releasing methodology.
- Prepare technical documents, including component requirement and design documents, test plan/matrix and test report, and engage in the formal change management process.
- Maintain the existing data management framework, and work on establishing more advanced approach to efficiently capture and transmit data with flexible and scalable configuration.
- Under the direction of the Controls Engineering Manager, work within cross-functional teams with the implementation of systems engineering processes, which may include cross-functional reviews of requirements and documenting specifications.
- Other duties as occasionally required by management.
- Bachelor’s and master’s degree (preferred) in computer science/engineering, EE, or related field.
- A minimum of 8 years of experience in industrial-level embedded Linux software development.
- Experience with formal software version control (Git/SVN) and release/configuration management.
- In-depth understanding and work experience in Linux development environment and architecture.
- Work experience with software architecture, and best practices to implement reliable, scalable, and portable software.
- Intensive knowledge of Linux kernel, operating system, file system, memory, and peripheral management.
- Experience commissioning, tuning, and troubleshooting embedded systems
- Commitment to delivering high quality software following established processes, procedures, and coding styles
- Team player, self-motivated, have habit to document and communicate promptly on what is done. Have passion in engineering and doing things in a systematic way
- An engineering degree from an accredited Electrical, Electronics or Computer Science university/college/institutional program.
- Work experience with Agile development process and familiar with its work platform, such Jira, AzureDevOps.
- Experience with full software lifecycle and safety-critical software development, including requirements, design, integration, validation, and verification is strong asset.
- Knowledge and experience of IOT infrastructure and technology.
- Capability and experience on developing and troubleshooting real-time microprocessor/microcontroller.
- Good understand of electronic devices, such as measurement sensors, CAN-based electrical components, actuators for pneumatic and hydraulic systems.
- Extensive experience with CAN and communication protocols such as J1939, CANopen is a strong asset.
What We Offer
Why apply through Brunel? Finding the next step in your career can be a fulltime job in itself. We manage the process for you: from submitting your resume to coordinating interviews to extending offers and assisting with on-boarding. We’ll get you going while you get on with the job.
Join the Brunel Family
Join the Brunel FamilyAbout UsBrunel has a reputation for working with some of the best in the business. That’s what we continually strive for. Over 45 years, we’ve created a global network of interesting clients and talented individuals working together through a vast array of services.
Start applying immediately
Sending an application is quick and easy. Just make sure you have the required documents ready to go.
- Certifications (optional)
- Job references (optional)
- Motivation Letter (optional)
Any questions remaining?
Your consultant, Alyssa McLaren is happy to clarify anything about this vacancy. When reaching out, use the pub number:
Brunel Canada - Calgary