Ballard Power Systems, Inc. is a leading global provider of innovative clean energy solutions, providing clean energy fuel cell products that enable optimized power systems for a range of applications. Ballard is an international public company traded on both the NASDAQ and TSX. Ballard's Product Engineering has an immediate opening for a System Controls Software Developer to join the Systems Engineering team in the Vancouver Metro Area(Canada).
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.
- 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
- 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.
- 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 converters etc.)
- Experience in building up software release and configuration management processes 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
- Hybrid role (the successful candidate will have to work 2 or 3 days per week in our office in Metro Vancouver)
- 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.