Dataingenjör och dataforskare: Vad är skillnaden?

Yrken som datavetare och dataingenjör är ofta förvirrade. Varje företag har sina egna detaljer för att arbeta med data, olika syften för deras analys och en annan idé om vilken specialist som ska ta itu med vilken del av arbetet, därför har var och en sina egna krav. 

Låt oss ta reda på vad skillnaden är mellan dessa specialister, vilka affärsproblem 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, Elena Gerasimova, chef för fakulteten "Datavetenskap och analys" i Netology, berättar vad skillnaden är mellan en dataforskare och en dataingenjör och vilka verktyg de arbetar med.

Hur ingenjörernas och forskarnas roller skiljer sig åt

En dataingenjör är en specialist som å ena sidan utvecklar, testar och underhåller datainfrastruktur: databaser, lagrings- och massbehandlingssystem. Å andra sidan är det den som rengör och "kammar" data för användning av analytiker och datavetare, det vill säga skapar pipelines för databehandling.

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 utveckling och optimera viktiga affärsprocesser.

Den största skillnaden mellan en dataforskare och en dataingenjör är att de vanligtvis har olika mål. Båda arbetar för att data ska vara tillgänglig och av hög kvalitet. Men en dataforskare hittar svar på sina frågor och testar hypoteser i ett dataekosystem (till exempel baserat på Hadoop), och en dataingenjör skapar en pipeline för att serva en maskininlärningsalgoritm skriven av en datavetare i ett Spark-kluster inom samma ekosystem. 

En dataingenjör tillför värde till ett företag genom att arbeta som en del av ett team. Dess uppgift är att fungera som en viktig länk mellan olika deltagare: 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 tar tvärtom en aktiv del i företagets strategi och utvinner insikter, fattar beslut, implementerar automationsalgoritmer, modellerar och genererar värde från data.
Dataingenjör och dataforskare: Vad är skillnaden?

Arbetet med data är föremål för GIGO-principen (skräp in - skräp ut): om analytiker och datavetare 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 transformering av data och låta datavetare arbeta med data av hög kvalitet. 

Det finns många verktyg på marknaden för att arbeta med data som täcker alla steg: från uppkomsten av data till utdata till en instrumentpanel för styrelsen. Och det är viktigt att beslutet att använda dem tas av en ingenjör - inte för att det är på modet, utan för att han verkligen kommer att hjälpa andra deltagares arbete i processen. 

Konventionellt: om ett företag behöver göra kopplingar mellan BI och ETL - ladda data och uppdatera rapporter, här är en typisk äldre grund som en dataingenjör måste hantera (det är bra om det också finns en arkitekt i teamet).

Ansvar för en dataingenjör

  • Utveckling, konstruktion och underhåll av databehandlingsinfrastruktur.
  • Hantera fel och skapa pålitliga pipelines för databehandling.
  • Att föra ostrukturerad data från olika dynamiska källor till den form som krävs för analytikers arbete.
  • Ge rekommendationer för att förbättra datakonsistens och kvalitet.
  • Tillhandahålla och underhålla den dataarkitektur som används av datavetare och dataanalytiker.
  • Bearbeta och lagra data konsekvent och effektivt i ett distribuerat kluster av tiotals eller hundratals servrar.
  • Utvärdera de tekniska avvägningarna för verktyg för att skapa enkla men robusta arkitekturer som kan överleva störningar.
  • Kontroll och support av dataflöden och relaterade system (inrätta övervakning och larm).

Det finns ytterligare en specialisering inom Dataingenjörsbanan - ML-ingenjör. Kort sagt, dessa ingenjörer är specialiserade på att föra maskininlärningsmodeller till industriell implementering och användning. Ofta är en modell som tas emot från en dataforskare en del av en studie och kanske inte fungerar i stridsförhållanden.

Ansvar för en datavetare

  • Extrahera funktioner från data för att tillämpa maskininlärningsalgoritmer.
  • Använda olika verktyg för maskininlärning för att förutsäga och klassificera mönster i data.
  • Förbättra prestandan och noggrannheten för maskininlärningsalgoritmer genom att finjustera och optimera algoritmerna.
  • Bildande av ”starka” hypoteser i enlighet med företagets strategi som behöver testas.

Både Data Engineer och Data Scientist delar ett påtagligt bidrag till utvecklingen av en datakultur, genom vilken ett företag kan generera ytterligare vinster eller minska kostnaderna.

Vilka språk och verktyg arbetar ingenjörer och vetenskapsmän med?

Idag har förväntningarna på datavetare förändrats. Tidigare samlade ingenjörer in stora SQL-frågor, skrev MapReduce manuellt och bearbetade data med hjälp av verktyg som Informatica ETL, Pentaho ETL, Talend. 

År 2020 kan en specialist inte klara sig utan kunskap om Python och moderna beräkningsverktyg (till exempel Airflow), förståelse för principerna för att arbeta med molnplattformar (använda dem för att spara på hårdvara, samtidigt som säkerhetsprinciperna respekteras).

SAP, Oracle, MySQL, Redis är traditionella verktyg för dataingenjörer i stora företag. De är bra, men kostnaden för licenser är så hög att det bara är meningsfullt att lära sig arbeta med dem i industriella projekt. Samtidigt finns det ett gratisalternativ i form av Postgres – det är gratis och passar inte bara för träning. 

Dataingenjör och dataforskare: Vad är skillnaden?
Historiskt sett hittas ofta förfrågningar om Java och Scala, även om dessa språk tonas in i bakgrunden när teknologier och tillvägagångssätt utvecklas.

Hardcore BigData: Hadoop, Spark och resten av djurparken är dock inte längre en förutsättning för en dataingenjör, utan ett slags verktyg för att lösa problem som inte kan lösas med traditionell ETL. 

Trenden är tjänster för att använda verktyg utan kunskap om språket de är skrivna på (till exempel Hadoop utan kunskap om Java), samt tillhandahållande av färdiga tjänster för bearbetning av strömmande data (röstigenkänning 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 datavetare för lokala uppgifter.

Dataingenjör och dataforskare: Vad är skillnaden?
Möjligheten att själva bygga pipelines visade sig för analytiker och datavetare för bara ett par år sedan: till exempel är det redan möjligt att skicka data till en PostgreSQL-baserad lagring med relativt enkla skript. 

Vanligtvis förblir användningen av pipelines och integrerade datastrukturer dataingenjörernas ansvar. Men idag är trenden för T-formade specialister med bred kompetens inom närliggande 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 Data Scientists fokusera på forskningssidan och skapa produktionsklara maskininlärningsalgoritmer.
Och ingenjörer måste fokusera på skalbarhet, återanvändning av data och att säkerställa att datainmatning och datautgång i varje enskilt projekt överensstämmer med den globala arkitekturen.

Denna uppdelning av ansvar säkerställer konsistens mellan team som arbetar med olika maskininlärningsprojekt. 

Samarbete hjälper till att skapa nya produkter effektivt. Hastighet och kvalitet uppnås genom en balans mellan att skapa en tjänst för alla (global lagring eller integration av instrumentpaneler) och att implementera varje specifikt behov eller projekt (högt specialiserad pipeline, anslutning av externa källor). 

Ett nära samarbete med datavetare och analytiker hjälper ingenjörer att utveckla analytiska och forskningsfärdigheter för att skriva bättre kod. Kunskapsdelningen mellan lager- och datasjöanvändare förbättras, vilket gör projekten mer agila och levererar mer hållbara långsiktiga resultat.

I företag som har som mål att utveckla en kultur att arbeta med data och bygga affärsprocesser utifrån dem, kompletterar Data Scientist och Data Engineer varandra och skapar ett komplett dataanalyssystem. 

I nästa artikel kommer vi att prata om vilken typ av utbildning en dataingenjör och dataforskare bör ha, vilka färdigheter de behöver utveckla och hur marknaden fungerar.

Från redaktionen för Netology

Om du tittar på yrket som dataingenjör eller datavetare, inbjuder vi dig att studera våra kursprogram:

Källa: will.com

Lägg en kommentar