Le data scientist fait parler la donnée en mettant en place des algorythmes grâce aux outils mathématiques à sa disposition. Cet article rassemble tout ce qu'il faut savoir sur ce métier : Salaire, compétences, formation, missions…
Le data engineer développe, maintient et améliore les infrastructures permettant la centralisation, le stockage et l'accès aux données.
Le data engineer est des métiers de la data les plus convoités. Pour bien comprendre son rôle, notre classique métaphore de la rivière va vous aider. Imaginez que votre maison (votre entreprise donc) se trouve à côté d'une rivière inexploitée (assimilable à vos données non-collectées). Vous savez qu'en exploitant cette rivière (ces données) votre maison (votre entreprise) se portera mieux.
Le data engineer va donc d'être responsable d'acheminer l'eau de la rivière pour que la maison puisse en bénéficier. Pour ce faire, il va s'aider de tuyaux, assimilables à des lignes de codes qui vont relier la rivière à une citerne d'eau potable dans laquelle la maison pourra aller puiser son eau (ici la citerne représente un Cloud Data Warehouse).
En quelque sorte, il est le plombier de la data. Il se chargera aussi de s'assurer que l'eau qui arrive à la citerne est potable et utilisable par la maison. Il utilisera pour cela des produits chimiques assimilables à Python et SQL.
Une fois l'eau potable (les données prêtes), la maison se portera mieux grâce aux travail des équipes business sachant récolter l'eau (sachant coder) mais aussi des data scientist et des data analyst.
Dans cet article, nous nous efforcerons de retracer les éléments importants qui définissent le métier de data engineer. Nous allons nous intéresser à différents points.
SOMMAIRE :
Ses compétences :
Son expertise :
Le data engineer travaille dans la création, la population et l'entretien des bases de données (comment arriver à construire, remplir et entretenir cette fameuse citerne d'eau potable). Son expertise d’ingénieur lui permet de mettre en place des infrastructures fiables et sécurisées au service de la gestion de la data de son entreprise.
Le data engineer doit impérativement possèder des :
- compétences approfondies dans les langages de programmation (Python, Java, Golang)
- compétences approfondies dans les langages de bases de données (SQL, NoSQL,...)
- connaissances approfondies dans les outils de stockage de données (AWS, Azure, GCP, neo4j) et les outils ETL (Airbyte, Stitch, Fivetran, Talend, …)
- connaissances approfondies dans les technologies de big data pour pouvoir manipuler une grande quantité de données (Spark, Kafka, Hadoop, ...)
- connaissances approfondies dans les technologies de conteneurisation et mise en production (Docker, Kubernetes)
Par exemple, grâce à ses expertises, il pourra créer une base de données rassemblant toutes les données des clients d'un CRM. Il automatisera le processus d'alimentation du CRM et utilisera un grand nombre d'outils cités précédemment pour alimenter et entretenir la base de donnée.
Les raisons de choisir un data engineer :
Il y a de nombreuses raisons de choisir un data engineer au sein de son entreprise. Pour utiliser une autre image pour que vous compreniez bien, le data engineer est tel un mécano qui prépare l’avion avant son décollage. Il fait attention à ce que l’avion soit opérationnel avant son départ. Pour cela, il fait attention à ce qu’il n’y ait aucune pièce manquante qui pourrait être fatale au bon déroulement du vol. Lorsque l’avion est au hangar, il l’entretient en prenant soin de vérifier la mécanique, et peut même changer des pièces usées et rajouter des extensions par exemple. Le pilote, lui, est comparable à l'entreprise. Il dirige l'avion avec les algorithmes de prédictions du data scientist qui est lui comparable à la tour de contrôle. La tour de contrôle prépare le décollage en émettant des analyses de prédiction. Enfin, le data analyst, lui, est comparable à l'assistant du pilote qui effectue le rapport du vol.
Le data engineer est tel un mécano qui prépare l’avion avant son décollage.
Le rôle du data engineer est donc primordial dans la chaîne des métiers de la data. Le data scientist a besoin du data engineer pour pouvoir émettre des algorithmes d’analyse de données. Et le data analyst a besoin du data engineer pour effectuer ses analyses et ses dashboards. Par exemple, il est impossible pour le data analyst d'effectuer une analyse de cohorte sans avoir un dataset (base de donnée) construit et structuré par le data engineer.
Le quotidien du data engineer :
Le rôle du data engineer
Le data engineer tient un rôle scientifique où la création de bases de données et la gestion de celle-ci sont ses missions principales.
En effet, le premier rôle du Data Engineer est de centraliser les données de l'entreprise afin d'avoir une véritable source d'information pour l'entreprise. Ces données peuvent être classées en 3 grandes catégories : les données internes, les données liées à des évènements, les données externes (comme celles contenues dans des SaaS par exemple).
Pour centraliser ces données, il va s'aider des logiciels d'ETL (extract - transform - load). Historiquement, le data engineer extrayait les données, les transformait et les nettoyait avant de les stocker.
Avec la démultiplication des sources de données, ce processus était très compliqué à maintenir car à chaque modification de la source de données, il fallait réécrire la transformation (imaginez une colonne qui disparait et tout est cassé et tout est à refaire).
Grâce aux coûts de stockage qui ont nettement réduits, les data engineer "nouvelle génération" transforment les données après les avoir stockées. Il va donc s'aider de logiciels comme Airbyte, Fivetran ou Stitch pour la partie Extract-Load et des logiciels comme DBT pour la partie Transform.
Il va ensuite créer l'architecture et le data model des bases de données pour les mettre à disposition des équipes via des data warehouse et data mart (cf lexique). Ces "data warehouse" peuvent être comparés à des bases de données sur le cloud et des super calculateurs. Les plus connus sont SnowFlake, BigQuery, Redshift et Azure. Le gros intérêt de ces infrastructures est que l'on peut rapidement faire des calculs en SQL (pas besoin de Python).
Une fois les données mises à disposition c'est au tour des data analyst et data scientist (et autres profils sachant coder en SQL et/ou python) de les utiliser pour en créer de la valeur.
Le data engineer est le premier maillon de la chaîne des métiers de la data. Sans lui, pas de data et donc pas de matière sur laquelle travailler.
Ainsi, dans la formation DataBird, les élèves apprennent à utiliser des bases de données sur des cas concrets d'entreprises. Ils touchent donc du doigt à ce que le data engineer peut faire.
En comprenant ce que le data engineer fait, nos apprenants sont capables de parler et de travailler avec des data engineer. Car quoi de mieux que de travailler avec quelqu'un qui comprend votre travail ?!
Les missions du data engineer
Sa mission est de rendre la donnée disponible pour les équipes data ou les équipes business ayant une appétence data.
- Au fur et à mesure que les données s'accumulent, la construction de bases de données, utilisables par les autres acteurs de la data, est primordiale.
- Il alimente les bases de données.
- Il entretient les bases de données en créant des pipelines permettant l'automatisation du processus d'alimentation de celle-ci.
- Il maintient les bases de données de sorte à ce qu'elles soient scalables dans le temps.
Le CV et salaire du data engineer :
Les études pour devenir data engineer
Le data engineer est généralement issu d’une formation d'ingénieur. En général, il a un master d’ingénieur en informatique, de mathématiques où il est issu d'études scientifiques.
Il a préalablement eu des expériences antérieures dans le secteur scientifique ou dans l'ingénierie informatique.
Si le data engineer doit détenir de forte compétences techniques, des compétences relationnelles sont aussi recommandées. Une expérience professionnel avec un travail en équipe est fortement apprécié sur le CV.
Salaire du Data engineer
En général, selon Glassdoor, un data engineer débutant gagne environ 45k € / an. Puis son salaire augmente en fonction de son expérience. Ainsi, son salaire peut atteindre 80k € / an pour un data engineer senior. Cependant, il faut noter que le salaire moyen d'un data engineer en France est de 60k € / an.
Le salaire moyen d'un data engineer en France est de 60k € / an.
Le salaire dépend des entreprises dans lesquelles le data engineer travaille. Les entreprises, dans lesquelles il peut travailler, sont des entreprises qui accumulent une grande quantité de données ou sont des entreprises qui ont besoin d'ingénieurs pour construire leur base de données. Des grandes entreprises dans la tech peuvent offrir de très bons salaires à des data engineer expérimentés.
Le vocabulaire du data engineer
Les outils et langages les plus utilisés
.png)
Les outils du data engineer sont nombreux et l'on peut se perdre dans la forêt d'outils à notre disposition. Pour y voir plus clair, nous les avons rangé en plusieurs sous catégories :
- Premièrement, les langages de programmation utilisés par le data engineer sont nombreux. On y retrouve Python, Java, Scala, SQL/noSQL, ...
- Pour le stockage et le calcul des données, le data engineer utilise différents logiciels comme AWS (S3 / EC2 / Redshift), GCP (BigQuery / Compute engine), Snowflake ou encore Azure.
- La contenérisation pour la mise en production se fait grâce à Docker ou Kubernetes.
- L'extraction et la transformation des données se fait grâce à des connecteurs comme Stitch, Fivetran ou Airbyte et d'autres logiciels comme DBT sont très utiles pour les transformations.
- Enfin, afin d'orchestrer tous ces outils Airflow et Luigi sont idéals.
Le lexique du data engineer
Cloud : le cloud computing est la fourniture de services informatiques via Internet (le cloud) dans le but d’offrir une innovation plus rapide, des ressources flexibles et des économies d’échelle.
Data Lake : Un data lake est une méthode de stockage de données utilisée par le big data. Ces données sont gardées dans leurs formats originaux ou sont très peu transformées. Le Data Lake donne la priorité au stockage rapide et volumineux de données hétérogènes.
Data Warehouse : Une Data Warehouse est une base de données relationnelle pensée pour les analyses de données, la prise de décision et les activités de type Business Intelligence. Les DataWarehouse les plus connus sont SnowFlake, BigQuery (Google), RedShift (Amazon), Azure (Microsoft).
Data Mart : Le Data Mart est un espace de stockage de données qui regroupe des attributs intéressants extraits de données. Il est en général propre à chaque département de l'entreprise.
Spark : Spark est un moteur de traitement de données rapide dédié au Big Data. Il permet d’effectuer un traitement de larges volumes de données de manière distribuée (cluster computing).
Git : Git est un outil qui permet de gérer différents projets en les envoyant sur un serveur. Ce dernier est connecté à l'ordinateur d'autres développeurs qui envoient leur code et récupèrent le vôtre.