08.11.2018

Natalija Mitkovic

Zašto je praksa važna

 

Mnogi mladi studenti, diplomci ili poslediplomci postavljaju retoričko pitanje „Koja je svrha pohađanja prakse?”. U poslednje vreme, pokazalo se da je praktično iskustvo mnogo značajnije od teorijskog.  Već godinama je prisutan nesklad između dostupnih veština i potreba poslodavaca na tržištu rada. Veliki broj mladih je izašao iz sveta formalnog obrazovanja i želi da se zaposli, ali nedostaje im ono što je poslodavcima najvažnije - praktično iskustvo. Poslodavcima u Srbiji sve je manje bitna diploma fakulteta, a sve više znanje i iskustvo koje budući zaposleni sa sobom nosi.

Ovo se posebno odnosi na IT sektor. Teorija je korisna ali tek kada se primeni i provežba u praksi. Tek se na praksi može videti kako funkcionišu stvari u „realnom svetu“. Jedno je učiti o Javi iz knjiga i znati u teoriji kada se koristi "synchronized", a drugo je tražiti problem po produkcionoj aplikaciji primenjujući sva ta teorijska znanja.

 

Poenta programiranja je rešavanje programerskog problema čije je rešenje program. Da biste to uradili, morate razviti svoje veštine rešavanja problema izlažući se  različitim vrstama problema i aplikacija. To zahteva praksu. To je poput učenja sviranja klavira, igranja šaha ili čak učenja govora stranog jezika. Sve je u praksi. U programiranju, apstraktno razmišljanje je od vitalnog značaja. Kako trenirate vaš mozak da biste apstraktno razmišljali i rešili bilo kakav programski problem? To nije nešto što možete naučiti u učionici ili iz knjige. To nije konceptualni entitet; to je način razmišljanja.  Praksa Vam omogućava da oblikujete, modifikujete i kombinujete osnove koje naučite.

Kada stvarno dobijete problem i rešite ga programom, formirate rešenje, uverite se kako funkcioniše, učinite delotvornim i sadržaj bugova smanjite na minimum, tada ste stvarno programirali. I bez obzira na to što vam kažu, to zahteva puno vremena i napora, i stalnu praksu. Dobra vest je da praktikovanje nije teško, jednostavno pišite programe. Uvek postoji alat, funkcija ili trik koji niste probali i što ih više znate to ste bolji programer.

Takođe, mnogi problemi imaju slična apstraktna rešenja. Nakon što ste sortirali kolekciju različitih tipova podataka koristeći različite algoritme, moći ćete to ponovo učiniti gotovo bez razmišljanja.

Nakon što naučite da izvršavate brisanje i umetanja u vezu, stvari će izgledati poznate kada počnete da vršite rotaciju stabla. Drugim rečima, šabloni koje ste pratili za stare probleme često će se primeniti na nove probleme. Ako ste upravo pročitali o rotirajućem binarnom pretraživaču i obavljanju rotacije, šest meseci kasnije, ako budete trebali da ga primenite, moraćete ponovo da ga pročitate. Ako ste primenili crvena i crna stabla ili avl stabla da biste stvarno rešili problem, sledeći put će biti mnogo brže i verovatno ćete izbeći greške koje ste napravili ranije.

Jezik je apstrakcija. Pokušajte da učite razgovorni francuski samo čitajući knjigu. Kao i jezik, programiranje možete naučiti isključivo praktično. Možda imate lošu gramatiku, koristite sleng i ne možete da objasnite razliku između člana i priloga, ali ćete i dalje moći da razgovarate.

S druge strane, učite francuski isključivo iz knjige i moći ćete da izvršite konjugaciju glagola,  znaćete kada koristiti vous i tu, ali nećete umeti da razgovorate ili nećete razumeti kada neko napokon kaže "tu es con ". Ideal je, naravno, imati razumevanje i teorije i prakse, ali ako treba da birate, onda je bolje da to bude praksa.

Učenje kroz rad je aktivno učenje i veoma se razlikuje od učenja pasivnim konzumiranjem. Možemo da iskoristimo sve raspoložive informacije, ali da zaista naučimo novu tehniku, moramo je zapravo koristiti i testirati naše veštine. U slučaju programiranja, moramo napisati kod.

Pokušavanje, neuspeh, a onda prevazilaženje neuspeha je stvarno učenje. Vežbanje (a ponekad i neuspeh) nam pomaže da naučimo bolje.

 

 

Praksa takođe omogućava da iskusite šta znači timski rad. Desiće se da Vaš kod radi, i nečiji drugi kod radi, ali ne rade zajedno jer se niste dogovorili kako šta treba da izgleda. Veoma je bitno da budete otvoreni i spremni na saradnju, uvek tražite pomoć kolege i mentora ako Vam nešto nije jasno, i budite spremni da i sami ponudite pomoć drugima. Ovakve stvari nećete naučiti iz knjiga.

Verovatno najveći benefit prakse je što je to najbolji vid učenja - učenje radom. Tu se dosta greši, a na greškama se najbolje uči. Osim toga, jako je važna i podrška mentora i senior programera.

Napredovaćete samo kroz stvarne probleme koje sami rešite za svojim stolom. Treba puno vremena i strasti da se dublje zađe u probleme i dođe do očekivanih rešenja. Nemojte očekivati od drugih, od profesora ili kolega, da Vas nauče da programirate, to je isključivo na Vama, ali nemojte se ustručavati da tražite podršku i pomoć.

Razmišljajte dugoročno, volontiranje u dobroj kompaniji može biti značajnije za Vašu budućnost od plaćene prakse na mestu gde nećete naučiti mnogo toga. Praksa Vam omogućava da steknete veštine koje su Vam potrebne za dalji posao. Još jedan benefit prakse je upoznavanje novih ljudi, s kojima možete razmenjivati iskustva i od kojih možete dobiti savete za dalji rad. Ukoliko volontirate, dokazaćete kompaniji da Vam novac nije nabitniji i da Vam je na prvom mestu učenje i sticanje novih znanja i veština. Trudite se da ostavite utisak na poslodavca, jer će možda mesto Vaše prakse postati Vaše novo radno mesto ukoliko se pokažete kao vredni i ambiciozni.

 

Najveći broj kompanija na praksu prima studente (82%) i diplomce (78%), dok je taj broj nešto manji kada su u pitanju samouki programeri (46%) i programeri sa završenim kursevima (39%).

Kada su u pitanju uslovi pod kojima kompanije primaju ljude na praksu, najveći broj njih je navelo motivisanost i želju za usavršavanjem koje prepoznaju kod praktikanata kao najbitniju stavku pri odabiru. Još jedan bitan uslov koji je često navođen jeste položen test tehničkog znanja koji kompanije zadaju budućim praktikantima.

Diplomu visokoobrazovne ustanove 49% kompanija ocenjuje kao veoma važnu pri odabiru kandidata, dok za 30% kompanija diploma uopše nije važna. Velika većina kompanija (96%) junior developere definiše prema znanju, a ne prema godinama iskustva. Najvećem broju kompanija je potrebno 3 do 6 meseci da juniora osposobe za produktivan rad u kompaniji.

 

 

Programski jezici, alati i metodologije dolaze i odlaze. Zato se potrudite da steknete što više iskustva, sa što više programskih jezika i okvira. Fokusirajte se na osnove programiranja, jer se osnove nikada ne menjaju; obratite više pažnje na arhitekturu nego na programiranje.

Ako ste sigurni da postoji samo jedan pravi način da nešto uradite, verovatno je vreme da se suočite sa stvarnošću. Dogmatski pristup može da ometa vašu sposobnost da učite nove stvari i da učini da se sporo prilagođavate promenama. A to vas nadalje vodi u mnoge probleme: postaćete vrlo brzo „zastareli”, „nerelevantni“ i „neisplativi“ programeri.

Iako je istina da danas postoji ogroman broj mogućnosti za zapošljavanje u svetu programiranja, to ne znači da svaki programer može da se zaposli.

Ako želite da postanete stvarno dobri u programiranju i razvoju softvera, onda bi takođe trebalo da znate da to nisu veštine koje mogu da se steknu za nekoliko nedelja ili uz gledanje nekoliko tutorijala na Jutjubu.

Da biste uspešno mogli da se bavite ovim poslom potrebno je da prođete obuku od najmanje 12 meseci. Ako ne želite da upisujete fakultet, kod nas postoje šestomesečni sertifikovani edukativni programi, koji vam omogućuju da steknete potrebne veštine i znanja, ali i da radite u praksi.

 

Izvor: studentskeprakse.rs; startit.rs; coyotecommunications.com; byteback.org; quora.com; forbes.com

 

Komentara: 0

Ostavite Vaš email ako želite da dobijate obaveštenja o novim vestima na sajtu.

Korišćenjem ovog sajta prihvatate upotrebu kolačića. Saznajte više