Collecter des données c’est bien. Pouvoir les stocker, les rendre fiables et les analyser, c’est mieux ! Pour ce faire, les entreprises ont besoin d’experts alliant compétences techniques et compréhension des enjeux business : les Data Engineers.
La data, c’est quoi ?
Toutes les entreprises collectent volontairement ou non des données. À travers leur activité commerciale, marketing et opérationnelle, elles récupèrent chaque jour un volume de données proportionnel à l’intensité de leur activité : CRM, objets connectés, réseaux sociaux, moteurs de recherches, etc.
Depuis une petite vingtaine d’années et avec la croissance exponentielle des technologies, elles apprennent à les valoriser, en interne pour améliorer leur produit/service, accompagner à la décision, automatiser à travers l’IA, mesure, etc ou en externe en le revendant à d’autres entreprises.
Maintenant que tout le monde a compris l’importance de la data, il ne s’agit plus d’en perdre une seule goutte. C’est la nouvelle richesse du XXIe siècle : pendant que les réserves de pétrole se vident, les réserves de données se remplissent… et elles n’ont pas de limites.
Quel est le rôle du Data Engineer ?
De plus en plus d’entreprises embauchent des Data engineers pour comprendre et visualiser la donnée.
Pourquoi les entreprises ont-elles besoin de ce métier ?
Toutes les entreprises sont amenées par leur activité à récolter une quantité importante de données et souhaitent les valoriser de différentes manières :
- Externe : revente en B2B
- Interne : amélioration du produit, aide à la décision, mesure de l’impact des décisions, etc.
On distingue les entreprises dont le produit et/ou business dépend de la récolte de données (publicité, marketing digital, réseaux sociaux, plateforme de streaming…) et celles qui, de par leur activité, brassent un fort volume de données (média, plateforme de mise en relation).
Toutes ces entreprises ont besoin des compétences d’un Data Engineer en entrée de la chaîne de valorisation des données, afin de récolter les données brutes, les transformer en données utilisables puis formatées pour les mettre à disposition des :
- Data scientist, qui a besoin de données au bon format pris en compte par les algorithmes.
- Data analyst, qui exploite les données sous forme de dashboard, outils de visualisation ou reporting.
Travaillant en amont de la valorisation des données, son impact est indirect sur le business et se fait à travers le travail des Data scientist et Data Analyst. Il peut être plus ou moins fort en fonction du volume de données que l’entreprise récolte.
Mais en tant que porte d’entrée des données, il est indirectement responsable de toute la valorisation qui sera faite des données récoltées. Sans ce profil, il est très compliqué voire impossible d’imaginer toutes les tâches en relation avec les données au sein de toute l’entreprise.
Les missions du Data Engineer
Un Data Engineer est quelqu’un ayant un background technique (en développement logiciel le plus fréquemment). Il va construire l’architecture du système Big Data et doit s’assurer de pouvoir collecter, transformer et stocker les données de différentes sources. Pour cela, il développe des solutions qui permettent de traiter un gros volume de données dans un temps limité.
Le travail d’un Data Engineer est de préparer le terrain pour qu’un Data Scientist puisse se servir des données “propres” afin de les exploiter de façon plus complexe, tirer des tendances (Insights), prédire, inférer avec les algorithmes de Machine Learning.
Le Data Engineer va construire l’architecture du système Big Data. Il optera pour des outils de stockage adaptés au type de données et au ratio stockage/query.
Avec un intérêt pour le Développement et Opérations (DevOps), il est en collaboration directe avec les autres rôles de la data. Il sait doser l’aspect mis en production avec les itérations rapides du développement.
Les principaux enjeux auxquels il fait face sont : la performance, la scalabilité et la gestion de gros volumes de données.
Son rôle selon la taille de l’entreprise
Dans une petite équipe tech, il peut porter la responsabilité d’un pôle data en confondant les métiers de Data Engineer et Data Analyst. Il aura ainsi la main sur tout le cycle de valorisation de la donnée sans pour autant pouvoir aller profondément dans ses sujets.
Cela nécessite une connaissance horizontale des problématiques data sans pouvoir développer une expertise verticale.
Dans une grande équipe tech, il travaille sous la responsabilité d’un Manager Data (Head of Data, CDO, Lead Data Manager), en collaboration avec le Data Scientist et le Data Analyst qui peuvent être amenés à travailler sur les mêmes problématiques de prise de décisions mais avec un rendu différent.
Le Data Analyst développera des outils visuels (dashboard) et de reporting, là où le Data Scientist mettra en place des modèles prédictifs.
En charge de la mise en place de l’architecture du système Big Data (d’où son appellation de data architect), il travaille également avec les DevOps pour construire les réservoirs de données appelés Data Warehouses.
Quelles sont les problématiques du Data Engineer ?
Il va permettre de :
- Développer et mettre en place un process de collecte, de stockage et de modélisation des données. C’est là qu’il travaillera sur des problématiques d’infrastructure data.
- Mettre en place des BDD relationnelles et non relationnelles afin de permettre l’accès aux Data Scientist et Data Analyst.
- Protéger et sécuriser l’accès aux données de l’entreprise, afin d’éviter que d’autres entreprises ou utilisateurs aient accès à leur BDD.
- Établir une politique de données respectant les normes RGPD, afin de toujours être aux normes Européennes de protection des données utilisateurs.
- Faire parler son expertise Big Data en collaboration avec les autres acteurs du pôle (Data Scientist & Data Analyst).
La collaboration dans l’équipe
Le Data Engineer va travailler avec un Machine Learning Engineer, un Data Scientist ou avec un DevOps.
Quelles sont les compétences d’un Data Engineer ?
Il utilise la plupart du temps des bases de données NoSQL et se base sur le cloud pour les infrastructures. Il sait également employer les technologies comme Airflow et Spark pour orchestrer et traiter convenablement ces grands volumes de données.
De manière générale, le Data Engineer a un background de développeur. Afin de proposer les meilleures solutions, c’est un développeur applicatif avec une appétence pour l’administration des infrastructures informatiques.
Pour résumer, le Data Engineer est un profil tech qui s’est spécialisé dans la création de solutions logicielles autour du big data.
Ses soft skills
Rigueur, curiosité, communication et esprit d’équipe sont les éléments clés pour être un bon Data Engineer.
Technologies & plateformes utilisées
Le Data Engineer va travailler avec plusieurs technologies, plateformes et outils :
- Langage BDD : SQL, NoSQL
- Stockage et ETL : Redshift, Terradata, Cassandra
- Traitement et manipulation : Spark, Hadoop, Kafka
- Data Analyse (suite Hadoop) : Hbase, Hive
- Compétences Cloud : Microsoft Azure, AWS, GCP.
Il va utiliser les langages de programmation :
- Python
- Java
- Go
et un langage spécialisé comme :
- Scala
- Julia
- Perl.
Quelles sont les formations pour devenir Data Engineer ?
La majorité des Data Engineers ont un parcours en école d’ingénieur spécialisée en informatique ou bien un Master Big Data à l’Université. Certains Data Engineers sont aussi d’anciens Software Engineers ou Ingénieurs Big Data.
Quel est le salaire d’un Data Engineer ?
Le salaire d’un Data Engineer peut doubler entre le profil junior et le senior :
- Data Engineer Junior : 40 à 50 k€
- Data Engineer Confirmé : 48 à 70 k€
- Data Engineer Senior : 65 à +100 k€
Comment peut évoluer une carrière de Data Engineer ?
Selon les compétences et les soft skills du candidat, la carrière peut évoluer vers :
- Lead Data Engineer
- Head of Data
- ML Engineer
- Data Scientist