Karijera Data Scientist-a: iz ličnog iskustva Ognjena Zelenbabića

Dragi pratioci,

Sigurno ste se kao i ja, suočili sa poteškoćom da u jednoj rečenici roditeljima, bakama i dekama, strinama i tetkama objasnite na kojoj poziciji radite, kako se zove vaše zanimanje i šta tačno podrazumeva… Zanimanja Business Intelligence Consultant, Database Architect, Database Administrator itd. su teško objašnjiva u jednoj reči onima koji nisu u IT vodama… Generalno gledano, sa razvojem novih tehnologija uvek su se javljale i nove radne pozicije i nova zanimanja… U lavini podataka sa kojima smo svi suočeni u ovoj big data eri, došlo je do razvoja brojnih tehnologija, tehnika i alata koje zahtevaju posebna znanja, stručnosti i veštine zaposlenih. Trenutno aktuelne pozicije koje podrazumevaju rad sa ovim tehnologijama su Data Scientist, Data Engineer, Information Strategist,  Big Data Architect, Big Data Consultant, Data Executive, Chief Digital Officer, i slično…

Zbog velikog interesovanja za sve one specifičnosti i karakteristike ovih novih zanimanja, odlučila sam da intervjuišem nekoliko ljudi koji se baš bave data science-om i uopšte analitikom u big data eri.

Ognjen Zelenbabić je bio i više nego racionalan izbor za intervju o data science-u, a u nastavku ćete i sami shvatiti zašto…

?

Reci nam nešto o sebi – koji si fakultet završio i kako si počeo da gradiš svoju karijeru?

Nisam hteo da prihvatim neminovnost da u Srbiji, nakon toliko godina investiranja u obrazovanje, čovek najviše može da se nada da ima posao. Posle završenih master studija na ETF-u postavio sam sebi cilj da nije dovoljno samo da radim već i da volim ono što radim i da od toga lepo živim. Menjao sam oblast delatnosti nekoliko puta sve dok se na kraju nisam pronašao u svetu prediktivne analitike. Bilo je potrebno mnogo rizika i odricanja da bih na kraju uspeo da se udomim u oblasti koja je intelektualno zahtevna i kreativna. Poziciji u kojoj se sada nalazim su najviše doprineli sati i sati učenja kada god bih uspeo da odvojim slobodno vreme za to.

Kako bi opisao data science? Koliko se data science uklapa u tvoj svakodnevni posao?

Data Science je prirodni iskorak dalje u odnosu na tradicionalnu analitiku i poslovnu inteligenciju. Sa sazrevanjem tehnologija i sa izobilju podataka koje sada imamo nalazimo se u situaciji da možemo da uradimo nešto više sa podacima. Uočavanje skrivenih šablona unutar podataka i njihovo korišćenje je ono što je toliko popularizovalo data science zbog raznih benefita koji iz toga proizilaze. Kada, na primer, uspete da napravite prediktivni model korisničkog ponašanja, dolazite u situaciju da možete da adaptirate svoje poslovne procese u odnosu na ono što će se desiti (data science) a ne u odnosu na ono što se dešavalo (tradicionalna analitika). Moj posao je izrada modela i komuniciranje rešenja odnosno davanje preporuka u zavisnosti od dobijenih rezultata.

Kako izgleda tvoj uobičajen dan na poslu?

To zapravo zavisi od toga koji je dan u pitanju. Nekada je to rad na definisanju mehanizama praćenja i ekstrakcije podataka, nekada je rad na integraciji podataka, čišćenje podataka, eksplorativna analiza, itd. Izrada modela dolazi na red tek kada su svi preduslovi čistih i pravilno pripremljenih podataka ispoštovani. „Najteži“ deo posla je predstavljanje rešenja kada morate da ubedite ljude u nešto što nije intuitivno. Upravo zbog toga je vizuelizacija podataka izuzetno bitna.

Kada si shvatio da želiš da radiš sa podacima? Kako si shvatio da podaci imaju moć?

Da budem iskren, prvenstveno sam hteo da se bavim razvojem algoritama i primenom machine learning-a a podaci su došli kao potreban rekvizit. Od momenta kada sam se na fakultetu prvi put susreo sa machine learning algoritmima kao što su genetski algoritmi, inteligencija roja, neuralne mreže itd. bio sam opčinjen njihovom upotrebnom moći.

Prilikom rešavanja problema, ljudi se uglavnom ograničavaju na ono što već znaju (“Kada imaš čekić sve ti liči na ekser”). Upravo zbog toga smatram da je veoma važno proširiti horizonte i steći što više novih znanja kako bismo bili u stanju da rešavamo kompleksnije probleme i bili veći profesionalci u onome što radimo.

Kako znaš da si prikupio i da analiziraš prave podatke?

Prvi korak analize je uvek eksplorativna analiza kada pokušavamo da uočimo zakonitosti koje postoje unutar podataka. Ako postoje šabloni unutar podataka onda imamo materijal koji možemo iskoristiti za izradu prediktivnih modela, u suprotnom su podaci beskorisni. Eksplorativna analiza podrazumeva upoznavanje sa prirodom podataka uglavnom iscrtavanjem velikog broja grafika (scatter plot, box plot, histogrami itd.) kada možemo vizuelno da uočimo zavisnost promenljivih i njihove međusobne odnose.

Koje tehnologije i alate koristiš? Zašto baš njih?

Koristim dosta alata, sve u zavisnosti od toga kakve su potrebe. Uglavnom koristim Linux, Python, R, SQL, Hadoop, Matlab i Excel. Veliki sam fan Matlab-a ali je on nažalost veoma skup pa firme baš nisu raspoložene da kupuju licence a tu je i problem kako implementirati Matlab program u produkciju. Iz tih razloga sam prešao na open source alatke kao što su Python i R. Svaki od njih imaju svoje prednosti i mane pa njihova upotrebna vrednost zavisi od konteksta. Trudim se da pratim scenu kako bih konstantno bio u toku sa novim tehnologijama. Njih je danas toliko mnogo da nema šanse da se savladaju sve.

Dosta ljudi upadne u zamku da zbog favorizacije neke tehnologije pokušavaju da je proguraju čak i gde to nije prikladno. Ja sam pre za pristup da se utvrdi koji je cilj, šta treba da se postigne, i onda da se pronađe najjednostavnije rešenje za rešenje problema.

Kako vidiš data science u narednih 5 godina? Da li sebe vidiš u ovoj oblasti u budućnosti?

Data Science je uhvatila zamajac koji je teško zaustaviti. Razvoj machine learning algoritama, novih tehnologija koje ih podržavaju i broj ljudi koji se time bave sve je veći tako da u budućnosti možemo da očekujemo još značajnije tehnološke proboje i veću popularizaciju ove oblasti.

Ja sam u data science-u pronašao doživotnu strast tako da sam tu da ostanem. Ono što bih voleo da vidim je da u Srbiji imamo program za edukaciju ovakvih kadrova da makar što se toga tiče idemo u korak sa svetom.

Koji bi savet dao svima koji žele da uplove u ove vode?

Mislim da se može očekivati da će u budućnosti biti veliki deficit za kadrovima ovog profila tako da ne bi bilo loše da se na vreme ukrcate u voz. Strast i posvećenost su veoma bitne jer da biste bili uspešni u ovom poslu podrazumeva se da znate mnogo tehnologija. Ako niste spremni da učite redovno, zaboravite na ovu profesiju.

S druge strane, osećaj da možete pozitivno da utičete na kompletno poslovanje kompanije ili osećaj postignuća koji dobijete kada uspete da izgurate kompleksan projekat je neprocenjiv.

Sigurna sam da vas je ova priča podstakla da razmislite da li želite da se bavite ovom oblašću, a uskoro možete očekivati nove intervjue sa uspešnim profesionalcima iz ove oblasti…

Data Scientist: iz ličnog iskustva Srđana Šantića

Dragi pratioci,

Sve više se susrećemo sa oglasima za poziciju Data Scientist koji su ili prilično zbunjujući ili zastrašujući zbog svih onih veština i znanja koja se od kandidata traže. Zbog toga, rešila sam da vam približim samu poziciju na praktičnom primeru svog kolege Srđana Šantića koji radi na poziciji Data Scientist u kompaniji Trustev u Irskoj.

Copyright: Emmet Curtin

Intervju koji sam obavila sa Srđanom vam prenosim u celosti…

Koliko dugo radiš na poziciji Data Scientist? Kako bi opisao preveo na srpski jezik Data Scientist? 

Na ovoj poziciji sam nešto manje od dve godine. Nisam siguran kako bih je konkretno preveo, jer ni mnogo druge pozicije iz istog domena nisu ranije uspešno prevedene u duhu srpskog jezika (Data Miner, Customer Insight Analyst, itd…). Što se opisa posla tiče i svakodnevnih obaveza, one stravično variraju od kompanije do kompanije. Negde se ljudi na ovoj poziciji bave isključivo prediktivnim modeliranjem, negde uz to rade čišćenje sirovih podataka, negde su specijalizovani više za vizuelizaciju, nedge pišu i kod za aplikaciju ili web servis čiji je prediktivni model sastavni deo, negde učestvuju u inženjeringu ETL procesa i celokupnog protoka podataka. Mislim da profesija još nije konkretno definisana, no sve češće u oglasima za poslove viđam jasnije i jasnije definicije šta se konkretno traži, a pogotovo u smislu separacije Data Scientist i Data Engineer pozicija. Možda je često spominjana definicija da Data Scientist mora da poznaje više programiranja od prosečnog statističara i više statistike od prosečnog programera, poprilično precizna.

Koliko programskih jezika znaš? Navedi ih.

Glavno oruđe za rad mi je programski jezik R, koji koristim svakodnevno, mada je on mnogo više od samo jezika – sa preko 7 hiljada dostupnih paketa i 2 miliona korisnika širom sveta, u pitanju je kompletno okruženje i eko-sistem za analizu podataka i statističko i prediktivno modeliranje. Pored njega, poznajem donekle i Python, koji je takođe izuzetno popularan u profesiji, pogotovo njegovi paketi pandas i scikit-learn. Velika prednost koju ima je što se u Pythonu može napraviti kompletna aplikacija ili API, dok R u produkciji baš ne funkcioniše dobro. Inače, Python sam prvi naučio, jer, kada sam krenuo da pohađam svoj prvi kurs iz R programiranja na Coursera platformi, nisam ništa mogao da ukapiram – očekivalo se makar nekakvo poznavanje osnova programiranja. Stoga sam završio prvo jedan kurs iz Pythona, što se pokazalo kao pun pogodak – sintaksa je mnogo jednostavnija za učenje, i tada je bilo mnogo više resursa za početnike u Pythonu nego u R-u. Konačno, poznavanje SQL se podrazumeva, makar do nekog prosečnog nivoa – zavisi već od konkretnog radnog okruženja.

U kojoj meri ti je obrazovanje pomoglo da postaneš Data Scientist?  

U ovom smislu sam malo atipičan primer, jer sam osnovne i master studije na Ekonomskom fakultetu Univerziteta u Beogradu završio na smerovima iz oblasti poslovnog upravljanja. No, ovo obrazovanje mi je izuzetno pomoglo, jer na poziciji na kojoj sam moram da komuniciram konstantno sa ljudima iz ostalih timova (proizvodnje, marketinga, prodaje), kao i višim menadžmentom, i jako je bitno “pričati istim jezikom”. Nažalost, ovaj posao se ne radi u izolaciji od ostatka firme, već se rezultati analize i modeliranja moraju poredstaviti u poslovnom kontekstu. Menadžment ne zanima koji je algoritam korišćen, niti kolika je preciznost modela merena površinom ispod ROC krive. Potrebno je uvek rezultate predstaviti na način koji je “svarljiv” sagovorniku koji nema to predznanje.

Da li su neformalne obuke i usavršavanja bitnije od diplome fakulteta za Data Scientist-a?  

Neformalne obuke, kao i učenje u svoje slobodno vreme, su izuzetno bitni. Ja sam imao veliku sreću da, odmah po završetku fakulteta, radim kao istraživač-metodolog u jednoj agenciji za marketinška istraživanja, gde se izuzetno mnogo polagalo na duboko poznavanje multivarijatne statistike, i statističkog modeliranja i analize uopšte. Tu sam bio u prilici da konstantno učim. Posle toga, kada sam shvatio da budućnost leži u korišćenju programskih jezika za prediktivno modeliranje, od izuzetno velike pomoći su mi bile Coursera i edX platforme. Obe su fantastične za učenje programiranja, jer je testiranje koda koji pišeš automatizovano. Sistem za kurseve iz analitike je malo slabiji (iako su sama predavanja izuzetno kvalitetna), jer domaće zadatke koje imaš ocenjuju drugi polaznici, pa feedback koji dobijaš možda nije relevantan. Konačno, udžbenike iz statistike i modeliranja ništa ne može da zameni, a pogotovo sada kada Springer i CRC Press redovno izdaju knjige u kojima se fantastično spaja teorija sa primerima analize i kodom u R.

Koliko je znanje engleskog jezika bitno za poziciju Data Scientist?

Poznavanje engleskog jezika je vrlo bitno, prvenstveno zbog samo-edukacije. Drugo, ako nisi siguran kako nešto da uradiš, moraš umeti da na engleskom postaviš detaljno pitanje na StackOverflow ili CrossValidated sajtovima. Sem toga, ukoliko radiš u outsourcing kompaniji, neophodno je da dobro komuniciraš sa klijentom u inostranstvu. Čak i ako posao obavljaš u Srbiji, samo na srpskom, komunikacione i prezentacione veštine su izuzetno važne. Takođe, ako ne dolaziš iz sveta softverskih inženjera, kao ja, nije jednostavno uvek se sporazumeti, čak i u pisanoj komunikaciji. Ja na svom poslu vrlo često pišem funkcionalne specifikacije, i naknadno učestvujem u planiranju sprintova, i izuzetno je bitno dobro iskomunicirati svoje potrebe, inače će sprint biti potrošen na razvoj pogrešne stvari. Zato, recimo, planiram da mi sledeći kurs usavršavanja bude ili iz tehničkog pisanja, ili iz UML jezika.

Koje osobine treba da ima uspešan Data Scientist? Da li treba da bude multidisciplinaran ili je dovoljno da poseduje samo matematička i statistička znanja?

Poznavanje statistike, analize podataka i prediktivnog modeliranja se podrazumevaju. Neophodno je poznavanje makar jednog programskog jezika – ili R ili Python. Bez poznavanja programiranja, to prosto nije taj posao onda. Potrebno je umeti vizuelizovati i prezentovati podatke i nalaze. Mislim da sposobnost rada u PowerPoint-u, pogotovo u korporativnom okruženju, uopšte nije za podcenjivanje. O komunikacionim sposobnostima sam već detaljno objasnio u prethodnom pitanju. Mnogo toga zavisi i od firme u kojoj radiš. Startup-i obično dugo vremena imaju samo jednog Data Scientist-a  i tu je skup sposobnosti, kao i očekivanja, drugačiji nego u već razvijenoj, etabliranoj kompaniji.

U kojoj meri tvoj deo posla zavisi od posla drugih kolega? U kojoj meri posao tvojih kolega zavisi od tvog dela posla?

Zavisi izuzetno mnogo, jer najveći broj stvari koje su potrebne za rad u startup-u moraju biti razvijene od nule. Ako mi treba data warehouse, i kvalitetan ETL proces, ja to ne umem sam da napravim, već to postaje deo rada u sprintu. Ukoliko je potreban server za primenu modela u produkcionom okruženju, to je opet deo rada na sveukupnoj platformi, koji ide prvo u product backlog, pa u sprint. Svaki model koji napravim prvo ide u QA okruženje, pa se onda radi deployment u produkciono okruženje. Konačno, posao mojih kolega isto zavisi mnogo od mene – ja pišem funkcionalne specifikacije, a i ceo servis koji nudimo klijentima je baziran na modelima koje ja pravim.

Često sam u praksi imala prilike da čujem konstataciju “Data Science je fensi naziv za Data Mining”, odnosno Data Science = Data Minning. U tom duhu, pitanje za tebe je da li se sme staviti znak jednakosti između Data Science-a i Data Minning-a?

Tu definitivno postoji neko preklapanje. U suštini, posao Data Minera, koji se i kod nas i u inostranstvu najčešće sreće u velikim kompanijama, koje sakupljaju mnogo podataka o svojim korisnicima, je da iz već dostupnog data warehouse-a izvuče podatke, a zatim korišćenjem komercijalnom softvera baziranog na grafičkom (GUI) radnom okruženju (tipa IBM SPSS Modeler, SAS Enterprise Miner, RapidMiner) ili napravi analizu koja će biti prezentovana menadžmentu, ili napraviti prediktivni model koji će rešiti neki problem (recimo, predviđanje odlaska korisnika kod drugog pružaoca usluge). Posao Data Scientist-a je načešće vezan za startape i veće kompanije koje svoj biznis obavljaju prvenstveno onlajn, time skupljajući isto značajne količine podataka. Iako podrazumeva takođe analizu i prediktivno modeliranje, fokus je na korišćenju open-source alata, kao i ne baš jednostavnoj dostpunosti podataka koji su potrebni. No, o tome sam više rekao u prvom pitanju.

Zbog čega si doneo odluku da odeš u Irsku? Kakvi su ti utisci?

U Srbiji sam godinu dana proveo na poziciji Data Scientist u kompaniji Razor Communications, gde sam radio u tzv. ringfenced timu posvećenom startapu iz Irske, u kome i sada radim. Utisak o poziciji i radnom okruženju mi je prosto fenomenalan. Posle šest godina rada u svetu marketinga i marketinških agencija, iskustvo rada isključivo sa softverskim inženjerima mi je bilo potpuno osveženje. Kultura koja postoji u takvim firmama je prosto nešto što se nigde drugde ne može doživeti.

Odluku za odlazak za Irsku sam doneo na osnovu poziva koji sam dobio da se preselim sa suprugom i radim direktno za startup za koji sam posredno radio iz Beograda. Uz amin tadašnjeg poslodavca, to sam i učinio. No, odluci je svakako izuzetno doprinela ukupna situacija u zemlji, i ne baš veliki broj radnih mesta za Data Miner-e i Data Scientist-e, a pogotovo sa atipičnim obrazovnim profilom za tu poziciju, kao što je moj.

Kako bi opisao rad na pozici Data Scientist sa dva aspekta: Irska vs Srbija?

Moje iskustvo je vrlo slično, i svodi se na dve stvari. Prvo, da je rad u startapu izazovan i neobičan. Prosto, nije lako navići se da sve mora biti razvijeno od početka, da vrlo često nešto prosto prestane da radi, da se pojavljuju neočekivani bagovi. To je direktno vezano za drugu razliku, između radnog okruženja u kome sam bio ranije u Srbiji, pre Data Scientist pozicije, i ovog u kome sam poslednje dve godine. Svakodnevni rad sa softverskim inženjerima, u toj kulturi, je prosto fantastično iskustvo.

Nadam se da vam je ova priča bar malo približila samu poziciju, a uskoro očekujte još priča iz ugla uspešnih Data Scientist-a…