Odakle početi predstavlja jedno od najtežih pitanja kada se odlučimo naučiti nešto novo. S toliko opcija koje su nam na raspolaganju teško je donijeti odluku, pogotovo ako prije toga nismo imali nikakvo osobno iskustvo ili dodir s tim područjem.
Pa otkud onda početi ako želimo naučiti, primjerice, programirati?
Zahvaljujući internetu i brojnim edukativnim platformama poput Udemyja, Coursere, pa čak i YouTubea, učenje programiranja danas nikada nije bilo lakše. Također, postoje i brojni tečajevi (neki od njih i besplatni) koji se održavaju uživo, poput JUNIOR Deva u Splitu.
Kako biste se upisali na takve tečajeve, potrebno je ipak imati određeno predznanje, koje isto tako možete steći samostalnim učenjem ili pak na početničkim tečajevima na kojima polaznici kreću od nule.
Digitalna Dalmacija je s dvije splitske IT tvrtke Codeasy i Codemage te udrugom Split Tech City organizirala JUNIOR Dev. Radi se o šestotjednom tečaju programiranja namijenjenom svima koji žele naučiti programirati, a imaju određeno temeljno znanje.
Predavači na ovogodišnjem JUNIOR Dev-u bili su talentirani softver developeri Duje Šarić, Alex Amanzi i Andrea Čeprnja iz Codemagea te Senior Full Stack Developer Deni Ćosić iz Codeasyja. Oni su svoje znanje i iskustvo podijelili s mladim programerima koji su željeli naučiti programirati u Reactu.
Upravo je ta mlada četvorka odlučila podijeliti i svoja iskustva i savjete vezane za učenje programiranja i za one koji tek kreću u taj svijet i za one koji žele dograditi svoje znanje.
Kako biste usporedili online edukaciju s edukacijom "uživo", koju biste prije preporučili polazniku?
Online edukaciji nedostaje komponenta socijalne interakcije, odnosno ono što polaznici dobiju na live edukaciji, a to je ta međusobna komunikacija - ako nešto zapne, pitaju jedan drugoga, ali i komuniciraju s mentorom, što se kasnije preslikava na pravom poslu. Uživo edukacija sigurno je nadmoćnija od one online, ali online može biti suplementacija ove uživo, smatra Šarić.
Kao najveću prednost ove edukacije u usporedbi s učenjem programiranja samostalno ili preko interneta Ćosić ističe interakciju s mentorom. Mogućnost direktnog komuniciranja i postavljanja pitanja omogućuje polaznicima da dobiju dodatna pojašnjenja i ponavljanja u dijelovima koji im nisu jasni. Također, mentor može prilagoditi tempo predavanja prema razumijevanju polaznika, što nije moguće kod online predavanja, gdje se predaje velikom broju ljudi. Manje grupe omogućuju prilagodbu i individualni pristup svakom polazniku, što je ključno za kvalitetno usvajanje znanja i razumijevanje kompleksnijih koncepta.
Koje su tvoje preporuke za one koji žele započeti karijeru u razvoju softvera, ali nemaju nikakvog prethodnog iskustva u programiranju?
Za sami uvod mogao bi poslužiti tutorijal na YouTubeu, sljedeći korak je online tečaj, a zatim je izvrstan način potražiti događanja lokalne zajednice poput ovog JUNIOR Deva. Međutim, važno je napomenuti da ovi izvori mogu biti nedovoljni za rješavanje pravih problema u stvarnom projektu. Stoga bih preporučio da započnete raditi na vlastitom projektu i suočite se s izazovima koji imaju realne probleme. Na taj način stjecat ćete vrijedno iskustvo i naučiti kako rješavati probleme koji su složeniji od onih koje pružaju online tečajevi ili tutorijali. Ovo je važno jer su takvi izvori obično namješteni tako da se problemi mogu lako riješiti, što nije reprezentativno za probleme u praksi, savjetuje Ćosić.
Duje Šarić, Alex Amanzi i Andrea Čeprnja iz Codemagea te Deni Ćosić iz Codeasya (Foto: Digitalna Dalmacija)
Koliko je važno imati praktično iskustvo u razvoju softvera pri zapošljavanju u IT industriji?
Ja bih rekao jako važno. Bilo bi dobro da su ljudi nešto samostalno pokušavali raditi, neke aplikacije, čisto da se upoznaju s problem solvingom, da pokušavaju, da istražuju… JUNIOR Dev edukacija je super primjer kako usvojiti to neophodno dodatno znanje i vještine. Prolazi se gradivo i polaznici dobiju praktičan rad koji trebaju napraviti, za sve ono što su učili imaju priliku to zapravo isprobati na neki način i uz to dobiti i feedback i konkretne inpute kako nešto popraviti ili promijeniti ako je zapelo, kaže Amanzi i dodaje kako je najveći problem što ljudi samo slušaju tečajeve, a to nije ono čemu bismo trebali težiti jer nakon toga što smo odslušali nešto bi trebalo i isprobati jer se jedino tako uči.
Ćosić smatra kako je najbolji način da naučite programiranje upravo kroz praksu, uz puno eksperimentiranja i truda.
Probajte, pogriješite, naučite iz svojih pogrešaka i pokušajte ponovno, savjetuje.
Koliko je teško dobiti programersko znanje onima koji ne idu na fakultet te ne žele plaćati preskupe tečajeve?
Kada je riječ o stjecanju programerskog znanja, trend ide u smjeru sve veće dostupnosti materijala na internetu, uključujući besplatne tečajeve na platformama poput YouTubea, kao i pisanih dokumentacija koje programeri sve više pišu. Unatoč tome, programiranje je i dalje zanimanje koje ima veliku ulaznu barijeru te početnicima može biti previše jer ima puno toga za naučiti i prvi problemi znaju biti okosnica odustajanja. U tom smislu imati mentora kroz uvodni proces može značajno olakšati put, pogotovo za one koji ne idu na fakultet ili ne žele plaćati skupe tečajeve, ističe Ćosić.
Koje su to osnovne vještine koje mladi developeri trebaju usvojiti na početku svoje karijere?
Za početak, to bih podijelio na dvije grane, a to su soft skills i tehničke vještine. Što se tiče tehničkih vještina, bilo bi poželjno da se izuči dobro jedan programski jezik, izvan toga ako se pojedinci žele baviti web developmentom da se usvoje web development skillovi, da se nauče alati kao što su Git, Version control i slični i nešto nužno kao tekst editor u kojem će biti svaki dan. Što se tiče soft skillova, rekao bih da je najbitnija komunikacija, da se osoba može snaći u timu, istaknuti probleme, ali i pozitivne stvari te se dobro snalaziti u timskom radu. Osim toga, ključni soft skillovi koje bih istaknuo su i problem solving i time management, savjetuje Šarić.
Kako se tehnologije koje se koriste u razvoju softvera mijenjaju i razvijaju s vremenom? Kako biste savjetovali početnike da ostanu ažurni s najnovijim tehnologijama i trendovima?
Svakako smo struka u kojoj se nikad se staje s učenjem. Dosta ljudi koristi članke, blogove i tome slično kako bi bili upoznati s trenutačnim trendovima i novim tehnologijama. Mislim da u tom kontekstu dosta vrijedi networking, odnosno moći popričati s ljudima iz iste struke, koji rade na nekim drugim projektima, dakle imaju neko drugo iskustvo. Mislim da je to dijeljenje iskustava ustvari super način da se nauči nešto novo ili čuje za neku novu tehnologiju, kaže Čeprnja.
Savjete za buduće programere je podijelio i Deni, koji je upozorio da se ne smiju bojati promjena.
Ako ste blokirani nekim problemom u određenoj tehnologiji, možete uvijek promijeniti tehnologiju, pristup ili krenuti u neku drugu sferu koja je povezana s vašim poslom. IT industrija nudi mnogo različitih tehnologija i poslova, a vaša sposobnost da se prilagodite i naučite nove stvari bit će ključna za vaš uspjeh.
Drugi savjet je da budete u tijeku s novostima. Sat vremena dnevno posvetite čitanju članaka i istraživanju novih tehnologija koje bi vam mogle pomoći u radu.
Za kraj, želio bih naglasiti da ne odustajete. Programiranje može biti teško i naizgled beznadno, ali s upornim radom i posvećenošću možete savladati bilo koji izazov koji se pojavi. Ako se suočite s problemom, tražite rješenje i budete kreativni u svom pristupu, a vaša strast za programiranjem i neprestano učenje odvest će vas daleko u ovom dinamičnom i zanimljivom sektoru, savjetuje Ćosić.