Aujourd’hui, il y a 6 500 personnes sur LinkedIn dont le titre est ingénieur Data (data engineer) selon stitchdata.com. Rien qu’à San Francisco, il y a 6 600 offres d’emploi pour ce même titre. Le nombre d’ingénieurs Data a doublé au cours de l’année écoulée, mais les leaders du numérique doivent encore faire face à une pénurie importante de talents. Alors, qu’est-ce que l’ingénieur Data et pourquoi est-il autant recherché ?
Sommaire
Définition et intérêt d’un Data Warehouse
Les licornes (entreprises valorisées à plus d’un milliard de dollars comme Facebook, Google ou Apple), où les données sont le carburant de l’entreprise, sont naturellement les structures où l’on retrouve le plus d’ingénieurs Data. En Europe, ce titre de poste est bien moins présent en dehors de capitales de startups comme Berlin. Ils sont souvent inclus dans des emplois comme ingénieur logiciel, ingénieur Big Data, Business Analyst, Data Analyst, Data Scientist ou encore ingénieur Business Intelligence (BI).
C’est pourquoi nous allons commencer par parler de l’outil principal de la BI : le Data Warehouse.
Qu’est-ce qu’un Data Warehouse ?
Que fait un ingénieur en Business Intelligence, et pourquoi utilise-t-il un Data Warehouse (ou entrepôt de données) ?
Dans un magasin de détail physique, on souhaite vendre des produits très structurés de la manière la plus efficace à ses clients. On décharge des camions les produits d’origine (non structurés) à l’arrière de l’atelier physique, avant qu’ils ne soient triés et structurés dans l’entrepôt pour que les clients puissent les acheter. De la même manière dans un Data Warehouse, les données sont structurées et optimisées pour que les utilisateurs professionnels puissent les interroger. La zone de déchargement à l’arrière du magasin est appelée la zone de staging et permet de stocker les données sources des systèmes opérationnels ou des données externes.
Une architecture traditionnelle de Data Warehouse :
Si vous souhaitez creuser la question des Data Warehouses, n’hésitez pas à consulter notre article sur le sujet.
Pourquoi avoir un Data Warehouse ?
Un Data Warehouse peut apporter de grands avantages à l’entreprise qui l’utilise :
- Intégrer et transformer des données brutes d’une organisation à partir de sources multiples (le plus souvent très structurées comme un SAP, un CRM, Excel, etc.) en informations significatives et utiles, stockées en historique.
- Regrouper toutes les mesures et les KPI au même endroit pour piloter l’ensemble de l’entreprise.
- Permettre aux entreprises de prendre de meilleures décisions en accédant à des données bien structurées :
– Aider à prendre des décisions éclairées basées sur des faits
– Améliorer l’efficacité des opérations de l’entreprise
– Améliorer la qualité du service client - Permettre à l’ingénieur Business Intelligence de produire :
– Des rapports ad hoc
– Des rapports standards
– Des tableaux de bord
Vous l’aurez compris, avoir un Data Warehouse amène de nombreux avantages à une entreprise. Mais pour mettre en place de tels systèmes et les maintenir, celle-ci à besoin d’experts en la matière. C’est là que l’ingénieur Data intervient.
Qu’est-ce qu’un ingénieur Data ?
L’ingénierie Data (Data Engineering) est la sœur moins célèbre de la Data Science. Tandis que le métier de Data Scientist se développe fortement et acquiert une notoriété importante, le métier d’ingénieur Data se développe tout autant mais de manière bien plus discrète.
Mais voyons ensemble quel est le rôle de ce nouveau métier.
Le rôle de l’ingénieur Data
On peut définir l’ingénieur Data comme un mélange d’ingénieur logiciel et d’ingénieur Business Intelligence présentant des compétences en Big Data comme l’écosystème Hadoop, le streaming de données ou encore le calcul à l’échelle.
Avec des entreprises qui génèrent toujours plus de données nécessitant d’être recueillies, nettoyées et mises à jour presque en temps réel, la complexité augmente chaque jour. Cela implique de bonnes compétences en programmation. Le langage qui émerge le plus actuellement est Python, qui permet d’être utilisé à la fois avec des outils comme Apache Airflow (outil permettant de gérer des workflows) ainsi qu’en Data Science avec des bibliothèques puissantes. Aujourd’hui, les ingénieurs BI utilisent le SQL pour presque tout, mais ce n’est plus suffisant et c’est pourquoi l’ingénieur Data devient primordial.
Afin d’obtenir des ensembles de données de bonne qualité et fréquemment mis à jour, il est important de faire la distinction entre les pipelines de données qui sont faits et nettoyés par des ingénieurs Data et tous les autres qui sont principalement exploratoires. Le travail de l’ingénieur Data est alors de maintenir les ensembles de données produits à jour, documentés et de la plus haute qualité possible. Il utilise pour cela en général un Data Lake, dont vous pouvez trouver une présentation dans notre article sur le sujet.
Les services apportés par un ingénieur Data
L’ingénieur Data fournit un service primordial : l’automatisation de ce que les scientifiques ou les Data Analysts font manuellement. Voyons ensemble ce que cela comprend :
- L’ingestion de données : services et outillages autour de bases de données « scrapées », chargement de logs, récupération de données depuis des sources ou API externes.
- Calcul des métriques : frameworks pour calculer et résumer les métriques de l’entreprise liées à l’engagement, à la croissance ou à la segmentation.
- Détection d’anomalies : automatisation de la consommation de données pour alerter les utilisateurs d’événements anormaux ou de tendances changeant de manière significative.
- Gestion des métadonnées : outils permettant la génération et la consommation de métadonnées, ce qui facilite la recherche d’informations dans et autour de l’entrepôt du Data Warehouse.
- L’expérimentation : les frameworks d’expérimentation et l’A/B testing sont souvent des éléments importants pour les entreprises comportant des ingénieurs Data.
- L’instrumentation : la mise en place d’Analytics commence par l’enregistrement des événements et des attributs liés à ces événements. Les ingénieurs Data s’assurent que des données de haute qualité sont capturées en amont.
- Dépendances : mise en place de pipelines spécialisés dans la compréhension de séries d’actions dans le temps, permettant aux analystes de comprendre les comportements des utilisateurs.
Dans quelles situations a-t-on besoin d’un ingénieur Data ?
Bien que le rôle d’ingénieur Data devienne primordial pour nombre d’entreprises, certaines entreprises n’en ont pas nécessairement besoin. Mais alors, quelles sont les situations dans lesquelles un ingénieur Data serait utile ?
On peut relever deux principales situations entraînant un besoin en ingénieur Data :
- L’entreprise a un produit qui est entièrement basé sur le Web et donc axé sur les données
- L’entreprise a le besoin ou le désir d’analyser beaucoup de données (Volume) provenant de n’importe quel type de sources (Variété) et rapidement (Vitesse) pour obtenir des informations (Valeur et Véracité). C’est ce qu’on appelle les 5 V du Big Data.
Contactez Cartelis
pour enfin capitaliser sur vos données clients.
Cartelis vous accompagne dans le cadrage et le déploiement d'une stratégie data et CRM vraiment impactante.
Analyse client, Choix des outils, Pilotage projet et Accompagnement opérationnel.
Prendre contact avec CartelisQuelles sont les compétences d’un ingénieur Data ?
Maintenant que vous avez compris quel est le rôle et l’utilité d’un ingénieur Data, voyons ensemble les compétences indispensables pour occuper ce poste.
Liste des compétences d’un ingénieur Data
Si l’anglais est la langue des affaires, SQL est la langue des données et Python la langue de l’ingénierie. Cela signifie que l’ingénieur Data a besoin des compétences suivantes :
- Maîtriser SQL à un niveau de complexité élevé. Par exemple en utilisant les fonctions window et aggregate, en changeant la structure d’une base de données avec DDL ou en modifiant les données avec DML, ou encore en affinant les plans d’exécution de la base de données
- Connaître les techniques de modélisation des données : le modèle entité-association et la modélisation dimensionnelle
- Avoir une solide compréhension de l’ETL
- Comprendre parfaitement la plupart des outils, plateformes, et bibliothèques de projections architecturales
- Être capable de relier les points de la source à la destination avec n’importe quel langage de programmation adapté
Les ingénieurs Data des grandes entreprises ont tendance à se concentrer davantage sur les compétences « d’entreprise » comme l’ETL, la BI et les Data Warehouses, alors que les ingénieurs Data des petites entreprises se concentrent davantage sur les technologies de base. On peut constater ces différences dans ce graphique de stitchdata :
Python, l’arme principale d’un ingénieur Data
Au cours des deux dernières années, Python s’est élevé au sommet des langages de programmation en termes de popularité. Une des raisons de ce succès est l’augmentation du nombre d’ingénieurs Data, mais aussi l’utilisation des bibliothèques Python pour la Data Science et l’analyse des données.
Avec des bibliothèques centrées sur les données comme Pandas, NumPy et matplotlib, quiconque connaît la syntaxe et les règles de Python peut l’utiliser comme un puissant outil pour traiter, manipuler et visualiser des données.
Python est de plus très adapté à certaines tâches propres aux ingénieurs Data :
- Gérer les querelles de données (remodelage, agrégation, réunion de sources disparates, etc.) avec la bibliothèque Pandas
- Faire de l’ETL à petite échelle
- Faire interagir les données via API avec un outil de présentation comme Tableau
- Automatiser avec Apache Airflow, qui est nativement en Python
Le recrutement d’un ingénieur Data
Vous souhaitez recruter un ingénieur Data mais ne savez pas réellement quelles compétences attendre ? Commençons par prendre l’exemple de cette annonce pour un poste chez Facebook.
L’ingénieur Data chez Facebook
Selon une description de poste d’ingénieur Data chez Facebook à Menlo Park à Seattle, cette fonction implique les qualifications et responsabilités suivantes.
Qualifications minimales
- 2+ ans d’expérience en développement Java et/ou Python
- 2+ ans d’expérience en SQL (Oracle, Vertica, Hive, etc.)
- 2+ ans d’expérience en développement Stack avec LAMP
- 2+ ans d’expérience dans la conception, la mise en œuvre et la maintenance d’ETL sur mesure ou structurés (Informatica/Talend/Pentaho)
- Expérience de travail avec un système MapReduce ou MPP, quelle que soit la taille ou l’échelle
Responsabilités
- Développer son expertise en matière de données et sa propre qualité de données pour les pipelines qu’il construit
- Concevoir, construire et lancer de nouveaux modèles de données qui fournissent une analyse intuitive à ses clients
- Concevoir, construire et lancer des pipelines de données extrêmement efficaces et fiables pour déplacer les données (grandes et petites quantités) vers le très grand Data Warehouse de l’entreprise
- Concevoir et développer de nouveaux systèmes et outils pour permettre aux gens de consommer et de comprendre les données plus rapidement
- Utiliser ses compétences de développement à travers un certain nombre de langages comme Python, Java et PHP
- Développer des applications dans l’environnement Stack LAMP
- Travailler au sein d’équipes diverses dans des rôles à haute visibilité et s’approprier la solution de bout en bout
Le salaire de l’ingénieur Data
Le salaire d’un ingénieur Data est difficile à évaluer car il s’agit d’un profil encore très nouveau, en particulier en France d’où provient le rapport de salaire suivant. Il s’agit d’une étude de Data Recrutement présentant les salaires fixes et variables moyens en fonction de l’expérience dans le domaine :
Les évolutions du métier d’ingénieur Data
Comme nous l’avons déjà mentionné plus haut, l’ingénieur Data possède les compétences d’un ingénieur en Business Intelligence ainsi que de solides compétences en programmation et en Big Data. Mais certains experts considèrent même que les ingénieurs BI évolueront, de toute façon, vers un poste d’ingénieur Data. Intéressons nous alors à ce qui a changé ou qui continue de changer pour ces professions.
Les changements dans l’environnement de la Data
A mesure que la puissance des ordinateurs et surtout la vitesse d’Internet augmentent, davantage de données peuvent être collectées et doivent être analysées. Par conséquent, de nombreux paramètres autour de l’environnement des Data Warehouses ont changé ou vont changer, notamment :
- Les ordinateurs sont plus rapides et les rapports peuvent être construits directement sur les données source. Aucune couche persistante n’est nécessaire à l’optimisation des performances, une couche sémantique suffit
- Les entreprises n’ont plus le temps d’attendre que l’ETL soit terminé pendant la nuit, les données doivent être affichées immédiatement (presque en temps réel)
- La structure doit être mise en place après la collecte des données et non plus avant (ELT au lieu de ETL)
- Il devient nécessaire de faciliter la collaboration et l’échange de données
- A mesure que davantage de données sont stockées, la gouvernance devient de plus en plus importante afin d’avoir une vue d’ensemble complète des données, de leur ancienneté et de leur qualité
- De nouvelles tendances, outils, technologies et concurrents apparaissent tout le temps : les entreprises doivent rester à la pointe
L’ETL et ses plateformes évoluent
La façon dont les entreprises font de l’ETL change également. Le savoir-faire produit sur des plateformes comme Informatica, IBM Datastage, Cognos, AbInitio ou Microsoft SSIS n’est pas courant chez les ingénieurs Data modernes, et est remplacé par des compétences d’ingénierie logicielle plus génériques ainsi que par la compréhension de platesformes programmatiques ou de configuration comme Airflow, Oozie, Azkabhan ou Luigi. Il est aussi assez courant pour les ingénieurs de développer et de gérer leur propre orchestrateur/planificateur de travail. Le code est la meilleure abstraction qui soit pour les logiciels plutôt que d’utiliser des outils de glisser-déposer liés à l’ETL.
On peut enfin dire que la logique de transformation des données est d’une importance grandissante et ne devrait de ce fait pas être exclusivement gérée par les métiers de Business Intelligence.
La modélisation des données change
Puisque l’on ne peut changer l’ETL sans modéliser différemment les données, cette modélisation connait également d’importants changements.
- La dénormalisation plus poussée pour obtenir des gains de performance est généralement compensée par des moteurs de bases de données plus rapides ou des solutions de cloud computing
- Avec la popularité du stockage de documents et des blobs bon marché dans le stockage Cloud, il devient plus facile de créer et de développer des schémas de base de données dynamiquement sans écrire de déclarations DML
- Le respect des dimensions et de la conformité en général est extrêmement important dans les Data Warehouses et les environnements de données d’aujourd’hui. Mais pour être plus collaboratif et travailler sur les mêmes objets, assouplir ces règles est parfois un compromis nécessaire
- Les Data Warehouses sont de plus en plus consultés par des profils business d’autres départements de l’entreprise avides en données. Dans ce sens, les données ont plus besoin d’être livrées en temps réel que d’être traitées par lots avec des calculs ad-hoc. Ceci peut être fait avec de nouvelles technologies rapides comme Spark qui exécutent des travaux complexes ad-hoc et à la demande
Les manières de se former changent
Des entreprises comme Facebook, Airbnb et d’autres commencent à lancer des « Data Camps » ou « Data University ». L’objectif : éduquer les employés en interne sur tout ce qui concerne les données, afin que l’ensemble de l’entreprise soit sensibilisé au sujet.
Il existe également de plus en plus de cours et exercices en ligne pour se former aux différents métiers de la Data. Si le sujet vous intéresse, nous avons écrit un article sur la route à suivre pour s’auto-former à la Data Science.
Pour conclure, on peut dire qu’à long terme, l’ingénieur Data est amené à remplacer l’ingénieur BI pour beaucoup d’entreprises. On peut facilement imaginer que les Data Warehouses, peu importe leur forme, seront toujours un besoin pour les entreprises. En effet, celles-ci auront besoin d’un endroit où les données sont entièrement structurées et facilement accessibles. Mais la façon dont nous construisons des Data Warehouses ou leurs équivalents va changer, amenant ainsi le poste d’ingénieur Data à être de plus en plus recherché par ces entreprises.
Laisser un commentaire