Hexagon AB
Hexagon AB
Hexagon AB développe des technologies de mesure, de positionnement, de capteurs, de jumeaux numériques, d’intelligence spatiale et de robotique autonome pour des applications industrielles et liées aux infrastructures. Ses solutions associent des capteurs et scanners de haute précision, la capture de la réalité en 3D, des plateformes de simulation, des analyses fondées sur l’intelligence artificielle, le contrôle des mouvements et la robotique afin de permettre une planification, une inspection et une automatisation précises, ainsi que des opérations autonomes. L’entreprise sert des clients dans les secteurs de la construction et des infrastructures, de la fabrication, de l’automatisation industrielle, de l’aérospatiale et des systèmes spatiaux, de l’énergie et de la recherche.

Ingénieur logiciel embarqué senior – Télétravail au Canada

Développez le firmware d’ECU critique pour la sécurité des technologies numériques de gestion minière et de contrôle des véhicules de Hexagon Mining. Concevez, testez et mettez en service des systèmes embarqués destinés à la production.

Description

  • Créez, déboguez et maintenez des firmwares embarqués en C et C++ pour des ECU de contrôle des véhicules liés à la sécurité
  • Faites évoluer le firmware depuis les exigences définies jusqu’à une version vérifiée
  • Développez et maintenez les communications du véhicule à l’aide de CAN 2.0A/B, J1939, de protocoles CAN de couche supérieure et de liaisons série
  • Développez des logiciels d’E/S et d’actionnement pour les entrées numériques et analogiques ainsi que les sorties PWM et proportionnelles, notamment le conditionnement des signaux, la mise à l’échelle, l’étalonnage et les contrôles de plausibilité
  • Mettez en œuvre les diagnostics, la détection des défauts et le fonctionnement à sécurité intégrée au moyen de watchdogs, de moniteurs, de la classification des défauts et de transitions vers des états sûrs
  • Contribuez à la migration et à la modernisation de la plateforme de firmware de production pour le matériel actuel
  • Développez à partir d’exigences décomposées et traçables tout en maintenant une traçabilité bidirectionnelle
  • Créez et maintenez des documents de conception, des spécifications d’interface et des dossiers de vérification
  • Réalisez et contribuez aux revues de conception et de code entre pairs
  • Créez et maintenez des tests automatisés embarqués unitaires, d’intégration et hardware-in-the-loop
  • Améliorez les pipelines CI/CD pour les compilations embarquées, l’analyse statique, les tests automatisés, le contrôle de version et le conditionnement des versions
  • Travaillez avec des coprocesseurs et des services basés sur Linux prenant en charge l’enregistrement des données, la connectivité, les diagnostics à distance et l’observabilité
  • Soutenez la mise en service sur banc, sur véhicule et sur le terrain tout en recherchant les problèmes des tests d’intégration
  • Collaborez avec les ingénieurs hardware et électricité, les architectes système, les spécialistes de la sécurité fonctionnelle, les équipes de logiciels applicatifs et la gestion des produits

Exigences

  • Diplôme de licence ou de master en génie électrique ou électronique, génie informatique, mécatronique, informatique ou domaine connexe, ou expérience démontrée équivalente
  • Au moins 10 ans d’expérience professionnelle en développement de logiciels embarqués
  • Au moins 2 ans d’expérience en développement de firmware de production sur des microcontrôleurs 32 bits
  • Maîtrise experte du C embarqué et bonne pratique du C++
  • Expérience de la programmation en virgule fixe, avec des ressources limitées et sur des bases de code interdisant l’allocation dynamique de mémoire
  • Expérience du développement bare-metal ou RTOS, notamment de la gestion des interruptions, de la conception des priorités, de l’ordonnancement, des tâches cycliques, de l’analyse de la temporisation et de la latence et des systèmes multicœurs
  • Capacité à interpréter des schémas hardware, des fiches techniques de MCU et des manuels de référence afin de configurer les périphériques, les pilotes et les E/S
  • Expérience pratique de CAN 2.0A/B et de J1939 ou d’un protocole de couche supérieure comparable
  • Expérience dans la définition et la maintenance d’ensembles de messages et de bases de données de signaux
  • Expérience dans l’analyse de bus et le dépannage des défauts avec des outils CAN standard
  • Expérience pratique de l’utilisation de sondes de débogage, d’oscilloscopes, d’analyseurs logiques et d’enregistreurs de bus
  • Expérience du respect de normes de codage obligatoires telles que MISRA et de l’utilisation de l’analyse statique
  • Aisance avec les environnements de développement Linux, les workflows Git, la revue de code et les pipelines CI/CD
  • Expérience des réseaux TCP/IP et de la connectivité d’appareils Linux embarqués vers le cloud sur des processeurs basés sur Arm
  • Souhaitée : expérience des microcontrôleurs multicœurs de qualité automobile et des plateformes d’ECU certifiées pour la sécurité commerciale
  • Souhaitée : expérience des environnements de compilation conteneurisés et des runners CI autohébergés
  • Souhaitée : expérience de la maintenance de BSP et de couches Yocto ou Buildroot, ainsi que de la configuration du noyau et de l’arbre des périphériques
  • Souhaitée : expérience des outils de gestion des exigences et de Jira, Confluence ou plateformes équivalentes
  • Souhaitée : expérience de la production d’exigences formelles et traçables et de documents de contrôle des interfaces
  • Souhaitée : expérience de Python et des scripts shell pour l’automatisation des tests, les outils et l’analyse des données
  • Capacité à soumettre un CV et une lettre de motivation

Avantages

  • Travail entièrement à distance
  • Les déplacements devraient représenter 10 % ou moins
  • Possibilités d’évolution et d’apprentissage continu
  • Environnement de travail diversifié et garantissant l’égalité des chances