olly - Fotolia
Data scientist et data engineer : deux experts à ne pas confondre
Les data scientists et les ingénieurs data travaillent souvent ensemble, et parfois ces deux postes sont confondus. Découvrez ce qui différencie ces deux rôles.
Les postes liés au traitement des données sont souvent regroupés. Cependant, il y a des différences significatives entre un data scientist et data engineer. Lorsque les deux rôles sont confondus par la direction, les entreprises peuvent rencontrer divers problèmes d’efficacité des équipes, de performances des systèmes, d’extensibilité et de déploiement de nouveaux modèles d’IA ou d’analytique en production.
« Le plus grand problème des entreprises, c’est quand elles engagent des data scientists lorsqu’elles ont besoin de plus d’ingénieurs data », déclare Jesse Anderson, directeur général du Big Data Institute.
« Le data scientist est le nouveau poste à la mode avec tout l’engouement qui entoure l’IA », assure-t-il. Le data engineer joue un rôle plus important en coulisses, de sorte que ses efforts ont tendance à ne pas être aussi visibles ou compris par la direction et les recruteurs.
Jesse AndersonBig Data Institute
De plus, les data scientists côtoient généralement la direction. Ils partagent des informations et des indicateurs concrets d’aide à la décision. Les cadres apprécient cette démarche et souhaitent souvent en recruter davantage. Problème, la plupart des entreprises ont davantage besoin d’ingénieurs capables de traiter les données pour que les data scientists soient productifs.
Jesse Anderson suggère que l’une des choses les plus importantes est de s’assurer que l’équipe data engineering obtient l’attention appropriée, lorsque de nouveaux indicateurs sont partagés avec la direction. Cela permet de garantir un investissement adéquat dans la constitution de cette équipe.
Expérimentations contre projets logiciels
Les data scientists sont beaucoup plus à l’aise pour penser aux probabilités, aux prévisions, alors que les ingénieurs data sont normalement plus à même de mener à bien les projets.
« Il y a de nombreuses façons de décrire la différence entre ces deux professions. Ces rôles ont évolué au cours des deux dernières années, mais il y a une distinction utile à faire : les data scientists mènent des expériences, et les data engineers mènent des projets logiciels », estime Andy LaMora, directeur mondial des données, de l’analyse et de l’IA chez Topcoder, un service de développement en crowdsourcing.
Les data scientists sont souvent formés aux mathématiques et aux théories qui sous-tendent les outils analytiques, y compris les mathématiques discrètes, l’algèbre linéaire et la théorie des graphes. Ils doivent appliquer les bons modèles et les bonnes mesures d’évaluation à un problème.
Les ingénieurs data sont généralement des professionnels du stockage et de la transformation des données, qui résolvent des problèmes liés à la taille ou à la rapidité avec laquelle les jeux de données sont conservés et rendus utiles.
Jason PreszlerKarat
« La plupart des entreprises dites cloud natives ont besoin de cinq data engineers pour chaque data scientist afin de mettre les données aux bons formats et aux bons endroits. C’est une condition nécessaire à une bonne pratique de la data science », assure Jason Preszler, data scientist en chef chez Karat, un service de recrutement technique. « Sans ces deux rôles, les données que les entreprises collectent facilement sont simplement inexploitées ou sous-utilisées ».
Jesse Anderson estime qu’environ 30 à 50 % des entreprises répartissent correctement les deux professions. Il rencontre souvent des organisations qui demandent à des data scientists de faire le travail des ingénieurs data. « Cela conduit à une dette technique », considère-t-il.
Certains des problèmes qu’il a rencontrés sont liés au fait que les data scientists écrivent des applications, qui ne passent pas à l’échelle en production. Souvent, ces experts des probabilités ne sont même pas conscients de leurs limites.
Le directeur général du Big Data Institute évoque le cas d’une équipe de data science qui essayait de passer à l’échelle un algorithme d’analyse d’images. Elle a contacté un autre data scientist expert de ce type de modèle. Lui non plus n’a pas réussi l’opération. Un ingénieur data a pu examiner le problème d’une manière différente et a trouvé la solution en ajustant l’infrastructure de traitement de données plutôt que le modèle en lui-même.
À l’inverse, il est beaucoup moins fréquent qu’une entreprise fasse appel à un data engineer pour effectuer des tâches de data science. Si c’est le cas, il faut déterminer la précision des modèles et leur pertinence pour une tâche donnée. Les dirigeants doivent déterminer si les ingénieurs ont les connaissances nécessaires en statistiques pour éliminer les biais et les résultats non significatifs sur le plan statistique.
Les compétences requises en data science
Vivek Ravisankar, cofondateur et PDG d’HackerRank, une plateforme pour mettre en relation les développeurs et les entreprises, explique que les data scientists ont une connaissance approfondie des statistiques et dans au moins un domaine de l’apprentissage machine ou de l’IA. Ils doivent être capables de construire des modèles mathématiques hautement spécialisés et avoir une compréhension approfondie des algorithmes de machine learning.
De préférence, ils ont des compétences de base en programmation R, Python et une bonne compréhension des outils de gestion de données distribuées comme MapReduce, Hadoop, Hive, Spark, Gurobi et MySQL, entre autres.
« Les meilleures data scientists construisent des modèles efficaces, utilisent des techniques appropriées pour différents types de problèmes et élaborent des stratégies pour exploiter les jeux de données », assure Vivek Ravisankar.
Maintenir la qualité, le volume et la propreté des jeux de données est le plus grand défi dans de nombreux projets de data science. Les data scientists doivent également avoir le sens de la communication, comprendre les enjeux économiques de leur organisation et être capables de constituer des équipes solides pour la soutenir.
Les compétences requises en data engineering
« Les ingénieurs data rendent le travail des data scientists possible », considère Vivek Ravisankar.
Les ingénieurs en données se concentrent beaucoup plus sur les compétences en développement nécessaires à la construction et à la gestion des architectures de données que les data scientists utilisent. S’ils ne construisent pas ou ne gèrent pas les pipelines de données, ils entretiennent des bases de données et des systèmes de traitement à grande échelle. Comme ils sont chargés de maintenir l’environnement dans lequel les data scientists travaillent, ils doivent non seulement être techniquement efficaces, mais aussi savoir travailler en équipe.
Les bons data engineers ont généralement une formation en développement, avec la capacité de passer d’une technologie à l’autre et de les combiner.
« Ils connaissent bien les besoins d’une équipe data driven et le travail de base architectural nécessaire pour permettre aux analystes et aux data scientists de s’épanouir », estime le PDG d’HackerRank.
Les ingénieurs data doivent avoir une connaissance approfondie d’un ou plusieurs des frameworks et langages, tels que Hadoop, NoSQL, Spark, Java et Python. Enfin, ils doivent avoir une expérience avérée dans la promotion de l’accessibilité, de la rentabilité et de la qualité des données au sein d’une organisation.
Selon l’entreprise, cela peut aller de l’installation et de la gestion de systèmes de stockage de données – tels que des bases de données relationnelles ou NoSQL et/ou des moteurs de streaming et de stockage comme Spark – à la création et à la gestion d’extraits utiles et perspicaces des données dans des entrepôts de données et des microservices.
Andy LaMora constate que certaines entreprises font une distinction entre les compétences appliquées à la création et à la mise à l’échelle d’énormes entrepôts de données et l’extraction de données pour les data scientists, pourtant elles appartiennent à la même famille de compétences.
Perspectives d’emploi
« Les perspectives d’emploi pour les deux rôles sont superbes », affirme Andy LaMora.
Bien que les plateformes de données et les services dans le cloud s’améliorent pour automatiser de nombreux aspects du traitement des données, de nouveaux usages apparaissent tout aussi rapidement. Toutes ces données ont besoin d’être transférées ou stockées, et toutes doivent être analysées.
Andy LamoraTopcoder
« Il se peut qu’à l’avenir, les experts de la data science soient moins demandés au fur et à mesure de la rationalisation des processus de traitement, mais cela ne se produira probablement pas dans les prochaines années », prédit Andy LaMora.
HackerRank a constaté que la demande en data scientist a augmenté de 256 % depuis 2013, et son rapport 2020 sur les compétences des développeurs montre que ce poste est la priorité d’un recruteur sur six dans le monde. Nombre de ces candidats sont issus de domaines autres que l’informatique, notamment la physique, les mathématiques et la biologie.
« Les entreprises doivent s’assurer de définir exactement ce qu’elles recherchent lorsqu’elles conçoivent le processus d’embauche. C’est la clé pour trouver des candidats ayant les bonnes compétences beaucoup plus rapidement », conseille Vivek Ravisankar.
Malgré cette priorité accrue, les scientifiques de données gagnent en moyenne un peu plus que les ingénieurs de données, mais pas beaucoup. Selon Glassdoor, le salaire moyen aux États-Unis pour un data scientist par rapport à un data engineer était de 113 000 dollars contre 103 000 dollars respectivement. En France, le salaire moyen environne les 50 000 euros pour les deux professions.
Certains ingénieurs data finissent par développer une expertise en data science et vice versa. Jesse Anderson appelle une personne possédant ces compétences transversales un ingénieur en machine learning. Ce persona doit être curieux, à l’aise avec le fait d’expérimenter des modèles algorithmiques tout en possédant la rigueur propre à la pratique du data engineering.