Firmware Developer – (Montreal, Quebec) Hybrid
We are seeking a Firmware Developer to help design, build, and improve embedded control products.
Responsibilities
- Develop clean, testable embedded applications using C/C++
- Contribute to the full Software Development Life Cycle (SDLC)
- Troubleshoot, debug, and enhance existing firmware systems
- Convert product requirements into clear firmware design documents and communicate them effectively
- Create test plans for firmware/hardware validation, design proofs, and feasibility assessments
- Work closely with electronics, mechanical, and systems engineering teams
- Analyze and resolve issues in legacy firmware
- Support prototype and pilot builds to ensure the design meets customer expectations
- Coordinate project activities to ensure smooth product release into manufacturing
- Stay up to date with new technologies and industry best practices
- Maintain engineering documentation, including lab notebooks
- Prepare invention documentation and support intellectual property protection when applicable
Requirements
- Strong experience programming in C/C++
- Skilled in debugging with tools such as JTAG, logic analyzers, oscilloscopes
- Experience using Git or other version control systems
- Solid understanding of modular embedded software architectures and APIs
- Ability to understand, maintain, and validate code written by other developers
- Knowledge of Real-Time Operating Systems (RTOS)
- Familiarity with embedded microcontrollers
- Excellent communication skills
Education & Experience
- Bachelor’s degree in Engineering, Computer Science, or related discipline
- 5+ years experience as an Embedded Software Engineer, Firmware Developer, or similar role