Product System Engineering has an immediate opening for a
Senior Embedded Controls Test Engineer to join the Systems Engineering team. Successful candidates will understand and have hands-on experience in software validation/verification process and activities for embedded controllers; demonstrate the capability to establish a portable and scalable validation/verification platform; know what and how to effectively evaluate software quality through well-defined metrics.
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 is a must and so is flexibility to adapt.
Responsibilities Include: - Heavily involved in the software validation and verification test procedure, focusing on developing test framework, selecting/building/executing test equipment, guiding the whole software group for quality assurance and best practice
- Develop test procedure for various levels of white-box software testing, including static analysis, dynamic analysis/testing, unit testing and integration testing (MIL, HIL) with test coverage
- Design and source components and parts to build test bench at both software level and hardware level, with well developed documentation
- Develop and automate test code and routines in Model-Based development (Matlab/Simulink) environment and text-based coding environment (C/C++/IEC/scripting language)
- Implement and test software interface I/Os, CAN communication by using CANanalyzer or equivalent tools
- Define and document test metrics with inputs, conditions and expected pass/fail criteria for regression testing
- Develop and maintain traceability between requirements and test cases, and manage the test reports by following the formal configuration management process
- Document and report the test activities for functional safety compliance purpose
- Manage software test code version control and evolution
- Other duties as occasionally required by management
Minimum Requirements: - Bachelor's degree in EE, computer engineering, or related field
- A minimum of 5 years of experience in industrial-level embedded firmware/software validation and verification testing
- Programming skills: C/C++/Matlab/Simulink, more than 1 scripting languages (python, JavaScript, Ruby, Bash, powerShell)
- Experience with formal software version control (Git/SVN) and release/configuration management
- Excellent documentation and detail-oriented approach on test development and execution
- Experience commissioning, tuning, and troubleshooting embedded software by using MM, Scope and other relevant equipment
- Commitment to delivering high quality software by inventing and following 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
Desired Traits: - An engineering degree from an accredited Electrical, Electronics or Computer eng. university/college/institutional program
- Work experience with Agile development process
- Experience with instrumentation including pressure, temperature and flow measurement devices
- 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
Our Values
Listen & Deliver | Quality. Always. | Inspire Excellent | Row Together | Own It
Ballard values diversity in the workplace and is committed to Employment Equity. We encourage applications from all qualified candidates.
Category
Engineering