Kako kupiti kartu za budućnost?
Ovaj tekst predstavlja skroman pokušaj demistifikacije zanimanja iz Big Data oblasti i skup saveta za nalaženje posla i dalje edukacije u sferi Big Data tehnologija. Tekst je namenjen početnicima ili profesionalcima iz drugih oblasti koji se interesuju za ovu oblast.
Svi znamo da je današnji svet zatrpan podacima od kojih samo mali deo bude iskorišćen za dobijanje kvalitetnih informacija. Sa porastom obima prikupljenih podataka direktno opada njihova “vrednost po bajtu”. Ova vrednost opada iz dana u dan kako se okeani podataka slivaju u skladišta kompanija širom sveta. Motivacija kompanija koje istražuju ove mračne dubine okeana podataka jesu inovacije i prednost u odnosu na konkurenciju. Da se ne lažemo, postoji i jedan deo kompanija koje samo deklarativno pripadaju ovom miljeu dok u stvarnosti menadžment nema sluha za preporuke koje dolaze od ljudi koji rade sa tim podacima.
Da bi bile u stanju da procesiraju i interpretiraju podatke, kompanijama su potrebne različite tehnologije i ljudi koji znaju da ih koriste. Spisak tehnologija i opis zanimanja koje firme koriste variraju u velikoj meri od slučaja do slučaja. Po mom mišljenju, danas postoji suficit tehnologija a “debeo” deficit profesionalaca koji su spremni i znaju kako da se uhvate u koštac sa haosom podataka.
Gde smo tu mi?
S obzirom da je era velikih podataka tek u povoju, mnoge stvari su i dalje nedefinisane. Na primer, kada pogledate kakva sve zanimanja postoje i koliko se razlikuju jedna od drugih čak i kada se isto zovu čovek lako može da se zbuni. Koliko sam ja uspeo da primetim, postoje dva najčešća zanimanja koja se direktno vezuju za Big Data a bez kojih se ne može:
- Data Engineer
- Data Scientist
Postoji mnogo definicija za opise ovih poslova a one uglavnom zavise od interpretacije same kompanije.
Data Engineer
Zanimanje koje se uglavnom stavlja u drugi plan kada se priča o Big Data svetu iako je podjednako važno kao i Data Scientist. Ovu poziciju uglavnom zauzimaju ljudi koji imaju dobro razumevanje distribuiranog programiranja, infrastrukture i arhitekture. Ovi profesionalci vladaju podacima iz druge perspektive. Oni rade na razvoju infrastrukture, tokova i skladištenja podataka. Osećaju se udobno sa instalacijom distribuiranih sistema kao što su Hadoop MapReduce/Spark klasteri, znaju da kodiraju u programima kao što su Scala/Python/Java i znaju Unix skripting i SQL.
Data Scientist
Ova uloga uglavnom zahteva ljude koji znaju kako da rade nad velikim skupovima podataka sa machine learning (ML) algoritmima, kako da razvijaju prediktivne modele, znaju teoriju (matematiku i statistiku) iza modela i znaju da interpretiraju i objasne ponašanje modela jednostavnim jezikom. Takođe, tipično je i da se traži dobro poznavanje SQL-a kao i poznavanje barem jednog programskog jezika za prediktivnu analitiku (npr. R/Python).
Često se pominje da su zanimanja iz ove oblasti multidisciplinarna i to je više nego tačno. Na primer, od data scientist-a se često traži da poseduje znanje statistike i matematike, razvoja algoritama, machine learning-a, biznisa, baza podataka, programiranja, vizuelizacije rešenja i komunikacije rešenja. Ako u ovaj miks uključimo i različite alate koji mogu da se koriste za neke od kategorija, ispada da je veoma teško naći individuu koja bi uspešno ispunjavala sve kriterijume. Teorija nam kaže da bi idealno bilo da se kreira tim ljudi koji bi zajedno činili potpunu kombinaciju veština i znanja. Ipak, u praksi, a pogotovo prilikom zapošljavanja, stvari stoje malo drugačije.
Kako se edukovati?
Ako planirate da se bavite nekim od zanimanja iz Big Data sveta konstantno učenje vam je neminovno. Kada prestanete da učite, prestajete da budete konkurentni.
U narednom tekstu ću izlistati potrebne osnove koje će vam obezbediti dovoljno znanja da možete početi tražiti posao kao data scientist. A što se tiče edukacije za data engineer-a, mislim da nisam dovoljno kompetentan da dajem smernice.
Ako bih počinjao ispočetka, moj redosled učenja bi bio sledeći:
- SQL – poprilično se lako uče osnove a spada u obavezno znanje za koju god poziciju da konkurišete. Ovde vam mogu biti interesantni sledeći resursi:
- R – definitivno najbolji alat za analitiku i statističko programiranje za početak. Kriva učenja nije strma a još jedan plus je što dokumentacije i tutorijala ima na sve strane. Dobri resursi za početak su:
- https://www.coursera.org/learn/r-programming – uvod u R programiranje
- https://www.edx.org/course/analytics-edge-mitx-15-071x-2 – upoznavanje sa R-om kao i sa analitičkim metodama; u ovom kursu je predstavljeno i nekoliko ML modela
- Python – visoki programski jezik opšte namene, ne spada u obavezno znanje ali ga gotovo svi traže kao opciono znanje. Za učenje python-a bih preporučio sledeće izvore:
- https://www.udacity.com/course/intro-to-computer-science–cs101 – fenomenalan kurs ozbiljnog i detaljnog pristupa gde se uči python kao i osnove informatike
- https://www.codecademy.com/learn/python – vrlo jednostavan kurs za učenje osnova
- Machine Learning – fokusna oblast za bilo kog data scientist-a.
- https://www.coursera.org/learn/machine-learning – definitivno najbolji kurs za početak
- https://www.coursera.org/learn/statistical-inference – veoma važna kolekcija znanja; kurs je napredni nivo ali je definitivno nešto što bi svaki data scientist trebao da zna
- http://work.caltech.edu/telecourse.html – fenomenalan kurs ali poprilično zahtevan
Ako dođete do toga da ste savladali prethodno navedene alate i znanja dalje preporuke vam neće biti potrebne već ćete i sami znati kako dalje da se usavršavate. Alati, algoritmi i ostala znanja iz ove oblasti su neiscrpni tako da ćete imati šta da učite do kraja života.
Kako do posla?
Posla ima mnogo ali, iako postoji deficit radne snage u ovoj oblasti, ima mnogo i konkurencije. Da biste znali šta vas očekuje na intervjuima možete pogledati kakva pitanja postavljaju velike kompanije poput facebook-a:
Dobra je ideja pratiti oglase za određenu poziciju (čak i kada ste zaposleni) da biste videli koji su trendovi i kako biste eventualno dopunili svoj arsenal dodatnim znanjem.
Fokus testova u slučaju Data Scientist pozicije su nekada na statistici i ML modelima, nekada vam postavljaju pitanja vezano za SQL upite i skripting, neki se opet fokusiraju na pitanja u vezi sa razvojem algoritama i kodiranja a neki vas pitaju sve od toga. S obzirom da imena pozicija nisu standardizovana može vam se desiti da vas isti opis posla očekuje i pod nazivom Data Analyst.
Ako je ovo oblast koja vas zaista interesuje i ispunjava onda ćete naći i vremena da se bavite njome. Povremeno uradite neki mini projekat sami za sebe, uključite se u prikladne interesne grupe na LinkedIn-u, učestvujete na organizovanim okupljanjima, ne prestanete da učite i doći ćete do posla ili će posao doći do vas.
Vredi li truda?
Iskreno, mislim da je vredno da odvojite koliko god vremena da vam treba da naučite potrebna znanja da bi ste dobili posao u ovoj struci pa makar to bilo i godinu-dve dana ili više. Investiranje vremena u sticanje veština i znanja koja će vam omogućiti lep život i lepu karijeru u radu na izazovnim, kreativnim i interesantnim projektima ne može biti greška. Budućnost ove oblasti tek počinje a samo od vas zavisi da li ćete se priključiti. Što se mene tiče, ja ne planiram da prestanem da učim a vi kako hoćete.