Zanimanja Data Scientist i Data Engineer često se miješaju. Svaka tvrtka ima svoju specifičnost u radu s podacima, različite ciljeve analize i različite predstave o tome tko od stručnjaka treba raditi na kojem dijelu posla, stoga svaki postavlja svoje zahtjeve.
Razjasnimo razliku između ovih stručnjaka, koje poslovne zadatke rješavaju, kakve vještine posjeduju i koliko zarađuju. Materijal je opsežan, stoga smo ga podijelili na dvije objave.
U prvom članku Elena Gerasimova, voditeljica fakulteta „“ na Netologiji, objašnjava razliku između Data Scientista i Data Engineera te s kojim alatima rade.
Kako se razlikuju uloge inženjera i znanstvenika
Inženjer podataka je stručnjak koji, s jedne strane, razvija, testira i održava infrastrukturu za rad s podacima: baze podataka, skladišta i sustave za masovnu obradu. S druge strane, on čišći i 'uređuje' podatke za korištenje analitičarima i data scientistima, tj. stvara cjevovode za obradu podataka.
Data Scientist stvara i obučava prediktivne (i ne samo) modele pomoću algoritama strojnog učenja i neuro mreža, pomažući poslovanju da pronađe skrivene obrasce, prognozira razvoj događaja i optimizira ključne poslovne procese.
Glavna razlika između Data Scientista i Data Engineera je ta da obično imaju različite ciljeve. Oba rade na tome da podaci budu dostupni i kvalitetni. No, Data Scientist pronalazi odgovore na svoja pitanja i testira hipoteze unutar ekosustava podataka (na primjer, na temelju Hadoopa), dok Data Engineer stvara cjevovod za održavanje algoritma strojnog učenja koji je napisao data scientist u klasteru Sparka unutar istog ekosustava.
Inženjer podataka donosi vrijednost poslovanju radeći u timu. Njegov zadatak je da bude važna karika između različitih sudionika: od programera do poslovnih korisnika izvještaja, te poveća produktivnost analitičara — od marketinga i proizvoda do BI.
Data Scientist, s druge strane, aktivno sudjeluje u strategiji tvrtke i izvlačenju uvida, donošenju odluka, implementaciji algoritama automatizacije, modeliranja i generiranju vrijednosti iz podataka.

Rad s podacima podlaže principu GIGO (garbage in — garbage out): ako analitičari i data znanstvenici rade s nepripremljenim i potencijalno netočnim podacima, rezultati čak i uz najsloženije analitičke algoritme bit će netočni.
Inženjeri podataka rješavaju ovaj problem gradeći cjevovode za obradu, čišćenje i transformaciju podataka, omogućavajući data znanstvenicima da rade s kvalitetnim podacima.
Na tržištu postoji mnogo alata za rad s podacima koji pokrivaju svaki od koraka: od pojave podataka do prikaza na nadzornoj ploči za upravu. Važno je da odluku o njihovom korištenju donese inženjer, ne zato što je to moderno, već zato što će to stvarno pomoći ostalim sudionicima u procesu.
Uslovno: ako tvrtki treba uskladiti BI i ETL — učitavanje podataka i ažuriranje izvještaja, ovo je tipična legacy osnova s kojom će se Data Engineer susresti (dobro je ako u timu osim njega bude i arhitekt).
Obaveze Data Engineera
- Razvijanje, izgradnja i održavanje infrastrukture za obradu podataka.
- Obrada grešaka i izrada pouzdanih cjevovoda za obradu podataka.
- Uređivanje nestrukturiranih podataka iz različitih dinamičnih izvora u oblik potreban analitičarima.
- Davanje preporuka za poboljšanje konzistentnosti i kvalitete podataka.
- Osiguravanje i podržavanje arhitekture podataka koju koriste data znanstvenici i analitičari podataka.
- Obrada i pohrana podataka dosljedno i učinkovito u distribuiranom klasteru na desetinama ili stotinama poslužitelja.
- Procjena tehničkih kompromisa alata za izgradnju jednostavnih, ali pouzdanih arhitektura koje mogu izdržati kvarove.
- Nadzor i podrška podacima i povezanim sustavima (postavljanje nadzora i upozorenja).
Postoji još jedna specijalizacija unutar putanje Data Engineera — ML inženjer. Ukratko, takvi inženjeri se specijaliziraju za dovođenje modela strojog učenja do industrijske primjene i korištenja. Često model koji dolazi od data znanstvenika je dio istraživanja i možda neće raditi u stvarnim okolnostima.
Obaveze Data Scientista
- Izdvajanje značajki iz podataka za primjenu algoritama strojnog učenja.
- Korištenje različitih alata za strojno učenje za predviđanje i klasifikaciju obrazaca u podacima.
- Povećanje performansi i točnosti algoritama strojnog učenja putem fine prilagodbe i optimizacije algoritama.
- Formiranje 'jakih' hipoteza u skladu sa strategijom tvrtke koje je potrebno provjeriti.
I Data Engineer i Data Scientist povezuju značajan doprinos razvoju kulture rada s podacima, putem koje kompanija može ostvariti dodatnu dobit ili smanjiti troškove.
S kojim jezicima i alatima rade inženjeri i znanstvenici podataka
Danas su očekivanja od stručnjaka za obradu podataka promijenjena. Ranije su inženjeri pisali velike SQL upite, ručno pisali MapReduce i obrađivali podatke pomoću alata kao što su Informatica ETL, Pentaho ETL, Talend.
U 2020. godini, stručnjaku nije moguće zaobići poznavanje Pythona i modernih alata za izvođenje proračuna (npr. Airflow), kao i razumijevanje principa rada s oblacima (korištenje za uštedu na 'hardveru', uz poštivanje principa sigurnosti).
SAP, Oracle, MySQL, Redis — to su tradicionalni alati za inženjere podataka u velikim kompanijama. Dobar su odabir, ali trošak licenci je toliko visok da ima smisla učiti raditi s njima samo u industrijskim projektima. Uz to, postoji besplatna alternativa u obliku Postgresa — besplatan je i prikladan ne samo za učenje.

Povijesno se često traže Java i Scala, iako s razvojem tehnologija i pristupa ti jezici gube na važnosti.
Ipak, hardcore BigData: Hadoop, Spark i ostali alati — više nisu obavezni uvjet za inženjera podataka, već vrsta alata za rješavanje problema koje nije moguće riješiti tradicionalnim ETL-om.
U trendu su servisi za korištenje alata bez poznavanja jezika na kojem su napisani (npr. Hadoop bez poznavanja Jave), kao i pružanje gotovih servisa za obradu streaming podataka (prepoznavanje glasa ili slika na videu).
Popularna su industrijska rješenja od SAS-a i SPSS-a, dok se Tableau, Rapidminer, Stata i Julia također široko koriste od strane znanstvenika podataka za lokalne zadatke.

Mogućnost da sami kreiraju pipeline-ove imala su analitičari i Data Scientist-i tek prije nekoliko godina: na primjer, već je moguće relativno jednostavnim skriptama usmjeriti podatke u skladište temeljenom na PostgreSQL-u.
Obično korištenje cjevovoda i integriranih struktura podataka ostaje u nadležnosti Data inženjera. No danas je kao nikada prije naglasak na T-oblikovanim stručnjacima — sa širokim kompetencijama u susjednim područjima, jer se alati kontinuirano pojednostavljuju.
Zašto Data Engineer i Data Scientist trebaju raditi zajedno
Radom u uskoj suradnji s inženjerima, Data Scientist-i se mogu usredotočiti na istraživački dio, stvarajući radne algoritme strojnog učenja.
A inženjeri se mogu fokusirati na skalabilnost, ponovnu iskoristivost podataka i osigurati da cjevovodi za unos i izlaz podataka u svakom pojedinom projektu odgovaraju globalnoj arhitekturi.
Takva podjela odgovornosti osigurava dosljednost djelovanja između grupa stručnjaka koji rade na različitim projektima strojnog učenja.
Suradnja pomaže učinkovito razvijati nove proizvode. Brzina i kvaliteta postižu se zahvaljujući ravnoteži između stvaranja usluge za sve (globalno skladište ili integracija nadzornih ploča) i implementacije svake konkretne potrebe ili projekta (usko specijalizirani cjevovod, povezivanje vanjskih izvora).
Uska suradnja s Data Scientist-ima i analitičarima pomaže inženjerima u razvoju analitičkih i istraživačkih vještina za pisanje kvalitetnijeg koda. Poboljšava se razmjena znanja između korisnika skladišta i jezera podataka, što čini projekte fleksibilnijima i osigurava održivije dugoročne rezultate.
U tvrtkama koje imaju za cilj razvijanje kulture rada s podacima i uspostavljanje poslovnih procesa temeljenih na njima, Data Scientist-i i Data Engineer-i se međusobno dopunjuju i stvaraju cjelovit sustav analize podataka.
U sljedećem materijalu raspravljamo o tome koje obrazovanje trebaju imati Data Engineer-i i Data Scientist-i, koje vještine trebaju razvijati i kako je organizirano tržište.
Od uredništva Netologije
Ako razmišljate o zanimanju Data Engineer ili Data Scientist, pozivamo vas da istražite programe naših tečajeva:
- Zanimanje „».
- Zanimanje „».
Izvor: habr.com
