Ballard has an immediate opening for a Senior Embedded Telematics Software Controls Developer to join the Systems Engineering team. Successful candidates should understand and have past
work experience with embedded 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 toolchains, documenting detailed requirements, design specifications and test reports.
A successful candidate will work well independently and with the existing engineering team members and have the 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 control units, focusing on creating hardware/software requirements, developing software architecture, implementing customized Linux distribution, and 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 in Git 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 a 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, has a habit of documenting and communicating promptly on what is done. Have a passion for 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 a strong asset.
- Knowledge and experience in IOT infrastructure and technology.
- Knowledge and experience in developing cybersecurity regulation/standards and technical measures is a strong asset.
- Capability and experience in developing and troubleshooting real-time microprocessor/microcontroller.
- Good understanding of electronic devices, such as measurement sensors, CANbased electrical components, and actuators for pneumatic and hydraulic systems.
- Extensive experience with CAN and communication protocols such as J1939, CANopen is a strong asset.
Perks You Will Receive
- Competitive Salary
- Annual Ballard Bonus Plan
- Benefits plan: extended health (medical & dental), short and long-term disability insurance, life insurance, and employee family counselling and wellness programs.
- Company matching Retirement Saving program
- Impact Awards
- Inventor Incentive Program
- Paid Sick Days
- Employee Referral Program
Listen & Deliver | Quality. Always. | Inspire Excellence | Row Together | Own It
Ballard values diversity in the workplace and is committed to Employment Equity. We encourage applications from all qualified candidates.