Kako tehnologija napreduje i pojavljuju se novi izazovi, programeri moraju biti u tijeku s najnovijim alatima i tehnikama kako bi ostali konkurentni. Za one koji tek započinju svoju karijeru u razvoju softvera, putovanje može izgledati zastrašujuće, s toliko toga za naučiti i naizgled beskrajnim nizom novih tehnologija.
Od kud i kako krenuti?
Kako krenuti i 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.
Međutim, učenje programiranja danas nikada nije bilo lakše zahvaljujući i brojnim online tečajevima poput Udemy i Coursera. Također, postoje i tečajevi koji se održavaju uživo, poput JUNIOR Deva u Splitu, gdje se ove godine učio framework React. Ipak, kako bi se upisali na takve tečajeve, potrebno je imati određeno predznanje. Srećom, postoji EDIT CodeSchool koji se provodi u osnovnim i srednjim školama, a polaznici kreću od nule i mogu napredovati kroz osnovne, srednje i napredne tečajeve. Većina polaznika koji prođu kroz ove tečajeve uspješno dođu do JUNIOR Deva, gdje se dodatno usavršavaju i postaju spremni za rad u uzbudljivoj industriji programiranja.
Digitalna Dalmacija je s partnerima Codeasy i Codemage - dvije splitske IT tvrtke te udrugom Split Tech City organizirala JUNIOR Dev - šestotjedni tečaj programiranja.
Mentori - predavači na ovogodišnjem JUNIOR Dev-u bili su talentirani software developeri Duje Šarić, Alex Amanzi i Andrea Čeprnja iz Codemagea te Senior Full Stack Developer Deni Ćosić iz Codeasya.
Dijelili su svoje znanje i iskustvo s dvije od čak četiri grupe mladih programera koje su obučavali programiranju u Reactu.
Razgovarali smo o raznim temama, uključujući prednosti završetka tečaja uživo, važnost praktičnog iskustva i kako ostati u tijeku s najnovijim tehnologijama i trendovima.
Bilo da ste početnik ili iskusni programer koji želi izoštriti svoje vještine, uvid i savjeti koje su mladi stručnjaci podijelili u ovom intervjuu sigurno će biti dragocjeni.
Kako biste usporedili online edukaciju s edukacijom “uživo”, koju biste prije preporučili polazniku?
Duje: 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 je sigurno nadmoćnija od one online ali online može biti suplementacija ove uživo.
Kao najveću prednost ove edukacije u usporedbi s učenjem programiranja samostalno ili preko interneta Deni 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?
Deni: Za sami uvod bi mogao poslužiti YouTube tutorial, sljedeći korak je online tečaj, a zatim je izvrstan način potražiti događanja lokalne zajednice poput ovog JUNIOR Dev-a. 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 tutoriali. 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.
Koliko je važno imati praktično iskustvo u razvoju softvera pri zapošljavanju u IT industriji?
Alex: 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 skillove. Prolazi se gradivo i polaznici dobiju praktičan rad kojeg trebaju napraviti, za sve ono što su učili da 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.
Alex ističe 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.
Deni 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.
Koliko je teško dobiti programersko znanje onima koji ne idu na fakultet te ne žele plaćati preskupe tečajeve.
Deni: 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 YouTube-a, 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.
Koje su to osnovne vještine koje mladi developeri trebaju usvojiti na početku svoje karijere?
Duje: 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, van 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 bi istaknuo su i problem solving i time management.
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?
Andrea: 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 trenutnim 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 za naučiti nešto novo ili čuti za neku novu tehnologiju.
Savjete za buduće programere je podijelio i Deni koji je upozorio da se ne smijete 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 će vas odvesti daleko u ovom dinamičnom i zanimljivom sektoru.




