

Data ingénieur : l’expert au plus proche de la donnée
⏱ 5 minCe profil technique, apparu il y a environ trois ans, est devenu un acteur clé dans la réussite des projets big data. Que font les data ingénieurs ? Quelles sont les compétences de ces experts très sollicités pour lesquels il n’existe pas encore de filière de formation dédiée.
« Le métier de data ingénieur est en train de transformer et de façonner de façon significative le monde de la tech, conclut Quantmetry dans son livre blanc « Dessine-moi un data engineer ». C’est une profession en devenir, qui a un énorme potentiel d’évolution, d’importance et d’impact sur les entreprises, et qui se trouve au carrefour de l’innovation. » Ce nouveau profil d’expert de la data est apparu il y a quelques années, depuis que les entreprises sont assez matures pour industrialiser leur traitement de la donnée. « Il recouvre de nombreux aspects, mais le point commun, c’est de gérer des flux de données, de telle sorte que la donnée soit nettoyée, disponible et utilisable par chacun », résume Quentin Nollet, data ingénieur chez 1000mercis.
Acteur clé des projets
Car si la donnée est le nouvel or noir, encore faut-il que cette matière première soit exploitable (lire l’article sur la valorisation des données). C’est là que le data ingénieur intervient. Selon les projets et les environnements, il peut intervenir sur tout le cycle de vie du projet. Ce qui en fait un expert idéal pour les petites entreprises, où la polyvalence est recherchée. En premier lieu, il a surtout un rôle clé en amont pour comprendre l’environnement numérique du client, collecter, préparer, stocker ses données, et ainsi permettre aux data scientists de les valoriser et d’élaborer des modèles. Il est également de plus en plus sollicité en aval des projets, pour accompagner les data scientists dans l’industrialisation de leurs modèles, relire le code, l’optimiser, assurer l’exploitabilité de leur solution, la mise à l’échelle en les aidant à faire des tests automatisés, à déployer et ordonner les traitements.
Ces deux missions, très différentes, contribuent aussi à rendre la définition de ce nouveau métier un peu floue. « Sans compter qu’elle évolue déjà avec la création d’un troisième métier, confirme Sylvain Lequeux, data ingénieur chez Xebia, qui en compte une petite vingtaine, celui de « machine learning ingénieur », à mi-chemin entre data ingénieur et data scientist. On y retrouve des data ingénieurs plutôt orientés machine learning et data science ou des data scientists qui se sont mis au développement. »
« En général, en tant que data ingénieur, nous intervenons à part égale avec les data scientists, poursuit-il. Mais certains préfèrent se focaliser sur la partie amont. Il arrive aussi que nous soyons seuls en lice lorsque le travail se limite à de l’ingénierie, comme pour créer un data lake, autrement dit préparer les données d’un client et toutes les ramener en un seul point pour faciliter leur valorisation ultérieure par d’autres systèmes. »
Expert en nettoyage et tuyauterie
En quoi consiste cette préparation de la donnée ? Ce n’est pas forcément nouveau, diront certains, mais à l’ère du big data, cela prend une importance considérable. Il peut, par exemple, s’agir d’alimenter une plateforme d’acquisition de données en récupérant des mesures de capteurs en temps réel, et en les stockant dans un format exploitable. Cela peut aussi consister à collecter des données issues de différentes sources et de divers systèmes, et d’homogénéiser leur format de stockage. Parfois, cela passe par du scrapping, autrement dit de l’extraction automatique de contenus du web. Le data ingénieur est curieux et débrouillard, spécialiste des tuyauteries !
Le travail de « nettoyage » consiste à ajuster le format des données pour qu’elles soient lisibles par les data scientists, à gérer les données manquantes pour qu’elles ne perturbent pas le traitement ultérieur, ou encore à normaliser les bases de données (noms des colonnes par exemple) pour pouvoir les partager avec les clients. Il s’agit ensuite de les amener à un endroit où le data scientist pourra les requêter. « Les entreprises ont souvent des systèmes d’information (SI) très hétérogènes, explique Sylvain Lequeux. Les données y sont réparties sur de multiples applications sous des formats différents, de complexité variables. Une grosse partie de mon travail consiste à explorer le SI du client pour trouver comment récupérer les données avant de les nettoyer pour les rendre exploitables. C’est un travail ingrat, nos livrables sont des fichiers csv, pas des jolis sites web, mais c’est techniquement très intéressant et fondamental. »
Cela fait appel à des solutions très variées. « Cela peut impliquer de la programmation, du développement de logiciels spécifiques ou encore la configuration de logiciels d’éditeurs, poursuit-il. C’est au cas par cas. C’est, en fait, un métier de développeur assez classique, mais avec un set de compétences big data. » Les technologies phares sont liées au stockage et au traitement de données volumineuses, comme Hadoop pour du stockage de longue durée, Scala pour la programmation, Spark pour le calcul distribué et le machine learning, Kafka pour le message queuing distribué (réception de messages ou d’événements stockés avant d’être utilisés), etc. La connaissance des technologies liées au cloud est un atout apprécié pour savoir tirer parti de ces infrastructures lorsque le client loue ce type de ressources.
Les compétences clés du data ingénieur selon Quantmetry
Un profil très apprécié, et très difficile à recruter
On l’aura compris, le data ingénieur est amené à travailler avec beaucoup d’interlocuteurs : d’autres data ingénieurs, des data scientists, des data analystes, des opérationnels… il a un esprit d’équipe, aime partager, transmettre, expliquer et justifier ses choix, ses méthodes, les difficultés. Il doit également faire face à tous les aspects politiques inévitablement liés aux données, du seul fait qu’il les manipule, les déplace, les anonymise, etc. Son action peut aller jusqu’à orienter la data gouvernance de l’entreprise.
Où trouve-t-on ces perles rares ? C’est le problème ! Le marché de recrutement de ces profils devenus indispensables est encore plus tendu que celui des data scientists… Car il n’y a pas encore de cursus de formation de data ingénieur permettant d’apprendre à manipuler de gros volumes de données, avec des cas d’usages, en temps réel, etc. « Les étudiants connaissent rarement ce métier ou le confondent avec celui de data scientist, reconnaît Quentin Nollet. Le data engineering est rarement abordé dans les écoles. Heureusement, dans certaines, des intervenants extérieurs commencent à être sollicités pour faire connaître ces perspectives professionnelles. »
Du coup, on retrouve souvent à ces postes clés des personnes qui ont déjà quelques années d’expérience, ont un background généraliste, et ont travaillé sur des outils variés : ce sont d’anciens développeurs, des profils issus de l’informatique décisionnelle (Business Intelligence, BI), parfois des data scientists…mais aussi des profils issus d’autres sciences comme la physique théorique (qui ont une solide formation en maths, ont souvent manipulé des grosses bases de données et décident de se plonger dans le code). « Chez 1000mercis, personne n’a le même parcours dans l’équipe, annonce Quentin Nollet (ils sont une dizaine de data ingénieurs). On s’est tous autoformés, « sur le tas », au cours de nos projets professionnels sur des cas d’usage, lors de formations en entreprise, via des cours du soir, des Moocs, des livres, des tutoriaux, des blogs, etc. » Et pas mal de data ingénieurs sont aussi en freelance.
Les data ingénieurs juniors sont, quant à eux, issus d’écoles d’informatique (comme Epita, Epitech, Enseeiht) ou d’ingénieurs généralistes (comme UTC, UTT, Polytech) avec un parcours à mi-chemin entre le développement informatique et les technologies big data. Mais Spark ou Kafka n’y sont en général pas enseignés, Hadoop survolé… Il faut avoir envie d’apprendre par soi-même, et d’être ensuite en veille constante sur ces technologies émergentes qui évoluent très vite. « Chez 1000mercis, nous avons mis en place une formation interne de quelques heures pour aider ceux qui le souhaitent à acquérir les bases de Hadoop, Spark ou Kafka », ajoute Quentin Nollet. En attendant que l’offre de formation continue et permanente s’adapte.
Isabelle BELLIN