Programer/Programerka
Obrazovanje > Opisi zanimanja > Programer/Programerka
Kratak opis
Programer obavlja posao pisanja i održavanja niza instrukcija koje računalo mora izvršiti. Na taj način računalo može obavljati neku radnju, ovisno o tome što mu je programskim jezikom zadano.
Potrebno obrazovanje
Za obavljanje poslova programera, potrebno je završiti preddiplomski i/ili diplomski sveučilišni ili stručni studij računarstva.
U Republici Hrvatskoj računarstvo se može studirati na brojnim visokoškolskim ustanovama.
Sve informacije o mogućnostima obrazovanja možete pronaći ovdje.
Nakon završenog preddiplomskog studija stječe se akademski naziv sveučilišni prvostupnik inženjer /prvostupnica inženjerka, nakon diplomskog studija stječe se akademski naziv sveučilišni magistar inženjer/ magistra inženjerka, a nakon završenog stručnog studija stječe se akademski naziv stručni prvostupnik inženjer/prvostupnica inženjerka. Daljnje obrazovanje moguće je nastaviti na poslijediplomskom studiju.
Opis poslova
Programer piše, dopunjuje i održava nizove naredbi (zvane program ili softver) koje u logičkom redoslijedu računalo mora izvršiti. Temelj programerovog rada su funkcionalne specifikacije koje priprema sistemski analitičar. To je dokument koji pomno određuje problem, odnosno zadatke koje računalo treba izvršiti. Programer raščlanjuje te zadatke u što manje cjelina, prepoznajući zakonitosti, sličnosti i njihove međusobne odnose. Uporabom dogovorenih standarda i pomagala programer izrađuje detaljan plan strukture programa, a potom napiše program u nekom od programskih jezika.
Ovisno o težini i vrsti problema koje treba savladati, programer odabire programski jezik u kojem će napisati program. Za pisanje programa može se upotrijebiti jedan viši programski jezik ili više njih (tj. onih koji sadrže riječi prirodnih jezika, primjerice "if", "then", "include" – "ako, "potom", "uključi"). Programski jezici razlikuju se po svojoj složenosti i produktivnosti. Neki od njih su: LISP za područje umjetne inteligencije, PERL za mrežne aplikacije, JAVA za mrežne multimedijske aplikacije, C++ za programe opće namjene i drugi. Programer u pravilu radi s različitim programskim jezicima, ovisno o svrsi programiranja.
Kad završi s kreiranjem nekog programa ili programskog jezika, programer ga pomno ispituje i testira kako bi povjerio njegovu ispravnost. Nadalje, detaljno dokumentira program, odnosno precizno opisuje svoj proizvod u napomenama koje su dio programa, a koje govore kako program radi i kako se koristi. Na taj način, programi se mogu razumjeti bez teškoća i kasnije ih se lakše može dopunjavati.
U informatici se za postupak ispitivanja pravilnosti rada programa obično koristi izraz "testiranje". Osoblje vrlo pomno testira programe i o ustanovljenim greškama obavještava programere koji su ih razvijali. Kad je otklonjeno što je više moguće grešaka, programi se daju u uporabu.
Osim kreiranja novog programa, programer modificira postojeće programe. Potrebe za modificiranjem dolaze zbog novih potreba korisnika ili pak zbog naknadno otkrivenih pogrešaka u njihovom funkcioniranju. Postupak naknadnog modificiranja i otklanjanja pogrešaka naziva se softverskim odražavanjem.
Kad programer instalira programe u radno okruženje, surađuje sa sistemskim administratorima (stručnjaci koji imaju pregled nad raspoloživom računalnom opremom u nekoj organizaciji), pri čemu su mu katkad potrebne ranije verzije programa, operativnih sustava i računalne opreme, kao i osoblje koje ima određena iskustva i sposobnosti.
Programer često sudjeluju i u pisanju priručnika za upotrebu računalnih programa, ali i za njihovu instalaciju (postupak ugradnje na računalo) i konfiguraciju (postupak prilagodbe individualnim potrebama korisnika).
Znanja, vještine i poželjne osobine
Zbog dinamike promjena, koje se događaju u području elektroničkih računala, od programera se očekuje stalno usavršavanje, upoznavanje s novim alatima i okruženjima.
Sposobnost logičkog razmišljanja i kreativnost u rješavanju problema neke su od ključnih sposobnosti koje bi programer trebao posjedovati. Posao koji radi zahtjeva smisao za analizu i detalje, te lakoću u radu s apstraktnim pojmovima. Kako su računalni programi dugi nizovi detaljnih i preciznih naredbi, pisanje takvih naredbi zahtjeva strpljivost, ustrajnost i točnost u radu, bez obzira na vanjske pritiske i rokove. Programeri vrlo često rade timski s drugim stručnjacima ili neposrednim korisnicima, te je smisao za komunikaciju i suradnju vrlo bitan.
Uvjeti rada
Programer uobičajeno radi u uredskom okružju, u čistom i svježem prostoru. Radno mjesto samostalnih programera i onih koji rade u poduzećima koja pružaju računalne usluge često je ondje gdje trenutno vrše programiranje. To znači da mogu dulje vrijeme izbivati od kuće. Kako bi na vrijeme osposobili računala, programeri često dolaze prije ostalih ili rade u kasnim večernjim satima.
Programsko okruženje za velike sustave (primjerice, za programiranje u COBOL-u) zahtijeva tradicionalnije radno vrijeme, a prema potrebi, čak i rad u smjenama.
Pritisci, zbog rokova i nepredviđenih teškoća u razvijanju i dopunjavanju programa često zahtijevaju i rad poslije završenog redovnog radnog vremena, pa i rad tijekom vikenda i praznika.
Programer mnogo vremena provodi ispred monitora, pa je njegov posao posebno naporan za oči i kralježnicu.
Srodna zanimanja
Sistemski administrator, sistemski analitičar
Mogućnosti zapošljavanja
Programer se može zaposliti u specijaliziranim softverskim kućama, ali i u brojnim organizacijama koje se služe računalima.