GetPro

ML Engineer (Machine Learning Engineer)

Le ML Engineer conçoit, entraîne et intègre des modèles de machine learning dans les logiciels utilisés par les clients ou les équipes de l’entreprise.

Rédigé par Romain PichouPublié le Mis à jour le

Définition et périmètre

Le Machine Learning Engineer (ML Engineer), ou ingénieur machine learning, est un spécialiste du développement logiciel et de l’apprentissage automatique. Il conçoit, entraîne et adapte des modèles pour les rendre utilisables dans des produits et services. Son travail relie le comportement du modèle au fonctionnement du logiciel qui en exploite les résultats.

Il sélectionne les données nécessaires, choisit une approche adaptée au problème et évalue les performances obtenues. Il développe aussi le code qui permet de reproduire les traitements et collabore à l’intégration du modèle dans les systèmes existants. Le poste associe donc des décisions de modélisation à des exigences de conception, de test et de documentation logicielle.

ML Engineer, Data Scientist et Data Engineer : qui fait quoi ?

  • Avec le Data Scientist, clarifiez la répartition de l’expérimentation, du choix des modèles et de leur transformation en composants logiciels utilisables.
  • Avec le Data Engineer, délimitez les travaux sur les flux de données et la préparation des jeux nécessaires à l’entraînement.
  • Avec le MLOps Engineer, précisez les responsabilités liées à la plateforme, au déploiement et au suivi en exploitation.

Ces interfaces peuvent se recouvrir selon l’organisation. La présence de compétences voisines dans un poste ne rend pas les métiers interchangeables et ne confie pas automatiquement toute la plateforme au ML Engineer. Cette fiche couvre l’ingénierie logicielle spécialisée en machine learning. Elle ne décrit pas un poste de recherche ni un rôle consacré à l’exploitation des grands modèles de langage.

Enjeux du recrutement

L’enjeu est de transformer un modèle entraîné en une fonction dont le comportement répond aux attentes de l’entreprise. La qualité du modèle doit être évaluée au regard du problème à résoudre. Son intégration demande également du code maintenable, des tests et une coordination avec les personnes responsables du système existant.

Avant de recruter, précisez les résultats que l’application doit produire et les critères qui permettront de les juger. Un candidat capable d’améliorer une métrique doit aussi pouvoir expliquer ce que cette amélioration apporte à l’usage prévu. À l’inverse, une solide expérience logicielle ne renseigne pas, à elle seule, sur sa capacité à choisir et à évaluer un modèle.

Exemple fictif : une équipe dispose d’un modèle scikit-learn dont les résultats expérimentaux répondent à son objectif. Des différences entre les versions des dépendances utilisées à l’entraînement et en production peuvent toutefois provoquer des erreurs ou des comportements inattendus. Avant d’intégrer le modèle à une application, l’équipe doit donc retrouver les versions utilisées et vérifier son fonctionnement dans l’environnement prévu. Confier uniquement une nouvelle phase d’entraînement à la personne recrutée laisserait cette difficulté d’intégration sans responsable désigné.

Salaires 2025-2026

Niveau et expérienceFixe annuel brut
Junior0-2 ans45–60 k€
Confirmé2-5 ans60–80 k€
Senior5-8 ans72–95 k€
Lead / Staff8+ ans95–130 k€

Fourchettes marché parisien, 2025-2026.

Hors Île-de-France, compter 10 à 20 % de moins.

Missions clés

  • Traduire le besoin métier en objectif de modélisation et en critères d’évaluation avec les interlocuteurs concernés.
  • Sélectionner et préparer les données nécessaires à l’entraînement du modèle.
  • Concevoir, entraîner ou adapter un modèle en fonction du problème et des données disponibles.
  • Évaluer les résultats du modèle au regard des performances attendues.
  • Développer un code réutilisable, testé et documenté pour les traitements liés au modèle.
  • Collaborer à l’intégration du modèle dans les systèmes existants.
  • Participer au suivi, au réentraînement et à l’amélioration des modèles avec les équipes responsables.

Compétences

Compétences techniques

  • Développement logiciel : concevoir, coder, tester et documenter des programmes conformes aux contraintes du système.
  • Préparation des données : sélectionner et traiter les jeux utiles à l’objectif d’apprentissage.
  • Mathématiques et statistiques appliquées : relier les caractéristiques des données aux méthodes d’analyse pertinentes.
  • Modélisation : choisir une approche d’apprentissage, entraîner un modèle et ajuster un modèle existant.
  • Évaluation : interpréter les métriques et apprécier les résultats par rapport aux performances attendues.
  • Intégration logicielle : raccorder le modèle à un système existant en collaboration avec ses responsables.

Qualités attendues

  • Écoute : comprendre les attentes des interlocuteurs métier et techniques pour préciser le problème à résoudre.
  • Clarté : expliquer les choix de modèle et leurs limites à des personnes qui ne partagent pas la même expertise.
  • Collaboration : coordonner les travaux sur le modèle avec ceux des spécialistes des données et du logiciel.
  • Gestion des attentes : distinguer les résultats établis des points qui demandent encore une évaluation.

Stack courante

Selon le contexte, sans stack obligatoireDéveloppement et interrogation des données : Python, SQL.Entraînement et adaptation de réseaux : Keras, TensorFlow.Sauvegarde de modèles : fonctions de persistance de scikit-learn.Environnement de production : Docker, cité dans la documentation scikit-learn pour figer les dépendances.

Parcours et formation

Les diplômes d’ingénieur et les masters en informatique spécialisés en intelligence artificielle figurent parmi les voies présentées par l’Onisep. Ils donnent un cadre pour examiner les acquis du candidat, sans constituer une obligation de recrutement ni une garantie d’autonomie sur un système en production.

Les acquis logiciels utiles comprennent la conception de programmes, la structuration de code réutilisable et les tests. En mathématiques, les statistiques appliquées permettent de relier les caractéristiques des données à la méthode d’apprentissage et à l’objectif poursuivi. Le choix du modèle et l’interprétation des métriques mobilisent des connaissances distinctes de la maîtrise d’une bibliothèque.

Des cours spécialisés et des travaux pratiques peuvent compléter le parcours. Google propose notamment des cours et des laboratoires de préparation à sa certification. Une certification ne remplace toutefois pas l’examen d’une réalisation logicielle et ne suffit pas à établir la capacité à programmer.

Recruter ce profil

Quand recruter

Le besoin devient concret lorsqu’un modèle doit être entraîné, adapté ou intégré à un logiciel et que ces travaux nécessitent une responsabilité identifiée. Décrivez d’abord la fonction attendue dans le produit, les données accessibles et le logiciel qui doit exploiter les résultats du modèle. Vous disposerez ainsi d’un objectif de poste plus précis que « développer l’IA ».

Si le projet est encore exploratoire, clarifiez les questions à résoudre avant de définir le recrutement. Cherchez-vous à examiner la pertinence d’une approche, à réaliser le modèle ou à préparer son utilisation dans une application ? Répartissez les travaux avec les spécialistes déjà présents. Cette clarification aide à déterminer la place du ML Engineer et la collaboration attendue avec la data science.

Quand un premier modèle existe, examinez ce qui reste à faire : adapter son entraînement, évaluer ses résultats, produire du code réutilisable ou travailler à l’intégration. Précisez également qui assurera le suivi et les décisions de réentraînement. Pour une personne qui aura besoin d’accompagnement, nommez l’interlocuteur capable de revoir ses choix techniques.

Si la difficulté principale concerne les flux de données, examinez plutôt le besoin d’un Data Engineer. Si elle porte sur la plateforme et l’exploitation ML, clarifiez la contribution attendue d’un MLOps Engineer. Un poste ne doit pas absorber ces responsabilités par défaut.

Le critère de décision est la continuité des travaux de modélisation et d’ingénierie logicielle à prendre en charge. Si vous devez d’abord éclaircir une difficulté technique circonscrite, envisagez l’intervention ponctuelle d’un expert pour définir les travaux nécessaires avant de dimensionner un poste.

Progression de carrière

Une évolution technique peut élargir la responsabilité du ML Engineer aux modèles les plus complexes, aux standards logiciels et à la coordination du passage en production. Le référentiel britannique décrit ainsi un rôle lead qui définit des façons de travailler et identifie les besoins de formation des ingénieurs et des métiers associés.

Ce type de progression associe expertise et accompagnement des équipes. Il ne prouve pas, à lui seul, l’exercice d’un management hiérarchique. Si vous préparez une évolution vers l’encadrement, distinguez explicitement la responsabilité technique des décisions concernant les personnes.

Pour un parcours orienté vers l’expertise, précisez les décisions de conception et les difficultés d’intégration confiées à l’ingénieur. Pour une responsabilité plus collective, définissez les travaux à coordonner et les collègues à accompagner. Ces évolutions dépendent des besoins de l’organisation et ne constituent ni une promotion automatique ni un calendrier de carrière.

Comment évaluer ce profil

GetPro structure l’évaluation à partir d’une grille de critères priorisés. Cette méthode distingue les éléments vérifiables dans le parcours de ceux à approfondir en entretien, avec une modalité d’évaluation pour chaque critère. Les questions ouvertes appellent des exemples concrets. La prise de références permet de recouper les responsabilités exercées et les compétences examinées.

Les applications au métier de ML Engineer proposées ci-dessous sont des conseils à adapter au poste et à l’expertise disponible dans votre équipe. Elles ne décrivent pas un protocole spécifique pratiqué par GetPro.

1. Définir les critères et les évaluateurs

Construisez une grille autour du choix des données, de la modélisation, de la qualité logicielle et de l’intégration. Pour chaque critère, précisez les décisions attendues en autonomie et celles qui bénéficieront d’un appui.

Associez un interlocuteur métier à l’examen du besoin et un spécialiste ML à l’analyse technique. Si cette expertise manque dans votre entreprise, sollicitez un expert capable d’examiner le code et les choix de modèle.

Approfondissez les réponses qui citent des outils sans expliquer leur utilité face aux contraintes du poste.

2. Examiner une réalisation passée

Choisissez avec le candidat un projet dont il peut décrire précisément sa contribution. Demandez-lui de présenter l’objectif, les données utilisées, les essais effectués et les résultats évalués.

Examinez le passage du modèle au logiciel : code réutilisable, tests, documentation et collaboration avec les responsables du système. Distinguez sa contribution de ce qui était déjà disponible. Invitez-le à expliquer les limites du résultat et les difficultés rencontrées.

3. Proposer un cas proche du poste

Préparez un exercice limité aux décisions réellement attendues. Fournissez les informations nécessaires et précisez les points qui demandent une explication plutôt qu’une réalisation complète.

Exemple fictif : vous présentez un modèle existant et une application à laquelle l’intégrer. Demandez au candidat de préciser les données à examiner, les évaluations nécessaires et les éléments logiciels à tester.

Invitez-le à justifier le choix de conserver, d’adapter ou de réentraîner le modèle. Évaluez la cohérence du raisonnement et sa capacité à identifier les informations manquantes. Une conclusion définitive sans examen des données disponibles ou des performances attendues mérite d’être approfondie.

4. Observer la communication et la coordination

Demandez au candidat d’expliquer un choix technique à l’interlocuteur métier. Observez s’il rend compréhensibles ses conséquences et les limites de l’évaluation.

Explorez la répartition des travaux avec les autres spécialistes, notamment lorsqu’une responsabilité d’intégration ou de réentraînement est partagée.

Pour un rôle lead, examinez une situation de coordination technique ou d’accompagnement d’autres ingénieurs. Si le poste comprend un encadrement hiérarchique, évaluez séparément cette responsabilité.

5. Recouper les responsabilités exercées

Avec l’accord du candidat, demandez à un ancien interlocuteur de préciser sa contribution, les décisions prises et la collaboration observée. Appuyez l’échange sur les responsabilités du futur poste et demandez des exemples concrets.

Comparez ces éléments au récit du projet et aux observations de l’exercice. Examinez les écarts avant de conclure. Distinguez un manque d’exposition à une situation d’une difficulté à l’expliquer.

Rassemblez les observations par critère en précisant les points établis, les incertitudes et l’accompagnement nécessaire.

Questions fréquentes

Faut-il entraîner un modèle à partir de zéro pour avoir besoin d’un machine learning engineer ?

Non. Adapter, optimiser ou réentraîner un modèle existant fait aussi partie des possibilités du métier. L’apprentissage par transfert décrit dans Keras illustre la réutilisation de réseaux déjà entraînés. Avant de choisir cette voie, examinez l’adéquation du modèle au problème et aux données disponibles. Le besoin peut porter sur cette adaptation et sur l’intégration logicielle qui suivra.

Comment apprécier les réalisations d’un candidat lorsque son code est confidentiel ?

Proposez un récit technique anonymisé ou un exercice adapté, sans demander les fichiers confidentiels. Invitez le candidat à expliquer le problème, les choix de modèle, les tests et sa contribution personnelle. Vous pouvez lui demander de reconstruire un schéma de fonctionnement simplifié. Ces éléments donnent matière à apprécier son raisonnement sans exiger la divulgation du travail d’un employeur.

Une expérience en ML dans un autre secteur est-elle pertinente pour le poste ?

Elle mérite d’être examinée, sans supposer que le transfert sera automatique. Distinguez les capacités de développement et de modélisation de la connaissance des données et des objectifs propres à votre activité. Demandez au candidat quelles informations il rechercherait avant de choisir une méthode. Sa façon d’identifier les particularités du nouveau problème aide à apprécier l’accompagnement nécessaire.

Que faut-il clarifier avant de confier la reprise d’un modèle développé par un prestataire ?

Clarifiez les éléments disponibles et les responsabilités après la transmission. Pour un modèle scikit-learn, la documentation recommande de conserver les données d’entraînement, le code Python, les versions des dépendances et les scores de validation croisée. Utilisez ces points pour préparer l’examen technique du modèle à reprendre. Leur disponibilité ne garantit pas, à elle seule, la reprise de tout modèle.

Comment lire la rémunération d’un ML Engineer dans cette fiche ?

La grille présente des fourchettes de fixe annuel brut en euros pour le marché français, avec un ancrage parisien, sur la période 2025-2026. Elle ne renseigne pas de fourchettes de package. Pour comparer une proposition, distinguez le fixe des autres éléments de rémunération et rapprochez le niveau affiché des responsabilités effectivement confiées. Les repères d’expérience ne suffisent pas à établir l’autonomie technique.

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.