Localisation : Montréal (Brossard ou Laval) – Hybride
Type de contrat : Temps plein/Contractor
Description de la mission
Nous recherchons un Développeur Firmware expérimenté en Embedded C ou C++ pour rejoindre notre équipe d’ingénierie. Le candidat idéal est passionné par le développement bas niveau, les systèmes temps réel et la création de solutions embarquées de haute qualité. Vous participerez à l’ensemble du cycle de vie firmware : analyse des besoins, conception, développement, tests et optimisation.
Responsabilités principales
- Concevoir, développer et maintenir le firmware en Embedded C/C++ pour microcontrôleurs et systèmes embarqués.
- Collaborer avec les ingénieurs hardware pour intégrer le firmware aux composants électroniques.
- Développer et exécuter des tests unitaires, procédures de validation et activités de debugging.
- Optimiser les performances du firmware, la gestion mémoire et la consommation énergétique.
- Participer aux revues de code, décisions d’architecture et initiatives d’amélioration continue.
- Documenter les spécifications techniques, processus de développement et résultats de tests.
- Diagnostiquer et résoudre les problèmes liés aux systèmes embarqués (interactions hardware/software).
- Contribuer au développement de nouvelles fonctionnalités et à l’amélioration des produits existants.
Profil recherché
- 3 à 7 ans d’expérience en développement firmware ou logiciel embarqué.
- Excellente maîtrise du C ou C++ embarqué .
- Expérience avec des microcontrôleurs (ARM Cortex, STM32, PIC, etc.).
- Connaissance d’un RTOS (FreeRTOS ou équivalent).
- Solides compétences en debugging (oscilloscope, analyseur logique, JTAG, etc.).
- Maîtrise des protocoles de communication (UART, SPI, I2C, CAN, BLE, etc.).
- Connaissance des outils de gestion de version (Git) et des bonnes pratiques modernes.
- Capacité à travailler en mode hybride, dans les bureaux de Brossard ou Laval .
- Autonomie, bonnes compétences analytiques et excellentes aptitudes de communication.
- Atout : CI/CD, scripts (Python), hardware bring-up.
Atouts supplémentaires
- Expérience avec Linux embarqué ou Yocto.
- Connaissance des normes de systèmes critiques (ISO 26262, IEC 62304, etc.).
- Expérience en tests automatisés ou frameworks de validation.
-----------
English
Job Offer – Firmware Developer (Embedded C/C++)
Location: Montreal (Brossard or Laval) – Hybrid
Contract Type: Full-time/Contractor
Mission Description
We are looking for a skilled Firmware Developer with strong experience in Embedded C or C++ to join our engineering team. The ideal candidate is passionate about low-level development, real-time systems, and delivering high-quality embedded solutions for innovative products. You will be involved in the full firmware lifecycle—from requirements analysis to implementation, testing, and optimization.
Key Responsibilities
- Design, develop, and maintain firmware using Embedded C/C++ for microcontrollers and embedded systems.
- Collaborate with hardware engineers to integrate firmware with electronic components.
- Develop and execute unit tests, validation procedures, and debugging activities.
- Optimize firmware performance, memory usage, and power consumption.
- Participate in code reviews, architectural decisions, and continuous improvement initiatives.
- Document technical specifications, development processes, and testing results.
- Troubleshoot and resolve issues in embedded systems (software/hardware interactions).
- Contribute to the development of new features and improvements for existing products.
Profile Requirements
- 3–7 years of experience in firmware or embedded software development.
- Strong proficiency in Embedded C or C++ .
- Experience with microcontrollers (ARM Cortex, STM32, PIC, etc.).
- Familiarity with RTOS environments (FreeRTOS or similar).
- Hands-on debugging skills (oscilloscope, logic analyzer, JTAG, etc.).
- Experience with communication protocols (UART, SPI, I2C, CAN, BLE, etc.).
- Knowledge of version control (Git) and modern development practices.
- Ability to work in a hybrid environment across Montreal, Brossard, or Laval .
- Strong problem-solving, autonomy, and communication skills.
- Experience with CI/CD, scripting (Python), or hardware bring-up is an asset.
Nice-to-Have Skills
- Experience with embedded Linux or Yocto.
- Knowledge of safety-critical standards (ISO 26262, IEC 62304, etc.).
- Experience with testing frameworks or automated validation.