Un Data Engineer, qu’est-ce que c’est ?

La donnée est un enjeu important pour les entreprises, qui cherchent à les traiter et les valoriser au cours de projets data. Pour cela, de nouveaux profils spécialisés ont fait leur apparition. C’est le cas notamment du Data Engineer. Qu’est-ce qu’un data engineer, que fait-il de ses journées, et quel rôle a-t-il dans les projets ? Voici un petit tour d’horizon du métier !

Que fait un data engineer ?

Le data engineer est le responsable de la mise à disposition des données d’une entreprise.

Il créé des flux de données, afin de les transférer d’un système à un autre. Sa mission est d’agréger toutes les données de ce système : il les filtre, les importe, les nettoie et les transforme pour les mettre à disposition. Il se charge également du système de stockage, il le design puis l’optimise.
Ces optimisations permettent de gagner du temps de traitement et de consommer moins de ressources, pour rendre la solution plus performante.

Quelle différence entre Data Engineer et Data Scientist ?

Data Engineer et Data Scientist sont deux métiers très différents mais complémentaires. Chacun a son rôle à jouer dans un projet data. Le Data Engineer est un technicien de la donnée tandis que le Data Scientist est un Mathématicien.

Le Data Engineer est responsable de la collecte, du nettoyage et de la mise à disposition des données. C’est lui qui construit la « tuyauterie » afin que les Data Scientists puissent travailler.

Le Data Scientist est chargé d’exploiter et valoriser ces données en construisant des modèles d’intelligence artificielle. Il imagine des solutions qui permettent d’automatiser un traitement dépendant d’un humain, ou encore de réaliser des traitements trop complexes pour nous…  

Une fois le modèle de data science élaboré, le Data Engineer est souvent amené à l’industrialiser, afin qu’il soit opérationnel à de plus grandes échelles. Il s’assure que le modèle est correctement alimenté, que les données générées sont correctement transmises aux utilisateurs.

Les missions d’un Data Engineer

Le travail du data engineer est diversifié, il dépend du projet, du type de données, du système de gestion, des technologies utilisées, des cas d’usages et de l’entreprise.
Si les méthodes utilisées peuvent varier, les missions du data engineer peuvent se résumer à :

Comprendre la nature de la donnée

La compréhension de la donnée est une part importante du travail du Data Engineer. Il doit comprendre la réalité fonctionnelle de l’entreprise afin de pouvoir retranscrire de façon cohérente les règles métier dans le code.

Conceptualiser les flux de données et choisir le système de stockage

Le système de stockage dépend des besoins et du volume de données à traiter. Dans certains cas, un DataLake sera nécessaire pour distribuer les opérations et obtenir des performances satisfaisantes ; dans d’autres cas, le choix d’un système de gestion de base de données adapté (timeseries, graphe, relationnel classique, etc.) suffit. Dans tous les cas, la modélisation des données sera faite à la fois en fonction de la technologie retenue, et de la nature des données traitées.

Le Data Engineer réfléchit et conçoit cette architecture pour qu’elle soit pertinente et optimisée. Il imagine ensuite les flux de données afin d’acheminer les données jusqu’au système de stockage, puis de les transformer de façon adaptée à leur utilisation à venir. 

Développer les programmes qui permettent de transporter les données brutes jusqu’au système de stockage

Une fois son « plan d’action » défini, il développe les programmes  permettant d’identifier, collecter et transporter les données brutes d’une multitude de sources jusqu’au système de stockage (data lakes, data warehouses, datamarts …). C’est pour cela qu’on dit que le data engineer fait la « tuyauterie » du projet data.

Transformer la donnée pour en faire une solution correspondant au besoin

Une fois la donnée stockée correctement, il faut la transformer pour correspondre aux attentes du projet et des métiers. Selon la donnée traitée et les besoins, la transformation peut prendre une ou des formes différentes :

Faciliter le traitement ou la lecture

Il arrive que les données ne soient pas dans un format adapté aux technologies choisies. Le Data Engineer transforme la donnée si besoin, afin que celle-ci soit par la suite prête à être utilisée sans traitement supplémentaire.

Créer de nouveaux modèles ou de nouvelles données

Parfois, les données brutes ne suffisent pas. Elles ont besoin d’être traitées pour créer de nouvelles données utiles. Dans ce cas, le data engineer agrège, corrèle, fait des liens entre les données afin de mettre à disposition les informations manquantes et nécessaires pour certains cas d’usage.

Mettre à disposition des utilisateurs une donnée conforme à leurs besoins

Une fois les données traitées, le data engineer met à disposition les données demandées par les usagers de celles-ci. Il peut s’agir du pôle data science, qui réutilisera et retraitera ces données, ou encore les métiers qui ont besoin des données à des fins d’analyse.  

Améliorer les systèmes déjà mis en place

Une fois le système mis en place, celui-ci peut être amélioré ou encore élargi à de nouveaux types de données. Le Data Engineer travaille à l’optimisation du système de transport et de stockage de la donnée.
Cela peut inclure l’optimisation de la solution de stockage, l’élargissement de la collecte et du nettoyage de la donnée à d’autres types de données ou d’autres systèmes sources, la création de nouveaux algorithmes plus adaptés, etc.

Quel est le rôle du Data Engineer dans le projet ?

Le Data Engineer travaille sur des données afin de répondre à une problématique métier. Il intervient souvent après la définition et la validation de la problématique et du projet par les métiers et la direction. Il a donc peu de pouvoir de décision sur la nature du projet, mais c’est lui qui est responsable de la façon de faire. Le pôle data engineering va souvent être responsable et décisionnaire de la façon de traiter les données existantes, l’architecture, et de la mise à disposition et du traitement des données.
Ces configurations peuvent varier selon les entreprises. Le Data Engineer peut prendre des places variées dans une entreprise et dans un projet.

Quelle différence entre Data Engineer et Développeur ?

Le Data Engineer semble être un métier très spécifique, mais il est en réalité plus proche du Développeur que ce que l’on pense. On pourrait même parler de « Développeur Data » tant les passerelles et les similarités entre ces deux métiers sont nombreuses.

Le développeur est chargé de produire et mettre en production une solution à l’aide de différentes technologies. Il utilise la logique algorithmique, les langages de programmation, et manipule des bases de données pour arriver à ses fins.

Le Data Engineer utilise des moyens similaires afin de traiter les grands volumes de données auxquels il est confronté.
Il travaille cependant à une échelle beaucoup plus grande que le développeur. Le Data Engineer est confronté à des volumes de données beaucoup plus importants, stockées à des endroits variés, et parfois non-structurées. Les données ne sont souvent pas utilisables en l’état, il doit donc les traiter avant de pouvoir s’en servir.

Là où les développeurs manipuleront la donnée à petite échelle dans le but de créer leur solution, la manipulation de volumes importants de données diverses et variées est au cœur du travail de Data Engineer.

Maintenant, le métier de data engineer n’a plus de secret pour vous !
Développeur ou étudiant dans la data, ce métier t’intéresse ? Rendez-vous très bientôt pour un article où tu découvriras tout ce qu’il y a à savoir pour devenir Data Engineer.

🤫 REDLab est toujours à la recherche de Data Engineers.  Si tu souhaites postuler, rendez-vous par ici : 

Par Adam & Enzo

Adam et Enzo sont Data Engineers chez REDLab. 

Rédaction Andréa Meyer

Qu’est-ce qu’un projet data, et comment bien le préparer ?

Le projet data est un type de projet informatique bien particulier. Celui-ci a en effet vocation à traiter des données déjà existantes, internes (systèmes d’information) ou externes à l’entreprise.
Les projets data peuvent avoir des objectifs analytiques, d’aide à la prise de décision ou d’innovations.

Lire la suite »

Comment fonctionnent les algorithmes des sites de rencontre ?

Les algorithmes sont des modèles de calcul et fonctionnent grâce à des données d’entrée, input, et des données de sortie, output. L’input est intégré et traité grâce aux différentes instructions de l’algorithme. Est ainsi généré un résultat, une information utilisable par l’utilisateur. Les moteurs de recherche en sont un exemple. En traitant les mots-clés de la recherche, ils proposent à l’utilisateur des résultats correspondants pertinents.

Mais comment fonctionnent l’intelligence artificielle derrière les sites de rencontre ?

Lire la suite »

Comment faire un CV percutant : 9 Bonnes Pratiques pour mettre ton profil en haut de la pile !

En tant que RH on a fait un constat paradoxal. Aujourd’hui, il est difficile pour les recruteurs de trouver des candidats qui correspondent vraiment à leurs besoins, alors qu’il existe encore de nombreux talents sur le marché à la recherche d’un emploi.

Si tu es dans ce cas, la question à te poser est la suivante : ton CV est-il assez attractif et représentatif de tes compétences ? Parvenons-nous à retrouver les informations importantes de ton CV ?

Alors comment mettre ton profil au sommet de la pile ? On va aborder quelques Tips concrets, l’idée générale est de revenir au bon sens quand tu présentes ton parcours ! Allez c’est parti !

Lire la suite »

Le monde merveilleux des flottants ou la représentation des nombres réels en machine

Qu’on parle de nombres entiers, ou de nombres décimaux (“nombres à virgule”), il en existe une infinité. Mais ça, je pense que vous le savez déjà.

Lorsqu’on veut travailler avec des nombres en informatique, il faut pouvoir les représenter en mémoire. On a besoin de les stocker dans des “cases”. Mais aussi sophistiqué soit votre ordinateur, sa mémoire est finie. On ne sait pas vraiment si l’univers est fini ou infini, mais qu’importe la réponse, les ordinateurs à mémoire infinie, ce n’est pas encore pour demain, ni même après-demain ! 😉

Cela nous amène à considérer le postulat suivant (et cela va nous donner le ton pour la suite) : il n’est pas possible de représenter tous les nombres (entiers ou décimaux) qui existent de façon exacte dans un ordinateur.

Lire la suite »