Embedded Software Engineer

Position Summary 

Corvus battery management systems include embedded firmware, embedded Linux applications, and embedded Windows applications, as well as a number of utilities that run on Windows.  This is an exciting opportunity to contribute across the entire suite of Corvus software and firmware while implementing high value enhancements.  This position is on the front line of software delivery – diagnosing, designing, and deploying improvements and bug fixes.

Reporting to the Team Lead – Electrical and Software, the Embedded Software Engineer is responsible for the design and testing of software components as required for Corvus battery systems and its application in different customer installations.


  • Develop software and firmware for battery management systems and related applications.
  • Perform unit and integration software tests.
  • Participate in the development of software requirements, specifications, and documentation for battery management systems and related equipment.
  • Participate in the design of the system architecture of the battery control system and various related modules.
  • Participate in DFMEAs on the battery system designs.
  • System assembly: building and testing of prototype systems. Completion of test result documentation.
  • Software Configuration Management, Product Data Management (engineering change orders, revision management, etc.).


  • BASc/BSc in engineering or computer science, or engineering technologist with equivalent experience.
  • 4+ years’ experience in embedded software development and test.
  • Experience with design, development and configuration of automotive/industrial/SCADA communication protocols, both standards-based & proprietary.
  • Experience in developing drivers for CAN, RS485, ADC and other interrupt driven hardware.
  • Experience with some or all of the following: C, Python, Linux, SQL, CAN, Ethernet stack
  • Experience in various types of control systems: machinery, power, building, etc.
  • Experience in developing for and programming PLC’s.
  • Experience in the use of standard tools such as oscilloscopes, network analyzers, etc.
  • The following areas of experience would be nice-to-have: battery management systems, internet protocols and interfaces, broad product/system development experience.
  • Ability to handle multiple tasks with the ability to effectively prioritize.
  • Strong written and verbal English communication skills.
  • Strong relationship/interpersonal skills and ability to work effectively in a team environment.

We offer:

  • An exciting position within the worldwide Battery Industry
  • To become a part of a dedicated international team with a common goal to power a clean future
  • Competitive salary and benefits

Please forward your resume and cover letter to: canada.careers@corvusenergy.com

While we sincerely appreciate all applications, only those candidates selected for an interview will be contacted.