Ingénieur et Data Scientist: quelle est la différence?

Les professions de Data Scientist et de Data Engineer sont souvent confuses. Chaque entreprise a ses spécificités de travailler avec des données, différents objectifs de son analyse et une idée différente de laquelle des spécialistes devrait être impliquée dans quelle partie du travail, donc chacune a ses propres exigences. 

Nous comprenons quelle est la différence entre ces spécialistes, quels problèmes commerciaux ils résolvent, quelles compétences ils ont et combien ils gagnent. Le matériel s'est avéré être volumineux, nous l'avons donc divisé en deux publications.

Dans le premier article, Elena Gerasimova, chef du département de science des données et d'analyse en netologie, explique quelle est la différence entre Data Scientist et Data Engineer et avec quels outils ils travaillent.

Différences entre les rôles des ingénieurs et des scientifiques


Un ingénieur de données est un spécialiste qui, d'une part, développe, teste et maintient l'infrastructure pour travailler avec des données: bases de données, systèmes de stockage et de traitement de masse. D'un autre côté, c'est celui qui nettoie et «peigne» les données à l'usage des analystes et des scientifiques des données, c'est-à-dire qu'il crée des pipelines de traitement des données.

Data Scientist crée et forme des modèles prédictifs (et pas seulement) à l'aide d'algorithmes d'apprentissage automatique et de réseaux de neurones, aidant les entreprises à trouver des modèles cachés, à prévoir les événements et à optimiser les processus métier clés.

La principale différence entre un Data Scientist et un Data Engineer est qu'ils ont généralement des objectifs différents. Les deux visent à garantir que les données sont accessibles et de haute qualité. Mais Data Scientist trouve des réponses à ses questions et teste les hypothèses dans l'écosystème de données (par exemple, basé sur Hadoop), et Data Engineer crée un pipeline pour la maintenance d'un algorithme d'apprentissage automatique écrit par un scientifique des données dans un cluster Spark au sein du même écosystème. 

Un ingénieur de données apporte de la valeur à une entreprise en travaillant en équipe. Sa tâche est d'agir comme un lien important entre les différents participants: des développeurs aux consommateurs de rapports commerciaux, et d'augmenter la productivité des analystes - du marketing et des produits à la BI. 

Le Data Scientist, au contraire, est activement impliqué dans la stratégie de l'entreprise et extrait des informations, prend des décisions, met en œuvre des algorithmes d'automatisation, modélise et génère de la valeur à partir des données.


Le travail avec les données obéit au principe GIGO (garbage in - garbage out): si les analystes et les scientifiques des données traitent des données non préparées et potentiellement incorrectes, les résultats, même avec les algorithmes d'analyse les plus sophistiqués, seront incorrects. 

Les ingénieurs de données résolvent ce problème en construisant des pipelines pour le traitement, le nettoyage et la transformation des données et en permettant au data scientist de travailler avec des données de haute qualité. 

Il existe de nombreux outils sur le marché pour travailler avec des données couvrant chacune des étapes: de l'apparition des données à la sortie en passant par le tableau de bord du conseil d'administration. Et il est important que la décision sur leur utilisation soit prise par l'ingénieur, non pas parce que c'est à la mode, mais parce que cela va vraiment aider le reste des participants au travail. 

Conditionnellement: si l'entreprise a besoin de se lier d'amitié avec BI et ETL - en téléchargeant des données et en mettant à jour des rapports, voici une fondation héritée typique avec laquelle l'ingénieur de données devra traiter (enfin, si l'équipe a un architecte en plus de lui).

Responsabilités de l'ingénieur de données

  • Développement, construction et maintenance d'infrastructures de données.
  • Traitement des erreurs et création de pipelines de traitement des données fiables.
  • Apporter des données non structurées provenant de diverses sources dynamiques à la forme nécessaire pour le travail des analystes.
  • .
  • , - .
  • .
  • , , .
  • ( ).

Il existe une autre spécialisation dans la trajectoire Data Engineer - Ingénieur ML. En bref, ces ingénieurs se spécialisent dans la mise à disposition et à l'utilisation industrielle de modèles d'apprentissage automatique. Souvent, un modèle reçu d'un data scientist fait partie de l'étude et peut ne pas fonctionner au combat.

Responsabilités du Data Scientist

  • Extraire des fonctionnalités des données pour appliquer des algorithmes d'apprentissage automatique.
  • Utilisation de divers outils d'apprentissage automatique pour prédire et classer les modèles dans les données.
  • Amélioration des performances et de la précision des algorithmes d'apprentissage automatique en affinant et en optimisant les algorithmes.
  • Formation d'hypothèses «fortes» conformes à la stratégie de l'entreprise, qui doivent être vérifiées.

Data Engineer, Data Scientist , .


Aujourd'hui, les attentes des professionnels du traitement des données ont changé. Auparavant, les ingénieurs collectaient de grandes requêtes SQL, écrivaient manuellement MapReduce et traitaient les données à l'aide d'outils tels que Informatica ETL, Pentaho ETL, Talend. 

En 2020, un spécialiste ne peut se passer de la connaissance de Python et des outils informatiques modernes (par exemple, Airflow), comprendre les principes de travail avec les plateformes cloud (les utiliser pour économiser sur le matériel, tout en respectant les principes de sécurité).

SAP, Oracle, MySQL, Redis sont des outils traditionnels pour un ingénieur de données dans les grandes entreprises. Ils sont bons, mais le coût des licences est si élevé qu'apprendre à travailler avec eux n'a de sens que dans les projets industriels. En même temps, il existe une alternative gratuite sous la forme de Postgres - elle est gratuite et convient non seulement à la formation. 


Historiquement, Java et Scala sont fréquemment demandés, bien que les technologies et les approches évoluent, ces langages disparaissent à l'arrière-plan.

Néanmoins, le BigData hardcore: Hadoop, Spark et le reste du zoo n'est plus une condition préalable pour un ingénieur de données, mais une sorte d'outil pour résoudre des tâches que l'ETL traditionnel ne peut pas résoudre. 

Dans la tendance, les services permettent d'utiliser des outils sans connaître la langue dans laquelle ils sont écrits (par exemple, Hadoop sans connaissance de Java), ainsi que de fournir des services prêts à l'emploi pour le traitement de données en streaming (reconnaissance vocale ou d'image sur vidéo).

Les solutions industrielles de SAS et SPSS sont populaires, Tableau, Rapidminer, Stata et Julia étant également largement utilisées par les scientifiques des données pour les tâches locales.


Les analystes et les scientifiques des données n'ont eu l'occasion de créer des pipelines qu'il y a quelques années: par exemple, il est déjà possible d'envoyer des données vers le stockage basé sur PostgreSQL avec des scripts relativement simples. 

En règle générale, l'utilisation de pipelines et de structures de données intégrées reste la responsabilité des ingénieurs de données. Mais aujourd'hui, plus que jamais, la tendance est forte pour les spécialistes en forme de T - avec des compétences étendues dans des domaines connexes, car les outils sont constamment simplifiés.

Pourquoi Data Engineer et Data Scientist travaillent ensemble


En travaillant étroitement avec les ingénieurs, Data Scientist peut se concentrer sur la partie recherche, créant des algorithmes d'apprentissage automatique prêts à l'emploi.
Et les ingénieurs se concentrent sur l'évolutivité, la réutilisation des données et s'assurent que les pipelines d'entrée et de sortie des données dans chaque projet individuel sont cohérents avec l'architecture globale.

Cette séparation des tâches assure la cohérence entre les équipes de spécialistes travaillant sur différents projets de machine learning. 

La collaboration aide à créer efficacement de nouveaux produits. La rapidité et la qualité sont atteintes grâce à un équilibre entre la création d'un service pour tous (stockage global ou intégration de tableaux de bord) et la mise en œuvre de chaque besoin ou projet spécifique (pipeline hautement spécialisé, connexion de sources externes). 

Travailler en étroite collaboration avec les scientifiques et les analystes de données aide les ingénieurs à développer des compétences analytiques et de recherche pour écrire un meilleur code. L'échange de connaissances entre les utilisateurs des entrepôts de données et des lacs de données s'améliore, ce qui rend les projets plus flexibles et fournit des résultats à long terme plus durables.

Dans les entreprises qui visent à développer une culture de travail avec les données et à construire des processus commerciaux basés sur celles-ci, Data Scientist et Data Engineer se complètent et créent un système complet d'analyse de données. 

Dans le prochain article, nous parlerons du type de formation que devraient avoir les ingénieurs de données et les scientifiques des données, quelles compétences ils doivent développer et comment fonctionne le marché.

Des éditeurs de Netology


Si vous regardez de près le métier de Data Engineer ou Data Scientist, nous vous invitons à étudier les programmes de nos cours:


All Articles