GetPro

Ingénieur informatique embarquée

L’ingénieur informatique embarquée conçoit, développe et valide le logiciel d’un équipement, en lien avec les équipes matériel et les contraintes du produit.

Rédigé par Romain PichouPublié le

Définition et périmètre

L’ingénieur informatique embarquée conçoit, développe, intègre et maintient le logiciel qui fait fonctionner un équipement. Il traduit les fonctions attendues du produit en spécifications et en code, puis confronte ce code au matériel. Son travail tient compte de l’architecture du processeur, des interfaces électroniques et des performances attendues, notamment des délais de réponse et de la consommation d’énergie.

Les intitulés ingénieur logiciel embarqué et ingénieur développement embarqué peuvent désigner ce travail. Ingénieur firmware peut désigner un besoin plus proche du matériel. Les frontières varient selon les entreprises : un intitulé ne suffit donc pas à déterminer les responsabilités. Dans l’exemple automobile de Silicon Mobility, le logiciel bas niveau comprend notamment des pilotes et des BSP, les composants logiciels qui prennent en charge une carte matérielle.

Cette fiche couvre le logiciel et son intégration informatique. Elle exclut le développement d’applications mobiles et la seule conception électronique. Comprendre les caractéristiques d’une carte et dialoguer avec ses concepteurs font partie du besoin logiciel. Concevoir l’ensemble de cette carte ajoute des responsabilités qu’il faut expliciter séparément.

Ingénieur informatique embarquée, ingénieur électronique et architecte embarqué : qui fait quoi ?

  • L’ingénieur informatique embarquée réalise les fonctions logicielles, participe à leur intégration et explique les résultats des essais.
  • L’ingénieur électronique intervient sur le matériel. Précisez avec lui les interfaces que le logiciel doit utiliser et les caractéristiques utiles au développement.
  • L’architecte embarqué intervient sur les choix d’architecture. Clarifiez les décisions qui lui appartiennent et celles que le développeur peut prendre dans le cadre retenu.

Architecture, programmation, intégration et validation peuvent être réunies ou réparties entre plusieurs postes. Le rôle travaille avec les équipes matériel et les autres spécialistes techniques. Pour cadrer son rattachement, identifiez le responsable des choix logiciels, celui qui accepte les résultats de validation et les interlocuteurs disponibles lors de la mise au point. Cette répartition compte davantage qu’une équivalence supposée entre intitulés.

Enjeux du recrutement

Le recrutement engage la capacité à faire fonctionner le logiciel dans les conditions prévues pour le produit. Une réalisation convaincante sur ordinateur ne suffit pas à établir son comportement sur l’équipement. L’intégration et les essais sur matériel réel font partie du travail, avec des bancs et des procédures qui dépendent du produit.

Commencez par préciser ce que le logiciel doit réussir : fonctions attendues, délais de réponse et consommation d’énergie à examiner. Décrivez aussi le matériel disponible. Ces informations permettent de distinguer une compétence de programmation d’une capacité à concevoir et mettre au point un logiciel embarqué dans votre environnement.

Le temps réel mérite un cadrage précis. Une contrainte temps réel fixe une échéance. Le caractère souple ou strict dépend des conséquences d’un dépassement. Tous les équipements embarqués ne relèvent donc pas du temps réel strict. Pour recruter, indiquez les événements auxquels le système doit répondre et ce qui arrive lorsqu’une réponse est tardive.

Exemple fictif : une équipe développe un équipement de mesure dont le logiciel doit acquérir des données et les communiquer. Elle recherche un ingénieur capable d’expliquer les interfaces matérielles et de mesurer le comportement sur la cible. Si elle évalue uniquement la qualité d’un exercice de programmation généraliste, elle laisse sans réponse la question de l’intégration au produit.

Un autre risque consiste à réunir plusieurs responsabilités sans prévoir les interlocuteurs correspondants. Demander à la même personne de définir l’architecture, développer et valider exige de clarifier les décisions qu’elle prendra seule et les revues auxquelles elle participera. Précisez également qui traite les anomalies et les évolutions après la livraison.

Enfin, adaptez les attentes de qualité et de validation au produit. Tests, analyse statique et vérification formelle peuvent contribuer à la validation selon la criticité. Une pratique sectorielle ou une certification éventuelle ne devient pas une obligation générale. Définissez les résultats à produire avant de multiplier les technologies et les exigences dans l’annonce.

Salaires 2026

Niveau et expérienceFixe annuel brut
Junior0–2 ans38–45 k€
Confirmé3–5 ans45–55 k€
Senior6 ans et plus55–70 k€

Fourchettes marché parisien, 2026.

Repères indicatifs estimés pour 2026, en fixe brut annuel à Paris et en Île-de-France, hors variable et capital. Les plages d’expérience sont indicatives et désignent l’expérience professionnelle pertinente. À ajuster au périmètre du poste, à l’autonomie et à la localisation.

Missions clés

  • Analyser les besoins du produit pour formaliser les exigences fonctionnelles et techniques du logiciel embarqué.
  • Concevoir la solution logicielle en tenant compte de l’architecture matérielle et des performances attendues.
  • Développer les fonctions embarquées dans les langages adaptés au produit.
  • Définir les interfaces logicielles avec les spécialistes du matériel.
  • Intégrer le logiciel sur l’équipement avec les autres équipes techniques.
  • Concevoir et réaliser les essais de mise au point et de validation.
  • Diagnostiquer les anomalies et optimiser l’exécution du logiciel.
  • Documenter les choix techniques et les résultats des tests pour les développements ultérieurs.
  • Assurer les corrections et les évolutions du logiciel embarqué.

Compétences

Compétences techniques

  • Architecture embarquée : comprendre processeurs, microcontrôleurs et interfaces pour concevoir un logiciel compatible avec le matériel.
  • Programmation embarquée : implémenter les fonctions du produit dans un langage adapté, par exemple C ou C++, sans exigence universelle de langage.
  • Temps réel : relier une échéance aux conséquences de son dépassement et aux choix de conception.
  • Développement sous RTOS, selon le poste : organiser les priorités des tâches, leurs échanges, leur synchronisation et le traitement des interruptions.
  • Diagnostic sur cible : déboguer le logiciel et expliquer les observations qui conduisent à une correction.
  • Optimisation : analyser l’exécution, les délais de réponse et la consommation d’énergie pour identifier des améliorations.
  • Validation : définir des scénarios de tests, interpréter leurs résultats et documenter les écarts aux exigences.

Qualités attendues

  • Rigueur : distinguer les résultats mesurés des hypothèses et conserver une trace des choix techniques.
  • Esprit d’analyse : décomposer une anomalie et expliquer les étapes du diagnostic.
  • Coopération : partager les informations utiles avec les spécialistes du matériel et de la validation.
  • Pédagogie : expliquer un choix logiciel et transmettre les connaissances nécessaires à sa reprise.
  • Autonomie : identifier les décisions possibles seul et les questions à soumettre aux autres spécialistes.

Stack courante

Selon le contexte, sans stack obligatoireLangages : C/C++, Rust pour la navigation chez Exail.Exécution : Linux embarqué, RTOS ou fonctionnement sans système d’exploitation, dit bare metal.Construction logicielle : Petalinux/Yocto chez Safran, Buildroot, compilation croisée et Meson chez ELWAVE.Interfaces : Ethernet, RS et CAN chez Safran, SPI et UART pour les capteurs ELWAVE.Tests et automatisation : GitLab CI/CD, Catch2 et Google Test dans l’exemple ELWAVE.Diagnostic sur cible : sonde JTAG et débogueur Lauterbach dans l’exemple Silicon Mobility.

Parcours et formation

Les masters et diplômes d’ingénieur en informatique embarquée, informatique industrielle, électronique ou domaines proches constituent des parcours documentés. Ils indiquent un cadre d’apprentissage, sans établir à eux seuls la préparation à votre poste. N’en faites pas une condition universelle si le travail peut être démontré autrement.

Examinez les acquis utiles à votre produit : compréhension du matériel, conception logicielle, programmation, mise au point et validation. Un projet qui associe un capteur, un microcontrôleur et un traitement logiciel permet d’aborder plusieurs de ces dimensions. Demandez au candidat de distinguer ce qu’il a conçu, ce qu’il a réutilisé et ce qui a été réalisé par ses partenaires.

Le parcours EIDD fournit un exemple de formation qui évalue des projets embarqués, des rapports, des présentations et des stages. Ces réalisations peuvent éclairer les acquis. Elles ne valent pas automatiquement expérience d’un développement autonome en entreprise. Un rapport devient utile lorsqu’il permet de comprendre les exigences initiales, les choix effectués et les résultats obtenus.

Pour un débutant, recherchez une réalisation qu’il sait expliquer et précisez les revues techniques ainsi que l’accompagnement disponibles. Pour un ingénieur autonome, examinez les responsabilités déjà exercées : choix logiciels, intégration sur cible, diagnostic et correction des anomalies. Pour un référent, ajoutez la coordination technique, les revues et l’accompagnement d’autres ingénieurs.

La pertinence d’un parcours dépend enfin de l’environnement du poste. Une expérience Linux embarqué ne démontre pas à elle seule la maîtrise des priorités, de la synchronisation et des interruptions sous RTOS. Décrivez les apprentissages nécessaires et les compétences déjà indispensables plutôt que d’attribuer un niveau à partir d’un nombre d’années.

Recruter ce profil

Quand recruter

Recrutez ce profil lorsque le produit nécessite une responsabilité identifiée pour concevoir, développer ou maintenir son logiciel embarqué. Le besoin devient plus précis quand vous pouvez nommer les fonctions à réaliser, l’équipement concerné et les résultats attendus sur cible. Évitez de partir d’un intitulé avant d’avoir décrit ce travail.

Lors d’un nouveau développement, définissez la contribution attendue à l’architecture et aux spécifications. Précisez ce qui est déjà décidé, les interfaces à construire avec le matériel et les validations à préparer. Si vous attendez surtout un développement dans une architecture existante, décrivez les fonctions et les décisions que le nouvel ingénieur pourra prendre.

Sur un produit existant, partez des corrections et des évolutions à assurer. Indiquez les informations disponibles sur le logiciel, les équipements accessibles pour reproduire les anomalies et les interlocuteurs qui connaissent les choix précédents. Distinguez une responsabilité durable de maintenance d’un diagnostic ponctuel.

Le bon niveau d’autonomie dépend de cette répartition. Avant de confier architecture, programmation, intégration et validation à une personne, identifiez les spécialistes qui pourront participer aux revues et traiter les questions matérielles. Pour un poste RTOS, précisez les exigences temporelles. Pour un besoin proche du matériel, indiquez si les pilotes et le support logiciel de la carte font partie du travail.

Le critère de décision est la responsabilité logicielle à couvrir dans la durée. Si le besoin porte principalement sur la conception de la carte, recherchez le profil électronique correspondant. Si une équipe assure déjà le développement et rencontre une difficulté technique circonscrite, envisagez un expert ponctuel en complément de cette équipe.

Progression de carrière

L’ingénieur peut élargir ses responsabilités vers l’architecture logicielle, la coordination technique ou la conduite d’un projet embarqué. Ces évolutions dépendent du travail confié et de l’organisation. Elles ne constituent pas des étapes obligatoires.

Un rôle de référent technique peut réunir définition d’architecture, revues de code et de tests, coordination des développements et accompagnement d’ingénieurs débutants. Le poste décrit par Silicon Mobility illustre ce type d’élargissement dans le logiciel bas niveau automobile. L’encadrement d’équipes sur certains projets apparaît aussi dans le périmètre présenté par l’Onisep.

Pour préparer une mobilité, distinguez les décisions techniques à prendre des responsabilités d’encadrement. Un ingénieur qui veut approfondir son expertise peut privilégier un travail spécialisé sur le firmware, l’intégration ou la validation. Celui qui souhaite coordonner un projet doit pouvoir expliquer comment il organise les interventions et partage les décisions avec les autres spécialistes.

Comment évaluer ce profil

Pour évaluer ce profil, vous pouvez adapter les étapes suivantes au produit, au matériel disponible et aux responsabilités réellement confiées.

1. Définir les critères avant les entretiens

Décrivez les fonctions logicielles attendues, la cible matérielle et les contraintes de réponse. Précisez l’environnement d’exécution : Linux embarqué, RTOS ou fonctionnement sans système d’exploitation. Séparez les compétences nécessaires dès l’arrivée de celles qui peuvent être acquises avec l’équipe.

Construisez une grille autour de la conception, de la programmation, du diagnostic et de la validation. Ajoutez l’autonomie attendue pour chaque activité. Identifiez les décisions à soumettre à l’architecte ou à l’équipe électronique.

Un signal favorable est une expérience que le candidat relie aux exigences du poste. Une liste d’outils sans explication des fonctions réalisées appelle un approfondissement.

2. Examiner une réalisation passée

Demandez au candidat de présenter un développement embarqué et sa contribution personnelle. Faites préciser les exigences, les interfaces matérielles, les choix logiciels et les essais réalisés. Acceptez une explication anonymisée lorsque les documents ne peuvent pas être partagés.

Approfondissez un incident : quelles observations ont déclenché le diagnostic, quelles hypothèses ont été testées et comment la correction a-t-elle été validée ? Recherchez une distinction claire entre faits mesurés et interprétations.

Pour un poste RTOS, demandez comment les tâches échangeaient des données, comment leurs priorités étaient définies et comment les interruptions étaient traitées. Une réponse pertinente explique les contraintes du système précédent et les limites de transposition au vôtre.

3. Proposer un cas proche du travail attendu

Choisissez un exercice dont les informations et le matériel permettent une réponse raisonnable. Évaluez la démarche autant que le code. Si la cible est absente, précisez les conclusions qui resteront à vérifier sur équipement.

Exemple fictif : un logiciel de mesure transmet parfois une donnée après l’échéance attendue. Fournissez une description des tâches, des interfaces et quelques observations. Demandez au candidat de proposer un diagnostic et les mesures nécessaires pour départager ses hypothèses.

Recherchez des questions sur les exigences et les conditions d’essai. Une alerte est une correction immédiate sans recherche de cause ni vérification prévue. Évitez de transformer le cas en test de connaissance d’un outil sans lien avec votre produit.

4. Examiner la stratégie de validation

Demandez quels tests couvriraient les fonctions attendues et comment leurs résultats seraient documentés. Faites distinguer simulation, prototype et essais sur matériel réel. Ces supports ne démontrent pas le même fonctionnement.

Adaptez les questions à la criticité du produit. La validation peut associer tests, analyse statique et vérification formelle. Demandez au candidat de justifier les méthodes qu’il connaît et leur apport dans le contexte présenté.

Un signal favorable est une conclusion reliée à une exigence et à un résultat observable. Une alerte est l’affirmation que tout est validé sans préciser les conditions ni les limites des essais.

5. Évaluer la coopération et confirmer les responsabilités

Organisez un échange avec un interlocuteur matériel ou validation. Demandez au candidat d’expliquer une difficulté et les informations dont il aurait besoin. Observez s’il rend son raisonnement compréhensible et identifie les décisions à partager.

Si le poste comprend de la coordination, approfondissez les revues, l’organisation des travaux et l’accompagnement de juniors. Avec l’accord du candidat, demandez des références centrées sur sa contribution et son autonomie.

Si votre entreprise manque d’expertise embarquée, faites examiner les réalisations et le cas par un spécialiste du domaine concerné. Conservez côté dirigeant ou RH l’évaluation du besoin, de la communication et des responsabilités à confier.

Questions fréquentes

Une expérience en développement logiciel suffit-elle pour devenir ingénieur informatique embarquée ?

Elle apporte des acquis à examiner, mais ne démontre pas à elle seule la capacité à travailler sur équipement. Demandez une réalisation qui montre comment le candidat prend en compte le processeur, les interfaces matérielles et les essais sur cible. Si cette expérience manque, précisez l’accompagnement disponible et les responsabilités qu’il pourra exercer avant de travailler de façon autonome.

Faut-il chercher un spécialiste du firmware ou un profil plus polyvalent ?

Partez du travail à confier. Si le besoin concerne les pilotes et le support logiciel d’une carte, recherchez des réalisations proches de ce niveau matériel. Si le poste couvre plusieurs fonctions du produit, décrivez aussi les responsabilités de conception, d’intégration et de validation. L’intitulé firmware ne définit pas partout le même poste. Précisez les activités déjà prises en charge par les autres membres de l’équipe.

Peut-on recruter ce profil avant que le matériel soit finalisé ?

Vous pouvez envisager ce calendrier si vous distinguez le travail préparatoire des validations qui demanderont la cible. Décrivez les spécifications disponibles, les interfaces encore ouvertes et les possibilités de simulation ou de prototypage. Les essais sur équipement restent une activité distincte. Ne présentez pas un résultat obtenu en simulation comme une démonstration générale du comportement sur le futur matériel.

Que signifie une expérience du temps réel pour le poste à pourvoir ?

Elle doit correspondre aux échéances de votre système et aux conséquences de leur dépassement. Demandez quelles contraintes le candidat a déjà traitées et comment il a vérifié les délais de réponse. Pour un poste sous RTOS, approfondissez les priorités des tâches, leurs échanges et le traitement des interruptions. La mention « temps réel » dans un CV ne suffit pas à établir cette correspondance.

Quels éléments préparer avant de lancer le recrutement ?

Réunissez une description des fonctions logicielles, du matériel et de l’environnement d’exécution. Précisez les exigences temporelles, les validations attendues et les équipements disponibles pour les essais. Ajoutez une répartition des décisions entre logiciel, électronique et architecture. Ces éléments permettent de comparer les expériences des candidats au travail réel, plutôt qu’à une longue liste de technologies.

Sources et méthode

Fiches métiers liées

À propos de l’auteur

Romain Pichou

Romain Pichou a cofondé GetPro en 2015 avec Émile Pennes. Diplômé de l'ESCP Business School, il a débuté sa carrière dans des entreprises technologiques en forte croissance (Winamax, Betclic, Lucca où il dirigeait les ventes de la suite SaaS RH, puis ContentSquare).

Chez GetPro, il est l'associé référent des recrutements Tech, IA et Produit : CTO, VP Engineering, Head of Data, direction produit. Il intervient sur les mandats de direction technique, du cadrage du besoin à l'évaluation des candidats.