Enginyer de dades i científic de dades: quina diferència hi ha?

Les professions de Data Scientist i Data Engineer sovint es confonen. Cada empresa té les seves pròpies especificitats de treball amb dades, diferents finalitats per a la seva anàlisi i una idea diferent de quin especialista s'ha d'encarregar de quina part del treball, per tant, cadascuna té els seus propis requisits. 

Anem a esbrinar quina diferència hi ha entre aquests especialistes, quins problemes empresarials resolen, quines habilitats tenen i quant guanyen. El material va resultar ser gran, així que el vam dividir en dues publicacions.

En el primer article, Elena Gerasimova, directora de la facultat "Ciència de dades i analítica" a Netology, explica quina diferència hi ha entre un científic de dades i un enginyer de dades i amb quines eines treballen.

Com es diferencien els papers dels enginyers i dels científics

Un enginyer de dades és un especialista que, d'una banda, desenvolupa, prova i manté la infraestructura de dades: bases de dades, sistemes d'emmagatzematge i processament massiu. D'altra banda, aquest és qui neteja i "pentina" les dades per a l'ús d'analistes i científics de dades, és a dir, crea canalitzacions de processament de dades.

Data Scientist crea i entrena models predictius (i altres) mitjançant algorismes d'aprenentatge automàtic i xarxes neuronals, ajudant les empreses a trobar patrons ocults, predir desenvolupaments i optimitzar els processos empresarials clau.

La principal diferència entre un científic de dades i un enginyer de dades és que solen tenir objectius diferents. Tots dos treballen per garantir que les dades siguin accessibles i d'alta qualitat. Però un científic de dades troba respostes a les seves preguntes i prova les hipòtesis en un ecosistema de dades (per exemple, basat en Hadoop), i un enginyer de dades crea una canalització per donar servei a un algorisme d'aprenentatge automàtic escrit per un científic de dades en un clúster Spark dins del mateix ecosistema. 

Un enginyer de dades aporta valor a una empresa treballant com a part d'un equip. La seva tasca és actuar com un enllaç important entre els diferents participants: des de desenvolupadors fins a consumidors empresarials d'informes, i augmentar la productivitat dels analistes, des de màrqueting i producte fins a BI. 

Un Data Scientist, per contra, participa activament en l'estratègia de l'empresa i extreu insights, pren decisions, implementa algorismes d'automatització, modela i genera valor a partir de les dades.
Enginyer de dades i científic de dades: quina diferència hi ha?

El treball amb dades està subjecte al principi GIGO (garbage in - garbage out): si els analistes i els científics de dades tracten dades no preparades i potencialment incorrectes, els resultats fins i tot amb els algorismes d'anàlisi més sofisticats seran incorrectes. 

Els enginyers de dades resolen aquest problema creant canalitzacions per processar, netejar i transformar dades i permetent als científics de dades treballar amb dades d'alta qualitat. 

Hi ha moltes eines al mercat per treballar amb dades que cobreixen totes les etapes: des de l'aparició de dades fins a la sortida fins a un tauler per al consell d'administració. I és important que la decisió d'utilitzar-los la prengui un enginyer, no perquè estigui de moda, sinó perquè realment ajudarà el treball dels altres participants en el procés. 

Convencionalment: si una empresa necessita establir connexions entre la BI i l'ETL, carregant dades i actualitzant informes, aquí hi ha una base antiga típica amb la qual haurà de tractar un enginyer de dades (és bo si també hi ha un arquitecte a l'equip).

Responsabilitats d'un enginyer de dades

  • Desenvolupament, construcció i manteniment d'infraestructura de tractament de dades.
  • Gestionar errors i crear canalitzacions fiables de processament de dades.
  • Portar dades no estructurades de diverses fonts dinàmiques a la forma necessària per al treball dels analistes.
  • Proporcionar recomanacions per millorar la coherència i la qualitat de les dades.
  • Proporcionar i mantenir l'arquitectura de dades utilitzada pels científics de dades i analistes de dades.
  • Processa i emmagatzema les dades de manera coherent i eficient en un clúster distribuït de desenes o centenars de servidors.
  • Avalueu les compensacions tècniques de les eines per crear arquitectures senzilles però robustes que puguin sobreviure a les interrupcions.
  • Control i suport dels fluxos de dades i sistemes relacionats (configuració de monitoratge i alertes).

Hi ha una altra especialització dins de la trajectòria Data Engineer - Enginyer ML. En resum, aquests enginyers s'especialitzen a portar models d'aprenentatge automàtic a la implementació i ús industrial. Sovint, un model rebut d'un científic de dades forma part d'un estudi i pot no funcionar en condicions de combat.

Responsabilitats d'un científic de dades

  • Extracció de funcions de dades per aplicar algorismes d'aprenentatge automàtic.
  • Ús de diverses eines d'aprenentatge automàtic per predir i classificar patrons en dades.
  • Millorar el rendiment i la precisió dels algorismes d'aprenentatge automàtic ajustant i optimitzant els algorismes.
  • Formació d'hipòtesis “fortes” d'acord amb l'estratègia de l'empresa que cal comprovar.

Tant Data Engineer com Data Scientist comparteixen una contribució tangible al desenvolupament d'una cultura de dades, a través de la qual una empresa pot generar beneficis addicionals o reduir costos.

Amb quins idiomes i eines treballen els enginyers i científics?

Avui, les expectatives dels científics de dades han canviat. Anteriorment, els enginyers recopilaven grans consultes SQL, escrivien manualment MapReduce i processaven dades mitjançant eines com Informatica ETL, Pentaho ETL, Talend. 

El 2020, un especialista no pot prescindir del coneixement de Python i de les eines de càlcul modernes (per exemple, Airflow), la comprensió dels principis de treballar amb plataformes en núvol (utilitzar-les per estalviar en maquinari, tot observant els principis de seguretat).

SAP, Oracle, MySQL, Redis són eines tradicionals per als enginyers de dades de les grans empreses. Són bons, però el cost de les llicències és tan elevat que aprendre a treballar-hi només té sentit en projectes industrials. Al mateix temps, hi ha una alternativa gratuïta en forma de Postgres: és gratuïta i apta no només per a la formació. 

Enginyer de dades i científic de dades: quina diferència hi ha?
Històricament, sovint es troben sol·licituds de Java i Scala, encara que a mesura que es desenvolupen tecnologies i enfocaments, aquests llenguatges s'esvaeixen en segon pla.

Tanmateix, BigData hardcore: Hadoop, Spark i la resta del zoològic ja no és un requisit previ per a un enginyer de dades, sinó una mena d'eines per resoldre problemes que no es poden resoldre amb l'ETL tradicional. 

La tendència són els serveis per utilitzar eines sense coneixement de l'idioma en què estan escrites (per exemple, Hadoop sense coneixements de Java), així com la prestació de serveis ja fets per processar dades en streaming (reconeixement de veu o reconeixement d'imatges en vídeo). ).

Les solucions industrials de SAS i SPSS són populars, mentre que Tableau, Rapidminer, Stata i Julia també són àmpliament utilitzats pels científics de dades per a tasques locals.

Enginyer de dades i científic de dades: quina diferència hi ha?
La capacitat de construir pipelines ells mateixos va aparèixer als analistes i als científics de dades fa només un parell d'anys: per exemple, ja és possible enviar dades a un emmagatzematge basat en PostgreSQL mitjançant scripts relativament senzills. 

Normalment, l'ús de canonades i estructures de dades integrades segueix sent responsabilitat dels enginyers de dades. Però avui, la tendència dels especialistes en forma de T amb àmplies competències en camps relacionats és més forta que mai, perquè les eines es simplifiquen constantment.

Per què l'enginyer de dades i el científic de dades treballen junts

En treballar estretament amb els enginyers, els científics de dades poden centrar-se en la investigació, creant algorismes d'aprenentatge automàtic preparats per a la producció.
I els enginyers han de centrar-se en l'escalabilitat, la reutilització de dades i garantir que els canals d'entrada i sortida de dades de cada projecte individual compleixin amb l'arquitectura global.

Aquesta separació de responsabilitats garanteix la coherència entre els equips que treballen en diferents projectes d'aprenentatge automàtic. 

La col·laboració ajuda a crear nous productes de manera eficient. La rapidesa i la qualitat s'aconsegueixen mitjançant un equilibri entre la creació d'un servei per a tothom (emmagatzematge global o integració de quadres de comandament) i la implementació de cada necessitat o projecte específic (pipeline altament especialitzat, connexió de fonts externes). 

Treballar estretament amb científics de dades i analistes ajuda els enginyers a desenvolupar habilitats analítiques i de recerca per escriure un millor codi. L'intercanvi de coneixement entre els usuaris de magatzems i llacs de dades millora, fent que els projectes siguin més àgils i obtenint resultats més sostenibles a llarg termini.

A les empreses que pretenen desenvolupar una cultura de treballar amb dades i construir processos empresarials basats en elles, Data Scientist i Data Engineer es complementen i creen un sistema d'anàlisi de dades complet. 

En el següent article parlarem de quin tipus d'educació hauria de tenir un enginyer de dades i un científic de dades, quines habilitats han de desenvolupar i com funciona el mercat.

Dels editors de Netology

Si esteu mirant la professió d'enginyer de dades o científic de dades, us convidem a estudiar els nostres programes de cursos:

Font: www.habr.com

Afegeix comentari