Yrkena data scientist och dataingenjör blandas ofta ihop. Varje företag har sina egna specifikationer för att arbeta med data, olika mål för sin analys och olika idéer om vilka specialister som ska göra vilken del av arbetet, så var och en har sina egna krav.
Vi tar reda på vad skillnaden är mellan dessa specialister, vilka affärsuppgifter de löser, vilka färdigheter de har och hur mycket de tjänar. Materialet visade sig vara stort, så vi delade upp det i två publikationer.
I den första artikeln skriver Elena Gerasimova, fakultetschef,» i Netology, förklarar skillnaden mellan en data scientist och en dataingenjör och vilka verktyg de arbetar med.
Hur ingenjörers och forskares roller skiljer sig åt
En dataingenjör är en specialist som å ena sidan utvecklar, testar och stöder datainfrastruktur: databaser, lagring och massbehandlingssystem. Å andra sidan är det hen som rensar och "kammar" data för användning av analytiker och data scientists, det vill säga skapar databehandlingspipelines.
En data scientist skapar och tränar prediktiva (och andra) modeller med hjälp av maskininlärningsalgoritmer och neurala nätverk, vilket hjälper företag att hitta dolda mönster, förutsäga framtida utvecklingar och optimera viktiga affärsprocesser.
Den största skillnaden mellan en data scientist och en dataingenjör är att de vanligtvis har olika mål. Båda arbetar för att säkerställa att data är tillgänglig och av god kvalitet. Men en data scientist hittar svar på sina frågor och testar hypoteser i ett dataekosystem (t.ex. Hadoop), medan en dataingenjör skapar en pipeline för att hantera en maskininlärningsalgoritm skriven av en data scientist i ett Spark-kluster inom samma ekosystem.
En dataingenjör tillför värde till verksamheten genom att arbeta i ett team. Deras jobb är att fungera som en viktig länk mellan olika aktörer: från utvecklare till affärskonsumenter av rapportering, och att öka produktiviteten hos analytiker – från marknadsföring och produkt till BI.
En data scientist, å andra sidan, tar en aktiv del i företagets strategi och insiktsutvinning, beslutsfattande, implementering av automatiseringsalgoritmer, modellering och värdegenerering från data.

Att arbeta med data lyder under GIGO-principen (garbage in – garbage out): om analytiker och dataforskare hanterar oförberedda och potentiellt felaktiga data, kommer resultaten, även med de mest sofistikerade analysalgoritmerna, att vara felaktiga.
Dataingenjörer löser detta problem genom att bygga pipelines för bearbetning, rengöring och omvandling av data och låta dataforskaren arbeta med högkvalitativ data.
Det finns många dataverktyg på marknaden som täcker alla steg: från framväxten av data till utdata på styrelserummets instrumentpanel. Och det är viktigt att beslutet att använda dem fattas av ingenjören – inte för att det är modernt, utan för att hen verkligen kommer att hjälpa de andra deltagarna i processen i deras arbete.
Villkorligt: om ett företag behöver bli vän med BI och ETL - datainläsning och rapportuppdateringar, är detta en typisk äldre grund som en dataingenjör måste hantera (det är bra om teamet också inkluderar en arkitekt).
Dataingenjörens ansvarsområden
- Utveckling, konstruktion och underhåll av databehandlingsinfrastruktur.
- Hantera fel och skapa tillförlitliga databehandlingspipelines.
- Att omsätta ostrukturerad data från olika dynamiska källor i den form som krävs för analytikernas arbete.
- Ge rekommendationer för att förbättra datakonsistens och kvalitet.
- Tillhandahålla och stödja den dataarkitektur som används av dataforskare och dataanalytiker.
- Bearbeta och lagra data konsekvent och effektivt i ett distribuerat kluster med tiotals eller hundratals servrar.
- Bedöma tekniska avvägningar mellan verktyg för att skapa enkla men robusta arkitekturer som kan överleva fel.
- Kontroll och support av dataflöden och relaterade system (upprättande av övervakning och varningar).
Det finns ytterligare en specialisering inom dataingenjörsbanan – ML-ingenjör. Kort sagt specialiserar sig sådana ingenjörer på att omsätta maskininlärningsmodeller till industriell implementering och användning. Ofta är modellen som dataforskaren får en del av forskningen och kanske inte fungerar i stridsförhållanden.
Data Scientists ansvarsområden
- Extrahera funktioner från data för att tillämpa maskininlärningsalgoritmer.
- Använda olika maskininlärningsverktyg för att förutsäga och klassificera mönster i data.
- Förbättra prestandan och noggrannheten hos maskininlärningsalgoritmer genom att finjustera och optimera algoritmer.
- Formulering av ”starka” hypoteser i enlighet med företagets strategi som behöver testas.
Både en dataingenjör och en dataforskare har gemensamt ett konkret bidrag till utvecklingen av en datakultur som kan hjälpa ett företag att generera ytterligare vinster eller minska kostnader.
Vilka språk och verktyg arbetar ingenjörer och forskare med?
Idag har förväntningarna på data scientists förändrats. Tidigare sammanställde ingenjörer stora SQL-frågor, skrev MapReduce manuellt och bearbetade data med hjälp av verktyg som Informatica ETL, Pentaho ETL och Talend.
År 2020 kan en specialist inte klara sig utan kunskap om Python och moderna datorverktyg (till exempel Airflow), förstå principerna för att arbeta med molnplattformar (använda dem för att spara på hårdvara, samtidigt som säkerhetsprinciperna följs).
SAP, Oracle, MySQL och Redis är traditionella verktyg för dataingenjörer i stora företag. De är bra, men licenskostnaden är så hög att det bara är meningsfullt att lära sig arbeta med dem i industriella projekt. Samtidigt finns det ett gratis alternativ i form av Postgres – det är gratis och lämpligt inte bara för utbildning.

Historiskt sett har det funnits stor efterfrågan på Java och Scala, men i takt med att tekniker och tillvägagångssätt utvecklas, så glömmer dessa språk bort.
Men hardcore BigData: Hadoop, Spark och resten av zoo-tekniken är inte längre ett måste för en dataingenjör, utan en typ av verktyg för att lösa problem som traditionell ETL inte kan lösa.
Trenden går mot tjänster för att använda verktyg utan kunskap om språket de är skrivna i (till exempel Hadoop utan kunskap om Java), samt att tillhandahålla färdiga tjänster för bearbetning av strömmande data (röst- eller bildigenkänning på video).
Industriella lösningar från SAS och SPSS är populära, medan Tableau, Rapidminer, Stata och Julia också används flitigt av dataforskare för lokala uppgifter.

Möjligheten att bygga pipelines på egen hand har bara varit tillgänglig för analytiker och data scientists i ett par år: till exempel är det nu möjligt att skicka data till en PostgreSQL-baserad lagring med hjälp av relativt enkla skript.
Traditionellt sett har användningen av pipelines och integrerade datastrukturer fortfarande varit dataingenjörernas ansvar. Men idag är trenden mot T-formade specialister – med bred kompetens inom relaterade områden – starkare än någonsin, eftersom verktyg ständigt förenklas.
Varför dataingenjör och dataforskare arbetar tillsammans
Genom att arbeta nära ingenjörer kan dataforskare fokusera på forskningssidan och skapa produktionsklara maskininlärningsalgoritmer.
Och ingenjörer bör fokusera på skalbarhet, återanvändning av data och att säkerställa att in- och utdata-pipelinerna i varje enskilt projekt matchar den globala arkitekturen.
Denna ansvarsfördelning säkerställer konsekvens mellan team som arbetar med olika maskininlärningsprojekt.
Samarbete hjälper till att skapa nya produkter effektivt. Hastighet och kvalitet uppnås genom att balansera mellan att skapa en tjänst för alla (global lagring eller dashboardintegration) och att implementera varje specifikt behov eller projekt (smalt specialiserad pipeline, koppling av externa källor).
Att arbeta nära dataforskare och analytiker hjälper ingenjörer att utveckla analytiska och utforskande färdigheter för att skriva bättre kod. Kunskapsdelning mellan användare av datalager och datasjö förbättras, vilket gör projekt mer agila och ger mer hållbara långsiktiga resultat.
I företag som strävar efter att utveckla en datakultur och bygga affärsprocesser baserade på den kompletterar data scientist och dataingenjör varandra och skapar ett fullfjädrat dataanalyssystem.
I nästa artikel kommer vi att prata om vilken typ av utbildning dataingenjörer och data scientists bör ha, vilka färdigheter de behöver utveckla och hur marknaden är strukturerad.
Från redaktionen för Netology
Om du tittar på yrket som dataingenjör eller datavetare, inbjuder vi dig att studera våra kursprogram:
- Yrke"".
- Yrke"".
Källa: will.com
