Principal Software Engineer I
EnerSys View all jobs
- Burnaby, BC
- $92,600-115,700 per year
- Permanent
- Full-time
- Paid holidays, plus sick time and vacation time
- Full benefit plan including, extended medical, vision and dental
- Life Insurance, long term disability and a salary continuance plan
- Tuition reimbursement plan
- 6% RRSP employer matching program
- Hybrid Schedule: 2 days remote (Mon/Fri) / 3 days on-site (Tue-Thu) at the Burnaby office.
- Contribute to the design, development and improvement of architectural components.
- Implement security and communication protocols
- Implement end-user features for system controllers and other connected devices
- Use AI tools to enhance productivity and help develop and define how the software team uses these tools
- Be the subject matter expert for cyber security for the system controller.
- Prepare and maintain technical documentation.
- Participate in verification and validation testing.
- Contribute to continuous improvement of existing products and processes.
- Implement unit test code and assist in other relevant test automation.
- Work with end users, product managers, and software test engineers to clarify expected behavior of features.
- Troubleshoot and resolve defects.
- Participate in effort and complexity estimation for proposed new features.
- Participate in the development of the department’s strategic goals and direction.
- Bachelor of Computer Science or Electrical Engineering or equivalent.
- At least 7 years of relevant industry experience.
- Strong object-oriented programming skills in a language such as C#.
- Experience with cyber security including, but not limited to: IEC 62443, trusted execution environment on i.MX 8M Mini Applications Processors, encryption, security best practices, private key infrastructure.
- Experience using AWS and Azure.
- Solid engineering experience with supervisory product design and development with embedded microcontrollers.
- Excellent communication and presentation (oral and written) skills in English.
- Ability to collaborate with team and stakeholders to derive options for solutions to problems.
- Strong analysis, problem solving, design, and troubleshooting skills.
- Experience with JavaScript (AngularJS) and HTML.
- Experience with Yocto and Linux.
- Experience with industrial protocols such as SNMP, Modbus, IEC61850 and CAN-bus communication.
- Experience with digital control interfaces such as SPI, I2C, and UART.
- Experience in electronics hardware / power systems and knowledge of basic electronics theory.
- Familiar with power electronics hardware with embedded microcontrollers.
- Familiar with power conversion, including signal processing and control algorithms.
- Experience with Visual Studio.
- Experience in multithreading, real-time, or asynchronous programming.
- Familiar with the Agile development process, SCRUM and experience in an R&D environment.
We provide equal employment opportunities to all employees and applicants, and strictly prohibit discrimination or harassment of any kind based on race, colour, religion, age, sex, national or ethnic origin, citizenship, disability, sexual orientation, gender identity or expression, marital or family status, or any other characteristic protected by applicable Canadian and provincial laws".We encourage applications from members of equity-deserving groups, including women, Indigenous Peoples, racialized persons, persons with disabilities, and members of the 2SLGBTQIA+ community.Employment Equity / Diversity / Inclusion / AccessibilityWe use artificial intelligence to screen, assess and select applicants for open positions, including for the purposes of reviewing and ranking application materials and scoring answers to application questions. Accordingly, decisions about your application and eligibility for employment with EnerSys may be made based exclusively on the automated processing of the personal information that you submit in your application materials.