11. svibanj 2021.

Neven Falica: Dobar developer se od prosječnog razlikuje po kvaliteti koda

Neven Falica
 
   

Neven Falica ušao je, i to sam naglašava, u četrdesete godine života, radi kao developer u zagrebačkoj kompaniji Software Sauna, zagrebačkoj tvrtki finskih vlasnika koja razvija softver za nordijsko tržište. U slobodno vrijeme se bavi manje digitalnim tehnologijama - vratio sam se fotografiranju i razvijanju filma, dizajnu i 3D printanju korisnih stvarčica.

Kako si ustvari postao developer?

Od malih nogu su me zanimala računala, te kutije koje su, ako im se pričalo njihovim jezikom, mogle dati zanimljive i zabavne rezultate - ubaciš kasetu, napišeš LOAD, dobiješ igru. Bratić je imao Commodorea 64 pred kojim smo provodili vrijeme kad god smo mogli. Na ljetnom tečaju informatike, tamo negdje u drugoj polovici 1980-ih sam se po prvi put susreo s programiranjem - škola je imala varaždinska računala Orao na kojima smo što prepisivali programski kod, što modificirali postojeći tih tjedan dana. Znati koristiti računalo je među mojom generacijom i prijateljima bilo vrlo cijenjeno (kao i znati dobro voziti bicikl!), nitko nije želio ispasti baš totalna 'truba', neznalica, pa smo se svi i potrudili družiti se s računalima što je više moguće. Neki su odustali, neki nisu otišli dalje od pokretanja igara, neki, među kojima i ja, su to shvatili kao velik izazov.

U jednom trenu sam dobio par godina staro PC računalo za koje tih kasnih 1980-ih nije bilo dostupnih baš previše igara, i tako, eto, silom prilika sam se našao licem o lice s računalom koje je došlo s tri igre, softverom za baze podataka, i BASIC programskim jezikom. I to počinju moji prvi ozbiljniji koraci s programiranjem - softver za baze podataka je imao svoj ugrađeni programski jezik, za kojeg sam imao i upute u papirnom obliku. BASIC programski jezik nije došao s fizičkim uputama, ali je imao ugrađen sustav pomoći koji je bio jednostavan i opsežan, te sam, nakon što sam završio sve tri igre više puta, 'bacio' bi se na proučavanje uputa, želio sam natjerati računalo na crtanje i sviranje, želio sam zavladati računalima. Za to je trebalo naučiti nove stvari - jezik kojim računalo priča. Par godina kasnije, nakon što sam odigrao mnogo igara i naučio par programskih jezika, susreo sam se s idejom Interneta. Odjednom, sve što je bilo moguće raditi s jednim računalom, moguće je postalo raditi s mrežom računala - budućnost je stigla! Shvatio sam da mogu potrošiti nešto vremena, natipkati nešto programskg koda, proizvesti web stranicu koju će mi netko drage volje platiti. Tako je počeo moj profesionalni život - zaključkom da je netko spreman platiti za rezultate nečega što sam ja karakterizirao kao 'igranje'. Tokom faksa sam stekao i neko formalno znanje programiranja, iako sam, zapravo, uglavnom samouk.

Što razlikuje odličnog od prosječnog developera?

Dobar developer od prosječnog se razlikuje po kvaliteti koda, uglavnom - prosječni developer, onaj koji je 'ušao' u development samo jer su plaće relativno visoke će isporučiti kod koji će raditi, ali ništa više. Dobar developer će uložiti trud da kod još i 'izgleda' dobro, da je relativno lako shvatljiv, čitljiv i pregledan. Dobar developer će često biti aktivan član i predavač na raznim tematskim okupljanjima i konferencijama, kao što je npr. JavaScriptZagreb, WebCamp Zagreb, PHPDays Verona konferencije, i slične, u Hrvatskoj i u regiji. Plaće su često individualne, dogovorene direktnom pogodbom s vlasnikom tvrtke. Mnogi developeri imaju paušalne obrte čije limite iskorištavaju do samih granica, rade kao vanjski suradnici, često i na više projekata u nekoliko firmi istovremeno.

Većini u branši je bitno imati vlastitu slobodu radnog vremena, sve ranije od 9 sati je većini developera "rano jutro", a mnogi koji rade američkim i dalekoističnim naručiteljima radni dan počinje dobrano iza podneva. Poslodavci su svjesni nedostatka radne snage, ali su i često ograničeni cijenom koju je tržište spremno platiti, tako da nekih posebno nemoralnih ponuda i nema, bar na domaćem tržištu. Većina 'prebjega' se dobije na račun boljih uvjeta, više slobode, ili najčešće zanimljivim projektom. Promjene poslodavaca su česte, zadržavanje kod istog poslodavca duže od nekoliko godina se često smatra manjkom proaktivnosti i ambicije. Pošto nas fakulteti i tečajevi gotovo nikad ne nauče sve potrebno, ogromna većina je čak i na samom početku samouka, a tijekom vremena, tehnologije se mijenjaju rapidno, tako da niti nije moguće nastaviti biti konkurentan bez konstantnog i kontinuiranog učenja - npr. znanja koja su mi bila iznimno potreba i bitna pred npr. pet godina, danas su gotovo potpuno irelevantna.

Koja je po tebi glavna razlika između developera i programera?

Razlika između developera i programera je uglavnom semantička, iako pojam programer bi implicirao osobu koja programira, dok developer gotovo nikad ne radi samo to - uglavnom u posao bude uključeno i dosta planiranja, analiziranja, smišljanja arhitekture projekta, počesto i sudjelovanje u grafičkom dizajniranju korisničkog sučelja - iako taj segment većina developera ne voli, većina kaže za sebe da su 'slijepi za boje'.

Jesu li developeri danas, zbog plaća, na ljestivici društvene popularnosti zamijenili zlatnu mladež?

Društvena popularnost developera je i dalje upitna - velikom djelu društva većina će biti 'nerdovi', čudaci kojima nogomet nije najbitnija stvar u životu, ali svi žele njihove plaće, i smatraju da "samo sjede pred računalom i tipkaju" i to kad im se sprdne.

Hoće li u budućnosti umjetna inteligencija zamijeniti developere?

U budućnosti će nas definitivno velikim dijelom zamjeniti nekakavi ekspertni sustavi, AI ili nekakva još neimenovana kombinacija svega toga, i vjerujem da će se smanjivati potreba za najširom developerskom populacijom, no, ostat će dio developera koji će se specijalizirati na neke segmente, kao što je npr. ergonomija korisničkih sučelja i slično. No, sve to ne očekujem unutar 10 do15 godina, više kao 25 do 30 - svakako ne očekujem doživiti penziju u istom segmentu branše, ako i u samoj branši.