Développeur logiciel embarqué senior I Senior Embedded Software Developer (Montreal)

Développeur logiciel embarqué senior I Senior Embedded Software Developer (Montreal)

23 Sep
|
Subaru Trois-Rivières
|
Montreal

23 Sep

Subaru Trois-Rivières

Montreal

Développeur logiciel embarqué senior I Senior Embedded Software Developer

Permanent

Sur place et télétravail

XP

- 10 ans

Date d’entrée en fonction 29/03/2026

Emplacement

Montreal, QC, Canada à propos En tant que Développeur logiciel embarqué senior chez SPARK Microsystems, vous serez responsable de la conception, du développement et de la maintenance de micrologiciels (firmware) couvrant diverses applications de systèmes embarqués, incluant les protocoles réseau, les bibliothèques de base ainsi que le développement applicatif. Vous jouerez un rôle clé dans la définition de l’architecture des systèmes et dans le mentorat des développeurs juniors.

Vous concevrez, implémenterez et testerez des micrologiciels visant à créer des réseaux de communication sans fil optimaux utilisant les émetteurs-récepteurs sans fil à très faible consommation développés par SPARK Microsystems. Cela comprend le développement de réseaux de capteurs sans fil basse consommation en configurations point à point, en étoile et maillée (mesh), ainsi que des liaisons point à point efficaces pour des applications de diffusion audio.

La personne sélectionnée sera responsable du développement de micrologiciels performants pour soutenir ces applications, ainsi que d’une interface utilisateur graphique pour chaque système permettant aux utilisateurs de contrôler le flux d’information dans le système sans fil.

Responsabilités

- Concevoir, développer, tester et documenter des logiciels embarqués et applicatifs
- Développer des algorithmes pour les couches protocolaires des systèmes de communication et de réseautage
- Fournir des conceptions architecturales et détaillées répondant aux exigences système
- Concevoir et implémenter des fonctionnalités de sécurité pour des dispositifs embarqués
- Bonne connaissance des architectures réseau
- Fournir une orientation technique et stratégique aux efforts de développement en ingénierie pour résoudre des problématiques complexes
- Définir et communiquer l’approche technique la plus appropriée pour les activités de développement des affaires
- Maintenir les composants logiciels système, incluant les pilotes de périphériques et les applications
- Participer aux processus de tests de l’équipe en développant des protocoles de tests unitaires, d’intégration/régression et de tests système
- Possibilité d’encadrer et de coacher des ingénieurs plus juniors

Exigences académiques

- Baccalauréat en génie électrique, génie informatique ou équivalent

Compétences techniques

- Plus de 10 ans d’expérience en développement d’applications embarquées en C et C++
- Plus de 7 ans d’expérience en programmation C bas niveau sur microcontrôleurs / microprocesseurs, avec une connaissance avancée des architectures et écosystèmes MCU / CPU
- Compréhension complète des systèmes « full-stack » et capacité à analyser et améliorer des processus multidisciplinaires RF/PHY/L1/L2
- Bonne compréhension et capacités de débogage d’implémentations PHY/L1 multi-processeurs combinant matériel et micrologiciel
- Expérience dans la conception et l’implémentation de fonctionnalités de sécurité pour dispositifs embarqués (démarrage sécurisé, vérification d’intégrité du firmware, mécanismes de mise à jour sécurisée incluant signature de code, protection contre le rollback, images chiffrées)
- Maîtrise des systèmes sans fil complexes et capacité démontrée à comprendre les dépendances entre composants système et couches protocolaires ainsi que leurs interactions
- Excellentes compétences pratiques en programmation logicielle pour la modélisation et la simulation de systèmes sophistiqués, des signaux RF/PHY et modélisation de canaux jusqu’aux simulations de protocoles MAC et réseaux
- Expérience et/ou connaissance des normes industrielles telles que Bluetooth,



Ultra Wideband (UWB), GPS ou autres protocoles sans fil
- Capacité à travailler efficacement sous Linux et Windows
- Expérience avec Visual Studio Code et Eclipse IDE
- Expérience dans le développement de Board Support Packages (BSP), chargeurs d’amorçage (bootloaders) et pilotes de composants
- Expérience avec les technologies de virtualisation et de conteneurisation (VMware, KVM, Docker)
- Expérience avec les systèmes de gestion de versions Git
- Expérience avec des plateformes de développement logiciel telles que GitLab et GitHub
- Connaissance des protocoles de communication incluant I2C, SPI, UART et USB
- Expérience pratique en développement et débogage sur cibles embarquées à l’aide de débogueurs en circuit et d’équipements de test électronique (oscilloscope, multimètre, analyseur logique, etc.)
- Expérience des processus modernes de développement logiciel (revue par les pairs, tests unitaires, etc.)

Compétences en communication Excellentes compétences en communication orale et écrite ainsi qu’en présentation (français et anglais)

Capacité à travailler efficacement au sein d’une équipe de développeurs

Capacité à gérer plusieurs tâches, établir des priorités de projet, définir des objectifs clairs et faire preuve d’initiative

Rédiger un code propre, compréhensible, robuste et durable adapté aux systèmes embarqués

_______________

As a Senior Embedded SW Developer within SPARK Microsystems, you will be required to design, develop and maintain firmware covering our various embedded system applications and this includes network protocols, core libraries as well as application development. You will play a key role in defining systems architecture and mentoring junior developers.

You will design, implement, and test firmware to form optimal communications wireless networks using the extremely low power wireless transceivers developed by SPARK Microsystems. This includes developing low power wireless sensor networks in point-to-point, star, and mesh configurations, as well as efficient point-to-point links for audio streaming applications. The selected candidate will be responsible for developing efficient firmware to support these applications, as well as a graphical user interface for each system that allows users to control the flow of information in the wireless system.

Responsibilities

Design, implement, test and document embedded and application software

Develops algorithms for communication system protocol layers and networking

Provide architectural and detailed designs to meet the system requirements

Design and implement security features for embedded devices

Familiar with networking architectures.

Provides technical direction and strategy to engineering development efforts for solving complex issues.

Outlines and communicates the most appropriate technical approach for business development activities.

Maintain system software components including device drivers and applications

Participate in the team’s testing processes by developing protocols for unit testing, integration/regression testing, and system-level testing

Opportunity to coach and mentor more junior Engineers.

Must Have:

B.Eng. in Electrical Engineering, Computer Engineering or equivalent

Technical Skills

10+ years of experience in embedded application development in C and C++

7+ years of experience in low level C programming on microcontrollers / microprocessors, with advanced knowledge of MCU / CPU architectures and ecosystems





Full-stack system-level understanding and ability to comprehend and affect an improvement to multi-disciplinary processes of RF/PHY/L1/L2

Good understanding and debug capabilities of a mixed HW/FW multi-processor PHY/L1 implementation.

Designed and implemented security features for embedded devices, including secure boot, firmware integrity checks and secure firmware update mechanisms (code signing, rollback protection, encrypted images)

Proven grasp of complex wireless systems with strong capability to comprehend dependencies between system components and protocol layers and their interactions.

Extensive hands-on SW programming skills for modeling and simulation of sophisticated systems from RF/PHY layer signals and channel modeling. All the way to MAC protocol/networking simulations.

Experience with and/or knowledge of industry standards such as Bluetooth, Ultra-Wideband, GPS, and/or other wireless protocols.

Ability to work efficiently with both Linux and Windows

Experience with Visual Studio Code and Eclipse IDE

Experience developing Board Support Packages, boot loaders, and component drivers

Experience with virtualization and container technologies (VMware, KVM, Docker)

Experience with Git version control systems

Experience with software development platform such as Gitlab and Github

Understanding of communication protocols including I2C, SPI, UART and USB

Experience in hands-on development and debug on embedded targets using in-circuit debuggers and electronic test equipment (oscilloscope, multimeter, logic analyzer, etc)

Experience in up-to-date software development processes (peer reviewing, unit testing, etc)

Communications Skills

Excellent oral and written communications and presentation skills (French and English)

Ability to work effectively with a team of developers

Ability to multi-task, set project priorities, establish task focused goals and objectives for self and show initiative

Write clean, understandable, robust, and sustainable code tailored for embedded systems

PrésentationChez SPARK Microsystems, nous nous concentrons sur la mise en place d'une nouvelle génération d'appareils sans fil de réalité augmentée, audio, d'interface humaine et IoT. SPARK est une compagnie en démarrage basée à Montréal comptant 80 employés dynamiques qui aiment relever des défis dans un environnement en constante évolution et avoir des taches diversifiées.

Notre équipe est composée de personnes passionnées et motivées qui partagent une excellente chimie et sont toujours prêtes à donner un coup de main à leurs coéquipiers. Les membres de l’équipe participent souvent à des activités sociales pour renforcer davantage les liens qui les unissent.

Notre missionSPARK Microsystems a été le pionnier de la mise en œuvre pratique de la technologie ultra-large bande (UWB) pour fournir des liaisons de données sans fil ultra-basse consommation, haut débit et à faible latence pour les réseaux personnels (PAN), les réseaux corporels (BAN) et la proximité (Nano) applications. SPARK propose une technologie sans fil unique et innovante qui permet d'obtenir une efficacité énergétique et un temps de latence supérieurs aux technologies traditionnelles à bande étroite telles que WiFi, Bluetooth, Zigbee et Cellulaire. Nous sommes la technologie sans fil de l'avenir.

Son efficacité, sa souplesse et sa robustesse lui permettent de répondre aux besoins d'un grand nombre de marchés, dont beaucoup sont actuellement desservis par les technologies sans fil actuelles.

Ce que nous recherchonsNous recherchons des individus motivés et passionnés par notre technologie, prêts à contribuer dans un environnement dynamique et innovant. Chez SPARK, nous valorisons l'enthousiasme et une vision tournée vers l'avenir pour mener à bien nos projets de pointe. Explorez notre page Emplois pour découvrir toutes les opportunités stimulantes que nous offrons.

📌 Développeur logiciel embarqué senior I Senior Embedded Software Developer (Montreal)
🏢 Subaru Trois-Rivières
📍 Montreal

Reply to this offer

Impress this employer describing Your skills and abilities, fill out the form below and leave Your personal touch in the presentation letter.

Subscribe to this job alert:

Get the latest job offers by email for: développeur logiciel embarqué senior i senior embedded software developer (montreal) / montreal

Subscribe to this job alert:

Get the latest job offers by email for: développeur logiciel embarqué senior i senior embedded software developer (montreal) / montreal