Ballard Power Systems focuses on our core fuel cell competencies which include the production of membrane electrode assemblies, integration and testing of fuel cell stacks, assembly and testing of motive modules, as well as the support of other products required through our engineering services contracts. Product Engineering has an immediate opening for a Senior System Controls Software Developer to join the Systems Engineering team.
Successful candidates will have the capability and proven experience in advanced controls system development; embedded software architecture development; controls software design and implementation in a reliable, sustainable and expandable manner; 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 always have the desire to learn and continuously develop.
Responsibilities Include:
Get heavily involved in the controls system and software development life cycle, including design, implementation, and verification/validation
Focus on developing controls and software requirements for FC systems using advanced approaches like MBSE, designing AUTOSAR or equivalent software architecture, implementing and testing software in MBD (Matlab/Simulink) environment
Work with product safety team and compliance team to derive functional safety and cybersecurity requirements and create technical hardware/software solutions along the development life cycle
Lead on designing algorithm for signal processing, effective and timely control strategy, communication protocols and fault diagnostics/reporting
Verify and validate software through the use of simulations, hardware-in-loop (HIL), software-in-loop (SIL) and lab/field testing
Manage software version control and implement CI/CD testing/releasing methodology
Establish and continuously improve embedded software development process by following standardized methods, such as SPICE, CMMI
Trouble-shoot complex systems from a hardware and software perspective
Prepare technical documents, including component/system requirements and design documents, test plan/matrix and test report, and engage in the formal change management process
Lead on technology innovation and continuous improvement in system controls engineering
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
Minimum Requirements:
Bachelor's degree in Mechatronics, EE, computer engineering, or related field
A minimum of 5 years of experience in industrial-level embedded software development
Programming skills: C/C++/Matlab/Simulink, scripting languages
Experience with formal software version control (Git/SVN) and release/configuration management
In-depth understanding and work experience in signal processing/filtering/FFT/Sampling, logic state machine and advanced control algorithms for complex dynamic systems
Work experience with software architecture, HW driver/stack function development and application algorithm design for embedded system
Intensive knowledge of uC, RTO, operating system, task management, memory management
Experience commissioning, tuning, and troubleshooting control 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 a passion in engineering and doing things in a systematic way
Desired Traits:
An engineering degree from an accredited Electrical, Electronics or Computer Engineering university/college/institutional program
Work experience with Agile development process
Experience with pneumatic and hydraulic instrumentation including pressure, temperature and flow measurement devices
Experience with power device interfaces (LV/HV batteries, motor drives, inverters, contactors, DC/DC convertors etc.)
Experience on building up software release and configuration management process with CI/CD tools like Jenkins.
Experience with full software lifecycle and safety-critical software development, including requirements, design, integration, validation, and verification is strong asset
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
Our Values
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.