Firmware Engineer

Our client has an immediate full-time permanent opportunity available for a Firmware Engineer positions in Quebec City, QC or Montreal, QC location.  


Its Hybrid Role 3 days work from Office & 2 days work from Home

The company's Electrical Sector is currently seeking a Firmware Engineer – Microgrid Controls to join the team. 

Position Overview:

The Firmware Engineer - Microgrid Control product will lead embedded software efforts for one of the Microgrid & Distributed Energy Resources (DER) control product families. The Microgrid controls product will be based upon one of the existing company control platforms focused on specific energy transition applications. This role will be involved in many different aspects of the product life cycle, ranging from product specification to software design and validation. The role includes collaboration with the microgrid and energy transition application software development COE and Microgrid Product Technical Lead to develop firmware, software, and user interface to drive the product line’s requirements.

In this function you will:

  • Develop embedded C/C++ or Codesys firmware for control product.

  • Develop User Interface software and communication protocols in Codesys or C/C++ environments in collaboration with the product software team and the microgrid and energy transition application software development COE.

  • In collaboration with Microgrid Product Technical Lead, Lead the efforts for designing and executing software QA testing along with necessary corrective follow-up.

  • Support integration of firmware and software and ensure system test coverage in collaboration with global teams for both firmware and test.

  • Drive test automation, continuous integration, code analysis, and code reviews to ensure quality and functionality during development.

  • Perform root cause analysis on quality escapes of product defects in collaboration with global and cross-functional teams.

  • Work with Product testing and customer support engineer to provide customers with technical support, feature enhancements, and root cause analysis.

  • Participate in all phases of the product development lifecycle (Requirements, Design, Coding, Testing, and Release) following a structured engineering process to ensure quality and reliability.

  • Design, implement, and test control algorithms, protocols, and communication technologies.

  • Collaborate effectively with external and internal customers, such as marketing product managers and product line managers, service engineers, and other engineering teams throughout the product development lifecycle.

  • Develop supporting engineering documentation including software requirements specifications, design documentation, and design verification test plans





Required (Basic) Qualifications:

  • Bachelor’s degree in Electrical Engineering, Computer Engineering, or Software Engineering from an accredited institution.

  • Minimum 4 years of experience developing embedded firmware using Codesys and C/C++

  • No Sponsorship. Candidates must be legally authorized to work in Canada on an ongoing basis without company sponsorship.


Preferred qualifications:

  • Master’s degree in electrical/computer engineering or equivalent

  • Experience with Programmable Logic Controllers (PLCs)

  • Minimum 3 years of experience working with microgrid control projects or power systems automation

  • Demonstrated competency with embedded software development environment and tools for real-time operating systems (RTOS), FreeRTOS, or Embedded Linux

  • Knowledge of Industrial Applications and Industrial Communication Protocols

  • Knowledge of cybersecurity solutions for industrial products

  • Knowledge of programming tools such as Python, MATLAB, SQL, C++, C#, or equivalent.

  • Strong problem solving and embedded debugging skills.

  • Strong understanding of software requirements, development, and analysis.

  • Strong understanding of Object-Oriented Design (OOD) principles.


Position Criteria:

  • Knowledge and understanding of best software engineering practices for design and testing of automation systems, power management systems, human-machine interface software, PLC programming, etc.

  • Collaborate with a global multi-discipline engineering team (software, embedded software, hardware, power systems, systems, product, and test) to deliver products and features in the Controls.

  • Understanding of renewable energy integration, and battery energy storage systems & microgrid controls, energy management systems, and electrical SCADA applications.

  • Working knowledge of utility industry communications protocols (e.g., Modbus, DNP3, IEC61850, SunSpec, 2030.5).

  • Experience working with Agile/Scrum methodologies, with in-depth knowledge of related processes and principles

  • Exceptional ability to lead, collaborate, openly communicate, influence others, present, and negotiate effectively across disciplines and stakeholders (marketing, engineering, customer support, etc.)

  • Demonstrated experience delivering results in an ambiguous and changing environment, with the ability to work independently and be a self-starter, working multi-task on several initiatives at one time, in a fast-moving and evolving business

  • Ability to demonstrate technical learning and can learn new skills, knowledge, industry, product, or technical knowledge

Please email your resume