#TechJobs – Le data engineer, architecte de la donnée

Home Blends & Trends 10 août 2018

Moins médiatisé que le data scientist, le data engineer est souvent confondu avec celui-ci. Alors quel est ce métier, qui est particulièrement prisé sur le marché de la tech actuellement, suite au développement des technologies liées au Big Data ? Rencontre avec Jérémy Caldas, data engineer chez fifty-five.

Salut Jérémy ! Peux-tu nous expliquer quelles sont les missions du data engineer, en particulier chez 55 ?

En tant que data engineers chez 55, notre rôle est de structurer les flux de données (communément appelés « pipelines ») et de les mettre à disposition des utilisateurs pour qu’ils soient exploitables dans les meilleures conditions possibles.
Les pipelines sont les solutions techniques proposées à nos clients afin de traiter la donnée ; ils sont composés de plusieurs étapes.

data-engineer

Nous récupérons d’abord les données à leur point de départ, sur des services externes ou directement chez le client. Cela passe éventuellement par le développement de connecteurs vers des APIs ou services ; dans l’idéal, ceux-ci doivent être réutilisables pour faciliter les opérations similaires dans le futur.

Ensuite, nous mettons à disposition ces données aux data scientists et data analysts, de façon optimale, c’est-à-dire avec un temps et une facilité d’accès raisonnables, le tout à moindre coût. Chez 55, cela passe par l’utilisation d’un outil d’analyse à grande échelle comme Google BigQuery ou Amazon Athena.

Enfin, nous livrons la donnée « raffinée » (c’est-à-dire agrégée et structurée) au client, pour qu’elle soit par exemple affichée dans des dashboards. « Raffiner la donnée » peut consister en de simples agrégations ou aller jusqu’à l’utilisation d’algorithmes plus complexes de machine learning.

En parallèle, il faut constamment construire et structurer les différents outils fournis aux équipes en interne. C’est-à-dire que le travail cité ci-dessus doit être mis à profit pour construire des briques technologiques réutilisables lors de projets futurs. L’idée étant d’avoir un effet de levier sur ce qui a déjà été fait.

Comment collabores-tu au quotidien avec les data analysts et data scientists ? Quelles différences et quelle complémentarité ?

Le data engineer est le meilleur ami du data scientist et du data analyst ! Il fait le pont entre l’ingénierie logicielle et la data science, entre l’expertise en programmation et architecture data, et celle en statistiques. Au final, c’est lui qui est garant du socle technologique qui sous-tend presque toutes les autres fonctions dans le monde des données !

Le data engineer travaille main dans la main avec les data analysts : ils forment ainsi un véritable tandem business et technique. Grâce à leur connaissance métier, les data analysts sont au plus près du besoin client. Avec eux, nous nous assurons que ce qui est fait dans le pipeline de données respecte les bonnes pratiques : sécurité, résistance aux défauts de livraison de données, maintenabilité et efficacité en termes de coût (plateforme/cloud).

Le data engineer doit également être capable de questionner les choix du data scientist, notamment le modèle algorithmique et l’environnement de calcul que ce dernier utilise pour produire ses résultats et son analyse. Cette collaboration entre data scientist et data engineer est importante pour s’assurer de la validité des modèles et, encore une fois, d’une implémentation efficace en termes de coût.

Comment décrirais-tu les compétences clés et les qualités requises pour devenir data engineer ? Faut-il suivre une formation spécifique ?

Mon parcours à l’EISTI et à l’université de Cranfield, alliant ingénierie logicielle (software engineering), mathématiques et machine learning, se prête bien à ce métier. Chez fifty-five, les membres de l’équipe possèdent des compétences en ingénierie logicielle (avec Python, Java…) et ont également un intérêt pour la data science. Mais dans ce métier, la formation est constante : il y a toujours à apprendre tant en concepts fondamentaux qu’en technologies émergentes !

Devenir data engineer demande donc d’être curieux et polyvalent. Il faut avoir une vue d’ensemble de ce qui se fait dans l’entreprise : quelles technologies sont utilisées, quel est le rôle de chaque personne accédant aux données, etc. Il faut se demander à chaque instant si la donnée est traitée de la bonne manière, c’est-à-dire en anticipant la possibilité d’un développement des usages et la nécessité de passer à une autre échelle (assurer la « scalabilité » comme on dit dans le métier), mais aussi les problèmes qui pourraient survenir pour prévoir des solutions.

data-engineer

Quelles sont les bonnes pratiques du métier selon toi ?

Trois concepts me viennent à l’esprit : DevOps, open source et cloud. Selon moi, le data engineer doit connaître et mettre en pratique la philosophie DevOps. Il est en effet courant de se confronter à un point bloquant ; or, souvent, d’autres entreprises (et notamment Google, Airbnb, Spotify…) ont déjà rencontré des problèmes similaires et ont mis à disposition de tous, en open source, des solutions dont nous pouvons profiter, et que nous pourrons à notre tour améliorer, si c’est nécessaire ou possible. Les outils fournis par le cloud (comme Google DataProc et Amazon EMR) sont aussi très utiles car ils permettent une mise en place rapide et facilitée de nos solutions de stockage et traitement de données (Hadoop et Spark, par exemple).

C’est aussi notre responsabilité de bien connaître et bien choisir les technologies qui faciliteront les procédés en interne. Ces choix sont importants car ils ont des conséquences structurelles et on ne peut pas les remettre en question tous les jours. C’est la communication régulière au sein de l’équipe de data engineers qui nous permet de trouver de bonnes solutions, nous mettons donc particulièrement l’accent sur la communication et l’échange, et nous partageons aussi nos connaissances et notre veille technologique régulièrement en interne.

Être data engineer chez 55, c’est donc évoluer et apprendre sur tous ces concepts !

Comment vois-tu l’évolution de ce métier à moyen terme ?

Les profils de data engineer sont très prisés sur le marché actuellement : selon les estimations d’IBM, la demande annuelle de data scientists, data développeurs et data engineers devrait monter à 700 000 en 2020 aux Etats-Unis. En France, la demande sur ces profils est également en pleine explosion : le métier a clairement de beaux jours devant lui !

La polyvalence recherchée est en effet assez rare et demande une curiosité sincère, non seulement pour la partie technique, mais également pour la partie métier, ou le domaine d’application. Les très bons data engineers sont souvent formés en ingénierie logicielle et ont appris le reste, lié au domaine d’application, une fois immergés dans le contexte.

À l’époque où tout génère des données et où la data prend une place centrale dans les organisations, je pense que le métier de data engineer n’a jamais été aussi important. Avoir une infrastructure informatique robuste pour stocker les données, faciliter leur exploitation et automatiser leur traitement est un investissement que tout organisation doit prendre en considération pour devenir réellement data-driven !

Vous reprendrez bien une tasse de thé ?