Dans les métiers du domaine de la Data, deux rôles clés ressortent : Data Engineer et Data scientist. Ces deux fonctions sont souvent confondues car elles font partie du même domaine d’activité et collaborent étroitement. Au sein de certaines entreprises, elles sont parfois remplies par une même personne jouant un rôle transverse. Cependant, elles réalisent des missions distinctes, bien que complémentaires.
Nous allons voir comment à eux deux, ces rôles permettent d’avoir une chaîne data complète pour réaliser la collecte, la préparation, l’analyse des données puis l’industrialisation et le monitoring d’un modèle.
Deux métiers, des talents complémentaires
Le rôle du Data Engineer : bâtisseur de l'infrastructure data
Le Data Engineer a pour rôle de créer et maintenir des pipelines qui fiabilisent le traitement des flux de données. Il s’agit d’une suite d’étapes automatisées permettant de :
- Réaliser l’ingestion, la transformation et le nettoyage des données. Les pipelines ETL (Extract – Transform – Load) ou ELT sont l’une des approches les plus courantes pour organiser ces traitements,
- Gérer le stockage et l’organisation des données dans des environnements adaptés (data lake, data warehouse, bases de données),
- Structurer et préparer les données pour l’entraînement et le déploiement d’un modèle,
- Alimenter les processus nécessaires à l’exécution du modèle en production.
Ces pipelines assurent la reproductibilité et la scalabilité des traitements lors du passage d’un POC à la mise en production du modèle.
Le Data Engineer doit également :
- Optimiser la performance, en parallélisant les traitements pour réduire les temps d’exécution et les coûts, notamment dans les environnements Cloud.
- Maintenir la qualité, la fiabilité et la disponibilité des données, en mettant en place du monitoring et des mécanismes de reprise d’activité.
- Gérer l’architecture des pipelines et des systèmes de données, afin qu’elle soit adaptée aux besoins et fonctionnelle dans un contexte opérationnel.
Le travail du Data Engineer est essentiel pour le Data Scientist : sans lui, l’accès aux données, leur nettoyage et leur prétraitement seraient très chronophages, et la mise en production beaucoup plus complexe.
Le rôle du Data Scientist : explorateur & révélateur de sens
Le Data Scientist explore les données à la recherche d’insights, de tendances qui permettraient de donner du sens aux données et en extraire de la valeur.
En combinant ses compétences en statistiques et machine learning – et plus récemment en IA générative, il construit des modèles à partir d’une forte volumétrie de données pour répondre aux besoins des entreprises.
Pour se faire, il réalise les actions suivantes :
- Préparation et exploration les données,
- Entraînement de modèles : expérimentations itératives avec différents types de modèles, hyperparamètres et variables.
- Évaluation de la performance : test sur les données de validation pour sélectionner le meilleur modèle, en se basant sur des métriques.
Une fois le modèle entraîné et mis en production, les résultats qu’il produit doivent être interprétables et exploitables par le métier. Il faut donc que la sortie du modèle ait du sens pour le cas d’usage auquel il répond.
Sans Data Scientist, le travail du Data Engineer perdrait une partie de son sens car les données préparées ne seraient pas exploitées pour créer de la valeur.
Zones de recouvrement et chauvements
Certaines tâches réalisées par le Data Engineer et le Data Scientist se recoupent. Par exemple, comme évoqué précédemment, une de leur responsabilité commune est le prétraitement des données (nettoyage, transformation).
En réalité, le Data Scientist définit les transformations et features pertinentes, tandis que le Data Engineer les implémente et les optimise de manière automatisée et scalable dans des pipelines.
Ils doivent donc grandement communiquer pour assurer la qualité des données qui vont être utilisées par le modèle.
Le chemin de bout en bout : du raw au modèle opérationnel
Le passage des données brutes à un modèle en production repose sur des étapes clés, menées conjointement par le Data Engineer et le Data Scientist.
Ingestion & ingestion continue
La première étape d’un projet data/IA est l’ingestion de données, souvent via des connecteurs qui permettent de collecter les données provenant de sources variées.
L’ingestion de données peut être effectuée par batch (ou lots), en streaming (temps réel) ou via une combinaison des deux.
Le connecteur, par exemple une API, va :
- S’authentifier auprès de la source de données
- Interroger la source à intervalles régulier (batch) ou écouter en continu (streaming)
- Transmettre les données au pipeline ou à l’espace de stockage (data lake, data warehouse…)
L’implémentation de pipelines d’entrée de données est à la main du Data Engineer. Le Data Scientist peut intervenir pour spécifier les données à récupérer.
Pépration & transformation
La phase de préparation et de transformation des données est d’abord effectuée par le Data Scientist, puis industrialisée par le Data Engineer au sein d’un pipeline.
Elle peut représenter jusqu’à 80 % du temps de travail du Data Scientist, qui doit :
- Normaliser les variables (centrage, réduction) afin de les ramener sur une même échelle
- Gérer les valeurs manquantes (suppression ou imputation) et identifier les doublons
- Nettoyer les données, en particulier les données textuelles (suppression de caractères spéciaux, espaces en trop, homgénéisation)
- Détecter et traiter les outliers
- Encoder les variables catégorielles pour les rendre interprétables par les algorithmes (one-hot encoding, ordinal encoding…)
- Créer de nouvelles variables à partir des données existantes ou de sources externes : il s’agit du feature engineering.
Créer de nouvelles variables à partir des données existantes ou de sources externes : il s’agit du feature engineering.
Modélisation & expérimentation
Cette étape est propre au Data Scientist. L’entraînement d’un modèle est un processus très itératif : le data scientist teste différents types de modèles, hyperparamètres et variables sur un jeu de données d’entraînement, souvent à l’aide de techniques comme la cross-validation pour éviter le surapprentissage.
Il évalue ensuite les modèles sur des données de validation – puis sur un jeu de test final – à l’aide de métriques adaptées. Cela lui permet de comparer les modèles et de sélectionner celui qui répond le mieux au besoin métier.
Le modèle choisi n’est pas forcément le plus performant : l’interprétabilité, la robustesse ou les contraintes opérationnelles peuvent également orienter le choix.
Déploiement & mise en production
Lors de cette étape, c’est le Data Engineer qui prend la main. Il choisit une infrastructure adaptée (serveur on-premise ou environnement Cloud) ainsi que le mode d’inférence le plus approprié selon le cas d’usage : exécution en batch via des jobs planifiés ou en temps réel via une API.
Pour lancer les jobs nécessaires, il utilise des orchestrateurs comme Airflow et Luigi. Ces outils permettent de planifier, chaîner et exécuter des tâches qui peuvent être dépendantes les unes des autres.
Le Data Scientist met à disposition du Data Engineer la bonne version du modèle à déployer, les scripts de prétraitement des données et les dépendances techniques (versions des librairies python).
Le Data Engineer se charge ensuite de packager le modèle dans un environnement reproductible (souvent à l’aide d’un conteneur Docker). Enfin, le modèle est déployé, généralement via un pipeline CI/CD.
Monitoring & feedback loops
Le monitoring est un rôle clé du Data Scientist : il s’agit de s’assurer régulièrement qu’il n’y a pas de dérive dans les prédictions du modèle et dans les données en entrée. En effet, les modèles ont tendance à être moins performant dans le temps. Le data scientist doit donc fixer des seuils et définir des actions à réaliser s’ils sont dépassés, comme le réentraînement du modèle.
Quant à lui, le Data Engineer met en place l’infrastructure permettant ce suivi. Cela va permettre de stocker les prédictions et les labels pour calculer des métriques. Il peut aussi implémenter des dashboards et automatiser le réentraînement du modèle via des pipelines.
Un feedback loop peut aussi être implémentée, pour que le modèle corrige ses erreurs grâce au retour du métier.
Les défis & tensions entre ingénierie et science des données
Différences de rythme & d'attentes
Le Data Scientist travaille en général selon un rythme exploratoire, où il passe beaucoup de temps à itérer et expérimenter. Il teste des hypothèses, compare des modèles et se focalise sur la qualité et la pertinence des prédictions.
Le Data Engineer, à l’inverse, évolue dans un rythme davantage orienté projet, avec des deadlines, des contraintes d’architecture et des exigences de production. Il privilégie la stabilité, la performance et la robustesse des solutions techniques qu’il met en place.
Problème de qualité des données & frustrations scientifiques
Si les pipelines de données ne sont pas suffisamment robustes, les jeux de données deviennent rapidement incomplets, incohérents ou mal formatés. Les modèles qui en dépendent se dégradent, créant une réelle frustration scientifique : au lieu d’expérimenter et de modéliser, les Data Scientists doivent consacrer une grande partie de leur temps à diagnostiquer et corriger ces problèmes de qualité.
Des valeurs manquantes, des champs mal renseignés ou des formats hétérogènes peuvent également générer des risques opérationnels une fois en production. Les pipelines implémentés par le Data Engineer sont donc essentiels pour garantir la fiabilité des données en amont.
Sur-ingénierie vs sous-optimisation
Le Data Engineer est confronté aux deux problématiques suivantes :
- Sur-ingénierie : trop d’optimisation technique complexifie les pipelines, rend la maintenance plus difficile et rallonge les délais de livraison,
- Sous-optimisation : à l’inverse, un manque d’ingénierie conduit à des pipelines fragiles, des données peu fiables et une scalabilité limitée.
Il doit donc trouver un compromis, en construisant des pipelines robustes mais simples, afin de ne pas pénaliser le travail des data scientists et de permettre aux équipes métiers d’obtenir rapidement des résultats fiables.
Responsabilité en cas d'erreur et dérive du modèle
La responsabilité en cas d’erreur dépend de l’origine du problème :
- Data Engineer : si l’erreur provient d’un pipeline défaillant ou de données incorrectes,
- Data Scientist : si l’erreur résulte des prédictions du modèle ou d’un mauvais choix de modèle.
Dans tous les cas, la correction du problème nécessite une étroite collaboration entre le Data Engineer et le Data Scientist pour fiabiliser le dispositif.
Bonnes pratiques pour faire converger les deux disciplines
Définir un contrat de service / SLA entre ingénierie & science des données
Pour aligner les pratiques entre Data Engineering et Data Science, il est utile de définir un contrat de service data ou SLA (Service Level Agreement).
Ce contrat formalise les attentes mutuelles concernant :
- La qualité des données : taux de valeurs manquantes acceptable, gestion des doublons et règles de validation sur le contenu (par exemple, un champ obligatoire ne doit pas être vide ou une date doit être valide)
- Le format de données : colonnes disponibles, types de variables
- La fréquence d’actualisation : mise à jour quotidienne, horaire ou à la demande.
Il précise également la disponibilité des pipelines, le dispositif de monitoring et d’alerting, ainsi que le processus de communication (par exemple via l’utilisation d’un RACI pour les corrections d’anomalies ou la planification de changements).
Un SLA bien défini réduit les zones de flou, limite les ambiguïtés et améliore significativement la coordination entre les deux métiers.
Mutualiser les outils & la documentation
Pour qu’un Data Scientist comprenne l’origine des données, ainsi leurs transformations et les pipelines construits par le Data Engineer, il est essentiel de mettre en place des outils et une documentation mutualisée, par exemple via Confluence.
Ces outils comprennent notamment :
- Un catalogue de données, qui recense tous les datasets disponibles, avec leurs métadonnées, propriétaires et descriptions,
- Un système de data lineage (Altan, Collibra, Amundsen), qui retrace le parcours complet des données à travers les pipelines.
Créer des modules de features réutilisables
En créant des modules de features réutilisables et en standardisant les process, on garantit la cohérence des variables, on réduit les erreurs et on accélère le passage de la phase d’expérimentation à la mise en production.
Ces modules évitent au Data Scientist de recréer les mêmes transformations à chaque projet, facilitent la collaboration entre les équipes et assurent une maintenabilité de tous les projets qui les utilisent.
Workflow expérience itérative & intégrée
Mettre en place un workflow expérientiel itératif et intégré consiste à créer des pipelines de test pour chaque modèle prototype. Ces workflows assurent une meilleure fiabilité et reproductibilité des expériences, et permettent une bascule progressive vers la mise en production des modèles.
Respecter la gouvernance data & compliance
Le Data Engineer est le principal responsable de la gouvernance des données, en veillant à la création de pipelines sécurisés, à la gestion des accès, à l’anonymisation et au respect des règles de confidentialité.
Le Data Scientist, de son côté, participe à la gouvernance des modèles. Il s’assure que ses analyses et modèles sont traçables, reproductibles et conformes aux mêmes standards de sécurité et de réglementation.
Ensemble, ils garantissent que pipelines et modèles respectent les obligations de sécurité, de conformité et de qualité des données.
Conclusion : les clés d'une bonne entre data engineering et data science
Comme nous avons pu le voir, les métiers de Data Engineer et Data Scientist sont complémentaires pour mener un projet data/IA de bout en bout. En effet, le Data Engineer assure la disponibilité, la qualité et la sécurité des données, tandis que le Data Scientist exploite ces données pour créer des modèles fiables et exploitables.
Etant donné les tensions qui peuvent exister – différence d’attentes, frustration face à la qualité des données – ils se doivent de collaborer étroitement et adopter les bonnes pratiques pour assurer le bon déroulement des projets, la qualité des données et la fiabilité des modèles. Cela repose sur une compréhension mutuelle des besoins de chacun et une coordination efficace tout au long du cycle de vie des données et des modèles.
De nouveaux métiers ont également émergé dans les équipes data, comme le ML Engineer ou le MLOps Engineer. Ces profils jouent un rôle clé en faisant le lien entre les data engineers et les data scientists. Ils facilitent le déploiement, l’orchestration et le monitoring des modèles en production. Leur apparition témoigne de l’importance d’une collaboration structurée au sein des projets data/IA.
FAQ - Data engineering vas data science
Quelle différence entre Data Engineering et Data Science ?
Le Data Engineer met en place des pipelines qui fiabilisent le traitement des flux de données. Le Data Scientist exploite ces données pour créer des modèles d’apprentissage automatique.
Comment ces deux métiers collaborent-ils au quotidien ?
Ces deux métiers collaborent au quotidien en mutualisant les outils et la documentation, et en communiquant régulièrement leurs besoins respectifs. Ils échangent afin d’ajuster les formats et la disponibilité des données, dans l’objectif d’améliorer les modèles et de faciliter leur industrialisation.
Faut-il prioriser le recrutement d'un data engineer ou d'un data scientist ?
Tout dépend de la maturité des données disponibles. S’il n’existe pas de pipelines de données fiables et robustes, il est préférable de recruter en priorité un Data Engineer. En revanche, si les données sont déjà structurées et accessibles, et que l’objectif est d’en extraire de la valeur et des insights, le recrutement d’un Data Scientist est plus pertinent.
Quelles compétences techniques distinguent les deux profils ?
Le Data Engineer possède des compétences en outils ETL/ELT, en bases de données et en conception de schémas de données.
Le Data Scientist dispose de compétences en statistiques, en machine learning et en analyse exploratoire des données. Il maîtrise le langage Python et des librairies telles que Pandas, Scikit-learn, TensorFlow et/ou PyTorch.
Peut-on fusionner ces deux rôles dans une petite organisation ?
Dans les petites organisations, il est possible de combiner les rôles de Data Engineer et de Data Scientist au sein d’un profil polyvalent. Ce profil prend en charge la collecte, la préparation et l’analyse des données, depuis la mise en place des pipelines jusqu’au développement des modèles.
Cependant, lorsque le volume de données et la complexité des projets augmentent, il devient nécessaire de séparer ces rôles pour garantir la fiabilité et la performance des projets data/IA.
ML Engineer - Data Scientist
Data Scientist