Que ce soit en entreprise ou en agence, dans le domaine en pleine explosion de la Data, deux profils majeurs ont émergé ces dernières années. D'un côté, en amont, on trouve l'expert(e) en charge d'élaborer, implémenter et maintenir l'ensemble des processus de récupération, d'ingestion et de nettoyage de volumes toujours croissants de données, le Data Engineer. De l'autre, en aval, la personne en charge d'utiliser ces données à bon escient pour faire émerger de nouveaux insights, optimiser la production, prédire des événements, etc. communément appelée Data Scientist (ou parfois Data Analyst, selon l'importance donnée au machine learning).
Il semble pourtant aujourd'hui qu'une distinction aussi fine entre ces deux métiers ne soit pas aussi pertinente qu'elle l'a été à un moment : différents facteurs engendrent l'émergence progressive d'un profil data « full-stack », plus adapté à une frontière toujours plus floue entre gestion et analyse des données.
Il semble pourtant aujourd'hui qu'une distinction aussi fine entre ces deux métiers ne soit pas aussi pertinente qu'elle l'a été à un moment : différents facteurs engendrent l'émergence progressive d'un profil data « full-stack », plus adapté à une frontière toujours plus floue entre gestion et analyse des données.
Comment en est-on arrivé là ?
Côté Data Science, le volume et la complexité croissante des données font qu'il devient de plus en plus difficile pour un Data Scientist de se préoccuper uniquement des aspects analytiques de la démarche. Rassembler les données et les préparer pour l'analyse (création de variables, jointures, changements de format), font tout autant partie de ses prérogatives. À l'autre bout de la chaîne, le Scientist doit aussi se préoccuper de l'intégration de son travail dans le pipeline de l'entreprise : comment le « produit data » final sera-t-il mis en production et intégré à l'architecture existante de l'entreprise ? Comment les prédictions générées par des modèles de machine learning seront-elles exposées à d'autres applications pour un usage réel ?
L'usage du cloud computing a également révolutionné les réponses à ces questions, en rendant les aspects engineering plus accessibles, avec des solutions puissantes (machines virtuelles, y compris avec GPU), scalables et parfois même serverless (Amazon Sagemaker, Google Cloud ML Engine), disponibles en quelques clics. Ces nouvelles solutions débloquent la possibilité pour un Data Scientist de maîtriser pleinement les étapes préalables à l'analyse, et de les mettre en place lui-même grâce à AWS, GCP ou Azure, sans faire appel à un Data Engineer.
Le Data Engineer, quant à lui, doit faire face à la question toujours plus importante de l'usage des données au-delà de leur captation. Nous sortons de l'ère du « pur big data », où les entreprises ont travaillé à rassembler, nettoyer et ingérer toutes leurs données dans des « data lakes » ; elles se préoccupent désormais de savoir où, quand et comment ces données seront rendues utiles et profitables. Le Data Engineer se voit de plus en plus souvent demandé des réponses à ces problématiques, en offrant une expertise qui ne se limite plus à des aspects purement techniques.
Enfin, l'intégration des problématiques data dans les entreprises est de plus en plus transversale : quand, il y a quelques années, une équipe « data science » ou « analytics » rassemblait tous les experts data, de nombreuses entreprises se dirigent maintenant vers un modèle où l'analyse de données et le machine learning font pleinement partie de différentes équipes aux prérogatives très variées : sujets métiers, innovation, finances, RH, etc. Dans ce contexte, un profil data multi-compétences offre une agilité appréciée, et peut être intégré facilement à ces équipes aux besoins plus complexes.
L'usage du cloud computing a également révolutionné les réponses à ces questions, en rendant les aspects engineering plus accessibles, avec des solutions puissantes (machines virtuelles, y compris avec GPU), scalables et parfois même serverless (Amazon Sagemaker, Google Cloud ML Engine), disponibles en quelques clics. Ces nouvelles solutions débloquent la possibilité pour un Data Scientist de maîtriser pleinement les étapes préalables à l'analyse, et de les mettre en place lui-même grâce à AWS, GCP ou Azure, sans faire appel à un Data Engineer.
Le Data Engineer, quant à lui, doit faire face à la question toujours plus importante de l'usage des données au-delà de leur captation. Nous sortons de l'ère du « pur big data », où les entreprises ont travaillé à rassembler, nettoyer et ingérer toutes leurs données dans des « data lakes » ; elles se préoccupent désormais de savoir où, quand et comment ces données seront rendues utiles et profitables. Le Data Engineer se voit de plus en plus souvent demandé des réponses à ces problématiques, en offrant une expertise qui ne se limite plus à des aspects purement techniques.
Enfin, l'intégration des problématiques data dans les entreprises est de plus en plus transversale : quand, il y a quelques années, une équipe « data science » ou « analytics » rassemblait tous les experts data, de nombreuses entreprises se dirigent maintenant vers un modèle où l'analyse de données et le machine learning font pleinement partie de différentes équipes aux prérogatives très variées : sujets métiers, innovation, finances, RH, etc. Dans ce contexte, un profil data multi-compétences offre une agilité appréciée, et peut être intégré facilement à ces équipes aux besoins plus complexes.
Alors, la data « full-stack », c'est quoi ?
Tout comme au moment de la naissance du full-stack web developer, ce changement de paradigme consiste à s'éloigner d'une expertise très pointue et « profonde » d'un domaine ou langage restreint, pour aller vers une connaissance large et englobante de tout le pipeline de développement orienté données. L'expert data full-stack devient un véritable homme-orchestre de la donnée, capable d'intervenir avec un haut degré de confiance à toutes les étapes de ce processus, qu'il s'agisse de :
- La récupération et l'ingestion de très grand volume de données, vers une base de données efficace et au format approprié, en provenance de sources multiples ;
- La prise en compte de préoccupations annexes au stockage mais pour autant cruciales : sujets de sécurité, de réseau... ;
- La compréhension le nettoyage et la transformation des données pour préparer les étapes d'analyse ;
- L'analyse des données elle-même, avec un spectre de complexité pouvant aller d'un simple profiling des données jusqu'à l'usage de réseaux de neurones pour prédire ou classifier des événements ;
- La présentation des données, à la fois au stade brut (tables, dashboards) et après analyse (data visualisations, rapports d'analyse) ;
- L'implémentation et l'industrialisation des processus d'analyse, souvent dans le cloud et à travers des API, ainsi que leur maintenance ;
- Enfin, une connaissance globale des questions liées aux données et à leur usage, comme par exemple les aspects légaux (RGPD, normes de stockage pour les données de santé...) et sociétaux (vie privée, biais algorithmiques...).
Certes, la liste est longue ! Mais comme dans le cas du full-stack web developer, l'idée n'est pas qu'un expert data full-stack soit un spécialiste travaillant entièrement seul sur l'intégralité de ces questions : des collègues plus spécialisés et aux expertises plus marquées (Data Engineers et Scientists) seront naturellement intégrés au projet dès lors que sa complexité le rendra nécessaire.
- La récupération et l'ingestion de très grand volume de données, vers une base de données efficace et au format approprié, en provenance de sources multiples ;
- La prise en compte de préoccupations annexes au stockage mais pour autant cruciales : sujets de sécurité, de réseau... ;
- La compréhension le nettoyage et la transformation des données pour préparer les étapes d'analyse ;
- L'analyse des données elle-même, avec un spectre de complexité pouvant aller d'un simple profiling des données jusqu'à l'usage de réseaux de neurones pour prédire ou classifier des événements ;
- La présentation des données, à la fois au stade brut (tables, dashboards) et après analyse (data visualisations, rapports d'analyse) ;
- L'implémentation et l'industrialisation des processus d'analyse, souvent dans le cloud et à travers des API, ainsi que leur maintenance ;
- Enfin, une connaissance globale des questions liées aux données et à leur usage, comme par exemple les aspects légaux (RGPD, normes de stockage pour les données de santé...) et sociétaux (vie privée, biais algorithmiques...).
Certes, la liste est longue ! Mais comme dans le cas du full-stack web developer, l'idée n'est pas qu'un expert data full-stack soit un spécialiste travaillant entièrement seul sur l'intégralité de ces questions : des collègues plus spécialisés et aux expertises plus marquées (Data Engineers et Scientists) seront naturellement intégrés au projet dès lors que sa complexité le rendra nécessaire.
Quelles conséquences sur les métiers et les activités Data ?
Ces changements ont des conséquences directes sur la manière de recruter et former des équipes Data. Les formations au sein des écoles d'ingénieurs mettant souvent l'accès sur une dimension plutôt qu'une autre, il est souvent nécessaire de monter en compétences sur la partie « négligée » après l'acquisition du diplôme. Au sein de l'équipe Data de Neoxia, chaque membre a ainsi une expertise dominante (Engineering ou Science), mais se doit aussi de maîtriser les fondamentaux de l'autre discipline.
Par exemple, la maîtrise des technologies de cloud computing énoncées plus haut nécessite de se tenir au courant des nombreuses évolutions et nouveaux services proposés par Amazon, Google et Microsoft ; les certifications Google Professional Data Engineer et Amazon Big Data Specialty permettent de venir confirmer la connaissance de ces outils cruciaux. Côté science, les usages sont tout aussi mouvants, avec de nombreux frameworks de deep learning qui viennent régulièrement chambouler les usages (TensorFlow, Keras, pyTorch...), tandis que certains outils, comme pandas, sont devenus tellement répandus que leur connaissance est nécessaire, autant dans les activités Engineering que Science.
Une dernière conséquence, mais non des moindres, de l'élargissement des activités data en entreprise, est qu'on ne fait plus appel à elles de façon isolée pour produire des analyses et des prédictions indifférentes au sujet abordé. Au contraire, une activité data réellement utile implique de savoir collaborer avec des acteurs d'horizons très variés (y compris non techniques) pendant toute la durée du projet, pour comprendre leurs besoins, puis, à l'autre bout du processus, d'être en mesure de présenter des résultats clairs à un public varié et dans différents formats (résumé ou détaillé, écrit ou oral). Ces compétences de « Business Analyst », parfois trop peu enseignées en école d'ingénieurs, sont pourtant désormais au coeur de l'activité data, dès lors qu'elle permet de conseiller directement les managers et administrateurs dans leurs décisions.
Pour résumer, l'importance d'une expertise data "full-stack" se fait de plus en plus en sentir. Elle est la conséquence de plusieurs tendances de fond, y compris l'ubiquité du cloud computing et le rôle toujours plus important de la data dans les activités business ; et elle a des impacts réels sur la manière dont les entreprises opèrent, recrutent, et innovent dans ce domaine. Pour des métiers dont l'émergence est aussi récente, nul doute que nous assisterons dans les années à venir à de nombreuses évolutions des champs de compétences à maîtriser, et donc des intitulés de postes associés. En attendant, et pour quelques mois encore, vive les experts "full-stack data" !
Par exemple, la maîtrise des technologies de cloud computing énoncées plus haut nécessite de se tenir au courant des nombreuses évolutions et nouveaux services proposés par Amazon, Google et Microsoft ; les certifications Google Professional Data Engineer et Amazon Big Data Specialty permettent de venir confirmer la connaissance de ces outils cruciaux. Côté science, les usages sont tout aussi mouvants, avec de nombreux frameworks de deep learning qui viennent régulièrement chambouler les usages (TensorFlow, Keras, pyTorch...), tandis que certains outils, comme pandas, sont devenus tellement répandus que leur connaissance est nécessaire, autant dans les activités Engineering que Science.
Une dernière conséquence, mais non des moindres, de l'élargissement des activités data en entreprise, est qu'on ne fait plus appel à elles de façon isolée pour produire des analyses et des prédictions indifférentes au sujet abordé. Au contraire, une activité data réellement utile implique de savoir collaborer avec des acteurs d'horizons très variés (y compris non techniques) pendant toute la durée du projet, pour comprendre leurs besoins, puis, à l'autre bout du processus, d'être en mesure de présenter des résultats clairs à un public varié et dans différents formats (résumé ou détaillé, écrit ou oral). Ces compétences de « Business Analyst », parfois trop peu enseignées en école d'ingénieurs, sont pourtant désormais au coeur de l'activité data, dès lors qu'elle permet de conseiller directement les managers et administrateurs dans leurs décisions.
Pour résumer, l'importance d'une expertise data "full-stack" se fait de plus en plus en sentir. Elle est la conséquence de plusieurs tendances de fond, y compris l'ubiquité du cloud computing et le rôle toujours plus important de la data dans les activités business ; et elle a des impacts réels sur la manière dont les entreprises opèrent, recrutent, et innovent dans ce domaine. Pour des métiers dont l'émergence est aussi récente, nul doute que nous assisterons dans les années à venir à de nombreuses évolutions des champs de compétences à maîtriser, et donc des intitulés de postes associés. En attendant, et pour quelques mois encore, vive les experts "full-stack data" !