Firmware Developer

Montréal, Canada

À propos de Haply

Haply Robotics conçoit les dispositifs haptiques les plus précis au monde. Notre gamme Inverse (Inverse3, Inverse5, Inverse X) ainsi que le VerseGrip associent une mécatronique sur mesure à un firmware finement contrôlé afin d’offrir une précision submillimétrique et submillinewton, à des fréquences de plusieurs centaines de hertz. Ces dispositifs sont utilisés dans les domaines de la robotique, de la téléopération, de la simulation chirurgicale et des outils créatifs.


À propos du poste

Vous rejoindrez l’équipe firmware responsable du micrologiciel fonctionnant sur la gamme de dispositifs haptiques Inverse ainsi que sur le VerseGrip. Votre mission sera de garantir que les modifications du firmware sont correctes, sûres et explicitement définies à chaque interface matérielle, et que le comportement du dispositif reste parfaitement aligné avec les attentes du logiciel.


Vous travaillerez en étroite collaboration avec deux équipes :

• L’équipe des pilotes (drivers), sur les bibliothèques côté hôte et les protocoles qui communiquent avec les dispositifs. Les formats de données, le timing, la gestion des erreurs et la compatibilité des versions se situent à cette interface.

• L’équipe des services, sur l’environnement d’exécution qui se situe entre les dispositifs et les applications. Une collaboration fluide à ce niveau permet d’éviter toute rupture perceptible entre le firmware et le logiciel pour les utilisateurs.


Vous travaillerez également avec les ingénieurs en mécatronique et en contrôle sur le pilotage des moteurs, les systèmes de détection et les mécanismes de sécurité. Le poste inclut la collaboration avec un ingénieur senior pour la cartographie des risques et l’architecture, ainsi qu’une grande autonomie pour prendre en charge des fonctionnalités de bout en bout.

Customer Relationship
Personal Evolution
Autonomy
Administrative Work
Technical Expertise

Ce que vous ferez

  • Implémenter des modifications firmware pour l’Inverse3, l’Inverse5, l’Inverse X et le VerseGrip : fonctionnalités, mécanismes de sécurité, protocoles de communication, routines de calibration et boucles rapides de retour de force.
  • Associer chaque modification à notre taxonomie des 8 risques et contribuer aux spécifications fonctionnelles des fonctionnalités de sécurité du firmware.
  • Travailler en étroite collaboration avec les équipes des pilotes (drivers) et des services. Co-concevoir les évolutions des protocoles, déboguer à l’interface firmware/hôte et garantir une compatibilité des versions maîtrisée plutôt que fortuite.
  • Diagnostiquer et corriger les problèmes à l’interface matériel-logiciel. Analyser les journaux de protocole, décoder les formats de données, reproduire les bugs de timing et boucler avec les personnes de l’autre côté du câble.
  • Mettre en place et maintenir des bancs de test firmware, des simulateurs et des configurations HIL (hardware-in-the-loop). Le firmware mérite le même niveau de rigueur en matière de tests que le reste du codebase.
  • Participer aux revues de code, aux décisions d’architecture et à la planification des nouvelles fonctionnalités firmware pour les dispositifs à venir.
  • Contribuer à l’écosystème de build du firmware, aux mises à jour OTA (over-the-air) et à la gestion des versions.

Ce que nous recherchons

  • Exigences
  • 3+ ans d’expérience professionnelle en firmware / systèmes embarqués.
  • Solide maîtrise du C / C++ sur des cibles embarquées temps réel : interruptions, DMA, boucles critiques en termes de timing.
  • Familiarité avec le contrôle des moteurs, les codeurs, la détection de force/couple ou des chaînes de signal temps réel comparables.
  • À l’aise avec les communications bas niveau : SPI, I2C, UART, USB, CAN, WebSocket / TCP, protocoles binaires personnalisés.
  • Capacité à lire des schémas électroniques, à collaborer avec des ingénieurs en électronique (EE) et à analyser le matériel à l’aide d’outils comme un oscilloscope et un analyseur logique.
  • Approche rigoureuse de la sécurité : vous anticipez les modes de défaillance avant que les cas limites ne deviennent problématiques.
  • Autonome et proactif, vous prenez en charge les sujets de bout en bout, de l’investigation jusqu’à une solution propre et validée.
  • À l’aise avec Git et les workflows structurés de pull requests et de revue de code.
  • Excellentes compétences en communication. Vous collaborez efficacement avec les équipes adjacentes (drivers, services, mécatronique) et documentez les modifications que vous apportez.
  • Atouts
  • Expérience avec les microcontrôleurs ARM Cortex-M (STM32, NXP, etc.) et les HAL correspondants.
  • DSP, filtres numériques, boucles de contrôle (PID, contrôle d’impédance/admittance).
  • Connaissance des normes de sécurité fonctionnelle (IEC 61508, IEC 62304, ISO 13849). Une expérience partielle est également appréciée.
  • Expérience des mises à jour OTA, de la signature du firmware et des stratégies de compatibilité des versions.
  • Maîtrise de Bash et Linux ainsi que de PowerShell et Windows. À l’aise dans les deux environnements.
  • Bilingue français/anglais. L’environnement de travail est bilingue.

Modes de fonctionnement​

  • Planifie les modifications avant de les implémenter. Formalise les intentions, évalue l’impact sur les systèmes adjacents, en particulier à l’interface firmware/driver/service.
  • Communique de manière proactive lorsqu’il travaille à proximité des interfaces entre domaines (logique de contrôle, comportement matériel, état côté hôte).
  • À l’aise pour travailler sans disposer de tout le contexte métier. Sait lire le code, poser les bonnes questions et contribuer efficacement aux côtés de spécialistes.
  • Capacité à identifier les problèmes de justesse, les risques liés à la concurrence et les fuites d’abstraction lors des revues de code.

Pourquoi nous rejoindre

  • Du matériel réel sur chaque bureau. Déboguez sur banc d’essai, pas uniquement de manière théorique.
  • Une équipe soudée, des boucles de feedback rapides, sans superflu.
  • Une base de code firmware que vous pouvez réellement façonner. Portée maîtrisée, évolution réfléchie, sans sur-ingénierie.
  • Collaboration directe avec les équipes drivers et services. L’interface firmware/logiciel est traitée comme un seul et même problème, et non comme deux silos.
  • Présence sur site à Montréal : bureau moderne au centre-ville.

Pour postuler : envoyez un CV ainsi que quelques liens ou exemples (projets firmware, projets matériels personnels, ou tout projet que vous avez livré à des utilisateurs réels ou sur du matériel réel). Les lettres de motivation sont les bienvenues mais facultatives.

Our Product
Our Product

Discover our products.

READ

Ce que nous offrons


Chaque employé a l’opportunité de constater l’impact de son travail. Vous pouvez apporter une contribution réelle au succès de l’entreprise. 
De nombreuses activités sont organisées tout au long de l’année, telles que des séances de sport hebdomadaires, des événements de team building, des moments conviviaux mensuels autour d’un verre, et bien plus encore.

Perks

A full-time position
Attractive salary package.

Trainings

12 days / year, including
6 of your choice.

Sport Activity

Play any sport with colleagues,
the bill is covered.

Eat & Drink

Fruit, coffee and
snacks provided.