Internet je prepun kurseva. Gomila nasnimljenih snimaka koji šablonski predaju jednu istu priču, uče jezičku sintaksu nekog programskog jezika i daju generičku čet aplikaciju kao rezultat.
Dok sam učio programiranje, tad gledajući kurs za kursom, video po video, uviđao sam mane takvog pristupa. Nakon što sam dobio prvi posao sam većinu tih mana i potvrdio. Shvatio sam da nijedna jezička sintaksa, nijedan tutorial koji objašnjava kako se piše određena funkcija mi nije od preterane pomoći.
Pisanje koda je jedno, posao je drugo
Za različite tipove kurseva dva problema koja se izdvajaju po mom mišljenju:
- Nasnimljeni video kursevi (Udemy) mogu biti jeftini, ali zahtevaju disciplinu i malo pružaju
Video kursevi ovog tipa često polaznika dovedu u stanje poznatije kao tutorial hell. Osim toga, zahtevaju disciplinu. Samo gledanje sadržaja nije dovoljno. Polaznik mora i treba da učestvuje, što kod ovakvog vida učenja postaje veoma teško. Nemate podršku mentora, nemate pored sebe nekoga kome možete postaviti pitanje i relativno brzo na isto dobiti odgovor. Ostavljen si na cedilu svog razumevanja načina na koji ti je sadržaj predstavljen. To je jedan od razloga zbog kojeg okvirno čak 85% do 90% polaznika ne završi svoj Udemy kurs za koji je dao novac.
- Tipični plaćeni kursevi (poput različitih akademija ili ustanova)
Ovakvi vidovi učenja su koncipirani da polazniku stvore lažnu nadu i utisak da mu je posao zagarantovan nakon dobijene pisane "diplome" ili sertifikata. To naravno nije istina, nijedan oblik od navedena dva kao i bilo koji drugi ne može garantovati posao. Dobijanje posla je strogo individualno i zavisno od velikog broja faktora. Imajući u vidu da su ovakvi vidovi veoma skuplji u odnosu na ostale, morate izdvojiti veliku sumu novca za veoma mali rezultat ili znanje. Rezultat koji ste mogli steći potpuno besplatno putem interneta, uz AI ili neke od besplatnih kurikuluma različitih kompanija. Ovakav vid učenja, naravno, zavisno od individualnog truda polaznika može biti koristan, ali se postavlja pitanje, da li je vredan uloženog novca?
Znanje koje te kursevi uče je besplatno.
Ono što je zajedničko u oba slučaja je da nijedan ni drugi vid obuke vas neće pripremiti za realan posao! Kroz karijeru sam shvatio da najbolje učim na konkretnim primerima, da sam najviše korisnog znanja stekao kroz praksu, prvi posao i svaki naredni.
Znanje koje je primenljivo u realnom svetu je najkorisnije znanje koje sam sticao tokom svog profesionalnog puta. Smatram da je pisanje koda (sintakse) jednog programskog jezika veština.
Posao je spoj te veštine isklesan inženjeringom i skupom drugih veština stečenih kroz rad u različitim okruženjima.
Vođen ovim i željom da podelim konkretna znanja o samom poslu u IT industriji, došao sam na ideju da osmislim potpuno drugačiji pristup učenju. Program koji se fokusira na sticanje znanja kroz rad u realnom okruženju. Program koji te zapravo sprema i daje veštine koje se na dnevnom nivou koriste u jednoj IT kompaniji. Veštine za koje smatram da bi te izdvojile, koje sam i sam stekao tokom svoje karijere.
Kako izgleda proces prioritizacije jedne moderne web aplikacije?
Posao ne stiže kao „napravi aplikaciju", nego kao niz tiketa koje je neko poređao po redu. Taj redosled ima razlog, i razlog skoro nikad nije samo tehnički. Ono što iznenadi svakoga ko dolazi sa portfolio projekata je koliko vremena ode na dogovor o tome šta se neće raditi — i koliko se taj dogovor promeni na sredini sprinta.
Šta se dešava kada aplikacija ima bag?
Određujemo hitnost baga. Reprodukujemo i rešavamo. Šta se sve dešava između i kako dolazimo to popravke + se uverimo da se isti bag ne ponovi u budućnosti.
Kako da znam da li je kod koji sam napisao dovoljno dobar?
Code review je najbrži način da napreduješ ovde — drugi par očiju vidi ono što tvoje oči često propuste tokom posla.
Pokušam da commit-ujem svoj kod, međutim ne uspevam da napravim pull request?
Ovo je većini slučajeva znak da nedostaje deo procesa koje niko ne objašnjava jer se u firmi podrazumeva: grana, konvencija imenovanja, zaštićena glavna grana, provere koje moraju da prođu pre nego što se išta spoji.
Na koji način koristim AI u projektu, koja su pravila?
AI se koristi, svakodnevno, ali pravila postoje i razlikuju se od firme do firme. Ono što se ne menja je da na review dolaziš ti, a ne alat: moraš da odbraniš svaku liniju koju si poslao i da objasniš zašto je tu. Najčešća greška nije to što neko koristi AI, nego to što ne prepozna kad mu je dao pogrešan odgovor.
Na sva ova i mnoga druga pitanja trudim se da odgovorim što detaljnije kroz osmonedeljni program koji je osmišljen da zajedno radimo, gde ti se posvetim i dam što bolji uvid u to kakve su veštine potrebne za rad u našoj industriji kao i šta je to što bi te moglo izdvojiti.