Les métiers relatifs à la data, que ce soit en Big Data, transformation, intelligence artificielle, etc, demandent une panoplie de connaissances et d’outils qu’il est nécessaire de maîtriser, sinon d’en avoir au moins quelques notions.
Ces différents métiers ne demandent pas les mêmes niveaux de connaissance et / ou de maîtrise. Dans le cadre de cet article, nous allons nous concentrer sur le métier de Data Engineer.
Pour rappel, le Data Engineer est responsable du développement de pipeline de données et est le garant de leur haute disponibilité et de leur maintenance. Il doit également être capable de comprendre et d’analyser les algorithmes de data science.
Domaine | Résumé | Exemple de technos |
Systèmes d’exploitation | Excellente maîtrise des systèmes d’exploitation | Windows, Linux, Solaris |
Développement | Parfaite maîtrise de langages de programmation | Python, R, Scala |
Base de données | Expertise en manipulation de bases de données | SQL, MongoDb, Neo4j |
Big Data | Expertise en gestion de volumes de données importants | Hive, HBase |
Machine Learning | Connaissance de certains algorithmes, et compréhension de leur fonctionnement | Sklearn, Matlib |
Communication | Excellente communication et capacité à vulgariser son travail | Mails, présentations |
Mise en prod et API | Excellente maîtrise du fonctionnement des API | FastAPI, Flask |
Data Warehouse | Connaissance des technologies cloud | Azure, AWS, Snowflake |
On peut regrouper les must-have skills en différents groupes.
- Outils de base de données : Le stockage, l’organisation et la manipulation de gros volume de données est essentiel pour le data engineer. La maîtrise des technologies SQL, NoSQL est impérative, et fait partie intégrante de son quotidien.
- Le développement fait partie intégrante du métier de Data Engineer. Les langages les plus utilisés sont le Python, R et Scala. Cependant, sa connaissance en développement lui permet également de rapidement monter en niveau sur des langages qu’il ne maîtrise pas forcément, tels que Golang, Ruby ou Perl pour ne citer qu’eux.
- Data Warehousing (entreposage des données). Il s’agit là de technologies modernes principalement orientées cloud qui permettent le stockage des données et leur accès facilement. Les principaux acteurs de Data Warehousing sont Amazon avec Redshift, et Microsoft avec Azure SQL Database. Mais Big Query de Google ou encore Snowflake sont également des technologies qui peuvent être demandées.
- Cela peut paraître évident, mais une forte connaissance des systèmes d’exploitations Windows et Linux est primordiale.
- Les volumes de données pouvant être très importants, leur analyse (et les outils associés) doivent être maîtrisés par le Data Engineer. Parmi les outils les plus demandés, et par conséquent ceux qu’il est primordial de maîtriser, on retrouve les solutions basées sur Hadoop, ainsi que Hive ou HBase.
- Des compétences en compréhension des algorithmes de Machine Learning. Cela est principalement le cœur de métier des Data Scientists, mais leur compréhension (sans pour autant entrer dans le même niveau de compétences) est importante pour les Data Engineer. Cela leur permettra d’avoir une bonne compréhension de la manière dont leurs données vont être utilisées, mais également de pouvoir éventuellement agir sur ces algorithmes en cas de nécessité.
- Bien que cela puisse encore paraître évident, de solides compétences en communication sont primordiales. Les Data Engineers auront à collaborer et à présenter des résultats à des collègues ou responsables qui n’ont pas l’expertise nécessaire pour appréhender les diverses analyses. Le fait de pouvoir vulgariser et ainsi se faire comprendre par son auditoire est très important, que cela soit de vive voix, ou maintenant de plus en plus en distanciel, via des présentations ou mails.
- La connaissance des étapes de mise en production et particulièrement par l’intermédiaire d’APIs est très importante pour le Data Engineer. En effet, il sera amené à écrire des APIs dans le but de permettre aux utilisateurs et autres services d’effectuer des actions sur des jeux de données, modèles de Machine Learning. L’utilisation de Docker ainsi que de Kubernetes pour assurer un déploiement sans encoche est primordiale.
Nous espérons que cet article a pu vous éclairer sur les compétences nécessaires à tout bon Data Engineer qui se respecte. Cependant, il ne faut pas oublier que ces métiers sont en perpétuelle évolution, et par conséquent, il en va de leur performance que les Data Engineer doivent assurer une veille technologique constante.
Pour vous former au métier de Data Engineer, découvrez sans plus tarder le parcours pensé et construit par DataScientest.