Ovi pojmovi se veoma često zloupotrebljavaju ili pogrešno shvataju. Mnogi ih miješaju ili podvode pod sveobuhvatnu definiciju „ljudi koji se bave programiranjem“.
Ako želite da razjasnite ciljeve projekta i poslovne potrebe na odgovarajući način, neophodno je da razumijete da svi ovi termini ne predstavljaju isto (iako osoba koja se bavi programiranjem računara može da koristi različite vještine za postizanje različitih ishoda). Veoma je bitno da razlikujete ova tri termina ako radite sa grupama za razvoj softvera.
U ovom članku Viki Sing Rao, programer, gejmer i bloger, razjasniće vam koja je suštinska razlika između hakera, programera i developera, šta su njihovi zadaci i njihovi odnosi.
Haker
Kada se za nekoga kaže da je haker, većina ljudi pomisli na kompjuterske kriminalce koji upadaju u tuđe kompjutere i ugrožavaju sigurnost računara i njihovih sistema. Korištenje ovog pojma u negativnom kontekstu postalo je toliko dominantno da većina ljudi ni ne zna za pozitivno značenje ove riječi, koje je inače starije od negativnog.
Haker je kompjuterski stručnjak koji koristi svoje znanje o računarskom umrežavanju, programiranju, kriptografiji i bazama podataka kako bi prevazišao neki problem u sistemu. Hakeri se više bave maksimalnim iskorišćavanjem resursa, za razliku od onih stručnjaka koji su koncentrisani na dugoročni kvalitet.
Iako haker može da konceptualizuje to kako će izgledati konačno rješenje i da se bavi pisanjem kodova, njegova uloga je da prvenstveno brine o brzini. Haker, kao i hakovanje, jesu najkorisniji u rješavanju vanrednih okolnosti ili prilikom izrade prototipova.
Hakeri se uopšte ne bave krajnjim efektom kodova. Hakeri stvaraju. Oni obično mijenjaju ono šta developeri i programeri stvaraju i transformišu kako bi funkcionisalo drugačije.
Dok se pojam „haker" može odnositi na bilo koju tehnički kvalifikovanu osobu, termin se povezuje sa sigurnosnim sistemima u računarstvu – haker je osoba koja sa svojim tehničkim znanjem koristi „bagove“ ili eksploatacije za probijanje u računarske sisteme.
Programer
Programer je osoba koja posjeduje stručnost za pisanje kodova. Programeri obično savladaju jedan ili više programskih jezika i stiču ogromna znanja o srodnim područjima. Njihove uloge su relativno proceduralne i zahtijevaju koncentraciju i prefinjene vještine.
Programer je najviše usredsređen na kodove i pisanje kodova, ali i na to da se funkcije sprovode na odgovarajući način, tako da budu dostupne za integraciju i kasniju upotrebu. Programiranje je zamah, to jest priprema za stvaranje uspješnih softvera. Programeri obično internalizuju sistem koji grade, ali oni rade i na uređivanju i pisanju dijelova onoga šta je najlakše opisati kao dugački problem iz oblasti algebre.
Developer
Developeri su uglavnom stvaraoci. Međutim, ne može svaki stručnjak za pisanje kodova da bude developer. Developeri su stručnjaci za identifikovanje načina rješavanja različitih problema, kao i za povezivanje komponenata kako bi ispunili neke zahtjeve.
Ovi profesionalci rešavaju probleme poštujući određeni skup principa (dizajn i implementacija). Ovaj skup principa uključuje atribute kao šta su održivost, performanse, robusnost, sigurnost i skalabilnost, između ostalih. Developeri rešavaju probleme na sistematski način.
Dakle, ova tri stručnjaka rešavaju različite probleme koristeći kodove. Programer je sveobuhvatni termin koji podrazumijeva osobu koja se bavi rješavanjem problema. Developer je obučeni programer koji, pored toga šta rešava probleme, to postiže na organizovan i metodičan način, koji se poboljšava s vremenom obrazovanja i rada u praksi.
Haker je mislilac i tvorac. Uprkos njihovim razlikama u individualnom smislu i profesionalnim kapacitetima, oni, međutim, mogu vrlo efikasno međusobno da se povezuju. Moguće je da kombinujete vještine svakog od njih u svoju korist. U stvarnosti, svi developeri i hakeri su programeri. Međutim, uprkos njihovoj stručnosti, mali broj developera i programera je dovoljno kreativan da garantuje ono šta može haker. Konačno, iako su hakeri i programeri zadivljujućih vještina, oni ipak nisu dovoljno iskusni ili dovoljno obrazovani da imaju toliku mogućnost razmatranja kao developeri.
Treba napomenuti i da se u opisima posla termini developer i programer često poistovećuju.
Bez obzira na sve ove razlike, osnova svih ovih zanimanja jeste pisanje kodova. Ako želite da počnete da izučavate bilo koji od programskih jezika, ili da postanete softverski ili web developer, to možete da uradite putem edukativnih programa u oblasti programiranja, koji su najbrži i najefikasniji način učenja, jer su koncentrisani na praktičan rad, a izučavanje teorije je svedeno na minimum. Ali obratite pažnju – ako želite da steknete znanja koja će vam omogućiti da se zaposlite, kratki kursevi vam neće mnogo pomoći. Obuka mora da traje najmanje 12 mjeseci, jer je za usvajanje znanja neophodno da radite na praktičnim projektima. Više o takvim obukama kod nas možete da saznate na ovom linku.
Morate biti prijavljeni da biste ostavili komentar.