Yrkene dataforsker og dataingeniør blir ofte forvekslet. Hvert selskap har sine egne spesifikasjoner for å jobbe med data, forskjellige mål for analysen sin og forskjellige ideer om hvilke spesialister som bør gjøre hvilken del av arbeidet, så hver enkelt har sine egne krav.
Vi finner ut hva forskjellen er mellom disse spesialistene, hvilke forretningsoppgaver de løser, hvilke ferdigheter de har og hvor mye de tjener. Materialet viste seg å være stort, så vi delte det inn i to publikasjoner.
I den første artikkelen, Elena Gerasimova, fakultetsleder,» i Netology, forklarer forskjellen mellom en dataforsker og en dataingeniør og hvilke verktøy de jobber med.
Hvordan rollene til ingeniører og forskere er forskjellige
En dataingeniør er en spesialist som på den ene siden utvikler, tester og støtter datainfrastruktur: databaser, lagring og massebehandlingssystemer. På den andre siden er det han som renser og «kjemmer» dataene for bruk av analytikere og dataforskere, det vil si oppretter databehandlingsrørledninger.
En dataforsker lager og trener prediktive (og andre) modeller ved hjelp av maskinlæringsalgoritmer og nevrale nettverk, og hjelper bedrifter med å finne skjulte mønstre, forutsi fremtidig utvikling og optimalisere viktige forretningsprosesser.
Hovedforskjellen mellom en dataforsker og en dataingeniør er at de vanligvis har forskjellige mål. Begge jobber for å sikre at data er tilgjengelige og av god kvalitet. Men en dataforsker finner svar på spørsmålene sine og tester hypoteser i et dataøkosystem (f.eks. Hadoop), mens en dataingeniør lager en pipeline for å betjene en maskinlæringsalgoritme skrevet av en dataforsker i en Spark-klynge innenfor samme økosystem.
En dataingeniør tilfører verdi til virksomheten ved å jobbe i et team. Jobben deres er å fungere som et viktig bindeledd mellom ulike deltakere: fra utviklere til forretningsforbrukere av rapportering, og å øke produktiviteten til analytikere – fra markedsføring og produkt til BI.
En dataforsker, derimot, tar en aktiv rolle i selskapets strategi og innsiktsutvinning, beslutningstaking, implementering av automatiseringsalgoritmer, modellering og verdigenerering fra data.

Arbeid med data er underlagt GIGO-prinsippet (garbage in – garbage out): hvis analytikere og dataforskere håndterer uforberedte og potensielt feil data, vil resultatene, selv med de mest sofistikerte analysealgoritmene, være feil.
Dataingeniører løser dette problemet ved å bygge rørledninger for behandling, rengjøring og transformering av data, og la dataforskeren jobbe med data av høy kvalitet.
Det finnes mange dataverktøy på markedet som dekker alle stadier: fra fremveksten av data til resultatene på styrerommets dashbord. Og det er viktig at beslutningen om å bruke dem tas av ingeniøren – ikke fordi det er moderne, men fordi han virkelig vil hjelpe de andre deltakerne i prosessen i arbeidet deres.
Betinget: hvis et selskap trenger å bli venner med BI og ETL - datalasting og rapportoppdateringer, er dette et typisk eldre fundament som en dataingeniør må håndtere (det er bra hvis teamet også inkluderer en arkitekt).
Dataingeniørens ansvar
- Utvikling, bygging og vedlikehold av databehandlingsinfrastruktur.
- Håndtering av feil og oppretting av pålitelige databehandlingsrørledninger.
- Å bringe ustrukturerte data fra ulike dynamiske kilder til den formen som kreves for analytikernes arbeid.
- Gi anbefalinger for å forbedre datakonsistens og kvalitet.
- Tilby og støtte dataarkitekturen som brukes av dataforskere og dataanalytikere.
- Behandle og lagre data konsekvent og effektivt i en distribuert klynge med titalls eller hundrevis av servere.
- Vurdere tekniske avveininger mellom verktøy for å lage enkle, men robuste arkitekturer som kan overleve feil.
- Kontroll og støtte av dataflyter og relaterte systemer (oppsett av overvåking og varsler).
Det finnes en annen spesialisering innenfor dataingeniørfaget – ML-ingeniør. Kort sagt spesialiserer slike ingeniører seg på å bringe maskinlæringsmodeller til industriell implementering og bruk. Ofte er modellen som mottas fra dataforskeren en del av forskningen og fungerer kanskje ikke i kampforhold.
Dataforskerens ansvar
- Uttrekk av funksjoner fra data for å anvende maskinlæringsalgoritmer.
- Bruk av ulike maskinlæringsverktøy for å forutsi og klassifisere mønstre i data.
- Forbedre ytelsen og nøyaktigheten til maskinlæringsalgoritmer ved å finjustere og optimalisere algoritmer.
- Formulering av «sterke» hypoteser i samsvar med selskapets strategi som må testes.
Både en dataingeniør og en dataforsker har til felles et konkret bidrag til utviklingen av en datakultur som kan hjelpe et selskap med å generere ytterligere fortjeneste eller redusere kostnader.
Hvilke språk og verktøy jobber ingeniører og forskere med?
I dag har forventningene til dataforskere endret seg. Tidligere satte ingeniører sammen store SQL-spørringer, skrev MapReduce manuelt og behandlet data ved hjelp av verktøy som Informatica ETL, Pentaho ETL og Talend.
I 2020 kan ikke en spesialist klare seg uten kunnskap om Python og moderne dataverktøy (for eksempel Airflow), og forstå prinsippene for å jobbe med skyplattformer (bruke dem til å spare maskinvare, samtidig som sikkerhetsprinsipper overholdes).
SAP, Oracle, MySQL og Redis er tradisjonelle verktøy for dataingeniører i store selskaper. De er bra, men lisenskostnadene er så høye at det bare gir mening å lære å jobbe med dem i industrielle prosjekter. Samtidig finnes det et gratis alternativ i form av Postgres – det er gratis og ikke bare egnet for opplæring.

Historisk sett har det vært stor etterspørsel etter Java og Scala, men etter hvert som teknologier og tilnærminger utvikler seg, forsvinner disse språkene i bakgrunnen.
Imidlertid er hardcore BigData: Hadoop, Spark og resten av zoo-teknologien ikke lenger et must for en dataingeniør, men en type verktøy for å løse problemer som tradisjonell ETL ikke kan løse.
Trenden går mot tjenester for bruk av verktøy uten kunnskap om språket de er skrevet i (for eksempel Hadoop uten kunnskap om Java), samt å tilby ferdige tjenester for behandling av strømmedata (tale- eller bildegjenkjenning på video).
Industrielle løsninger fra SAS og SPSS er populære, mens Tableau, Rapidminer, Stata og Julia også er mye brukt av dataforskere til lokale oppgaver.

Muligheten til å bygge pipelines på egenhånd har bare vært tilgjengelig for analytikere og dataforskere i et par år: for eksempel er det nå mulig å sende data til en PostgreSQL-basert lagring ved hjelp av relativt enkle skript.
Tradisjonelt sett har bruken av pipelines og integrerte datastrukturer fortsatt vært dataingeniørenes ansvar. Men i dag er trenden mot T-formede spesialister – med bred kompetanse innen relaterte områder – sterkere enn noensinne, ettersom verktøy stadig forenkles.
Hvorfor dataingeniør og dataforsker jobber sammen
Ved å jobbe tett med ingeniører kan dataforskere fokusere på forskningssiden av tingene og lage produksjonsklare maskinlæringsalgoritmer.
Og ingeniører bør fokusere på skalerbarhet, gjenbruk av data og å sørge for at input- og output-pipelinene i hvert enkelt prosjekt samsvarer med den globale arkitekturen.
Denne ansvarsfordelingen sikrer konsistens mellom team som jobber med ulike maskinlæringsprosjekter.
Samarbeid bidrar til å skape nye produkter effektivt. Hastighet og kvalitet oppnås ved å balansere mellom å lage en tjeneste for alle (global lagring eller dashbordintegrasjon) og implementering av hvert spesifikke behov eller prosjekt (smalt spesialisert pipeline, tilkobling av eksterne kilder).
Å jobbe tett med dataforskere og analytikere hjelper ingeniører med å utvikle analytiske og utforskende ferdigheter for å skrive bedre kode. Kunnskapsdeling mellom brukere av datalager og datasjøer forbedres, noe som gjør prosjekter mer fleksible og gir mer bærekraftige langsiktige resultater.
I selskaper som har som mål å utvikle en datakultur og bygge forretningsprosesser basert på den, utfyller dataforskere og dataingeniører hverandre og skaper et fullverdig dataanalysesystem.
I den neste artikkelen skal vi snakke om hva slags utdanning dataingeniører og dataforskere bør ha, hvilke ferdigheter de trenger å utvikle, og hvordan markedet er strukturert.
Fra redaktørene i Netology
Hvis du ser på yrket som dataingeniør eller dataforsker, inviterer vi deg til å studere våre kursprogrammer:
- Yrke "'.
- Yrke "'.
Kilde: www.habr.com
