Retrouvez-nous le 14 mai au Google Cloud Summit à l'Accor Arena - Paris !

logo saagie red
illustration blog difference ds et dev

Quelles différences entre Data Scientist et Data Engineer ?

Dans les métiers de la data et de la business intelligence, le Data Scientist et le Data Engineer ont tous les deux le vent en poupe. Mais que font-ils ? Comment travaillent-ils ensemble et gèrent-ils les aspects relationnels ? Et en quoi sont-ils complémentaires ?

Avant l’ère du Big Data, on trouvait déjà deux rôles similaires. On peut les nommer « les ancêtres » des deux métiers actuels : l’analyste de données (qui comme son nom l’indique analyse les données), et le développeur BI. Avec le développement de l’IA et l’apparition de la data science, leurs rôles ont évolué et se sont clairement distanciés mais leur coopération reste essentielle.

Le métier le plus sexy du XXIème siècle…

La phrase qui date de 2012 est déjà un peu dépassée, mais les Data Scientists continuent à être un des profils les plus recherchés et « gâtés » dans l’industrie. Néanmoins, les Data Scientists ne seraient aussi importants sans les Data Engineers.

Les Data Scientists construisent des modèles en utilisant des outils mathématiques, du machine learning et les connaissances métier. Ils utilisent également des langages de programmation.

Mais avant de construire le modèle, il faut dépurer et préparer les données pour les exploiter. Qui est en charge de cela ? Il s’agit du Data Engineer, qui construit un environnement adapté aux flux de données, et qui le met à disposition du Data Scientist.

Comme vous voyez, les Data Engineers sont un composant vital dans l’équipe de data science, et c’est un profil très demandé dans un projet data.

Data Engineer, cet inconnu ?

Pour le connaître un peu mieux, définissons un son rôle. Le Data Engineer construit les structures de données et les architectures technologiques nécessaires pour l’acquisition, l’analyse et l’implémentation à grande échelle des applications qui utilisent massivement des données.

Il doit être capable de modéliser et de construire les datawarehouses et de définir comment les données sont intégrées et transformées pour qu’elles soient prêtes à être analysées (ETL : Extract, Transform and Load). Ainsi, il construit la pipeline qui est transmise ensuite au Data Scientist pour qu’il puisse mettre ses modèles en production, avec la garantie d’un flux continu entre les serveurs et les applications.

Il doit s’assurer que les données soient facilement accessibles, que le flux fonctionne sans problème, et idéalement qu’il soit optimisé en tenant en compte de l’écosystème de données de l’entreprise.

Est-ce qu’un Data Engineer doit connaître en profondeur les modèles développés par les Data Scientists ? La réponse est non. En revanche, même s’ils ne sont pas forcément experts en apprentissage automatique ou en machine learning, ils doivent connaître les bases de ces modèles pour savoir quelle est l’architecture correspondante à développer.

Vous l’avez compris, les Data Engineers sont en charge de l’infrastructure du big data sous-jacente aux analyses faites par le Data Scientist.

Concernant les outils technologiques utilisés par le Data Engineer, les plus importants sont, entre autres : Hadoop, MapReduce, Hive, Pig, NoSQL, SQL, DashDB, MySQL, MongoDB et Cassandra.

Data Scientist, ce métier (pas) si bien connu

Les Data Scientists sont comme les alchimistes du XXIème siècle. Ils convertissent les données brutes en idées précises. Ils appliquent des statistiques et de l’apprentissage automatique, avec une approche analytique pour résoudre des problèmes business.

De plus, un Data Scientist doit avoir une maîtrise de la programmation, de la modélisation d’algorithmes, du traitement des grands volumes de données. Il doit aussi avoir une certaine expérience et connaissance des enjeux industriels et commerciaux du projet. Enfin, le Data Scientist doit savoir interpréter et montrer ses résultats pour pouvoir vulgariser son travail. Pour cela, il fait appel à une bonne visualisation et un vocabulaire adapté à un public pas technique.

La colonne centrale du travail d’un Data Scientist s’articule autour du développement des modèles de machine learning. Pour ce faire, il doit maîtriser des librairies de programmation statistique comme Pandas, et connaître les détails des langages de programmation. Python ou R. Jupyter n’ont aucun secret pour eux. Ils sont aussi capables de lancer des clusters Spark et des développements en deep learning avec Tensorflow.

Néanmoins, pour pouvoir bien communiquer avec les Data Engineers, ils doivent pouvoir travailler avec des bases SQL et noSQL, et connaître les fondements de Hadoop.

La collaboration fait la force

Étant donné que les Data Scientists sont impliqués avec plus ou moins d’importance dans chaque étape de la construction d’un système de data science, ils doivent pouvoir travailler avec d’autres métiers, en plus des Data Engineers.

Dans une équipe data, on voit de plus en plus de métiers spécialisés : Chief Data Officer (en charge de l’organisation du projet avec une vision client), l’Architecte Big Data (l’expert de la modélisation de l’infrastructure) le Business Analyst (qui vulgarise les résultats et les transforme en connaissance business pour le client), etc.

Gardez en tête que 85 % des projets data n’arrivent pas en production. Souvent, il s’agit d’un problème dans la gestion de différents profils dans l’équipe et du travail fait ensemble. Les Data Scientists et Data Engineers étant les deux piliers de ces projets, vous avez tout l’intérêt à investir dans ces profils.