Jack of all trades, master of none, ili stvarna osoba koja može pokriti i frontend i backend? Tko je zapravo fullstack developer?
Popričali smo s Goranom Pugarom, Software Developerom tvrtke Notch, koja radi najviše na projektima za europske i američke klijente, a cilj im je postati globalni lider tehničke izvrsnosti. Goranova karijera traje preko 13 updateova JVM jezika. Iako je to njegova specijalnost, u Notchu je uključen u development ne samo projekata, već i razvoj i učenje unutar firme. Poput organiziranja Learn@Lunch četvrtkom gdje jedan član tima prezentira rješenje, tehnologiju ili soluciju, organiziranje Notch MeetUpova, kao i što je dio tehnološke redakcije koja brine o pokrivanju tech tema na Notch blogu.
Koja je definicija fullstack developera?
Postoji jako puno definicija fullstack developera, od toga da su to osobe upoznate s backend i front aspektima developmenta, do toga da su fullstack developeri zapravo software arhitekti. Zapravo, definicija fullstack developera jako ovisi o iskustvu te osobe. Tako kada govorimo o nekome tko je fullstack developer, to je osoba s jako velikim brojem kompetencija, a ako tražimo juniora fullstack developera, od te se osobe očekuje veliki interes da nauči sve te kompetencije. Rekao bih da kod većine oglasa za posao, zapravo fullstack developer nije ono što bismo očekivali. Najčešće to znači da se traži osoba sa širim skupom znanja koje odgovara projektu za koji se ta osoba i zapošljava. Zbog toga i nema čiste definicije fullstack developera.
Što razlikuje frontend od backenda?
Rekao bih da je frontend puno zabavniji i opipljiviji, zbog toga i često primamljiviji, pogotovo kod mlađih developera. Rješenja su vizualno vidljivija puno prije, ali postoji puno toga o čemu moraš razmišljati, samo jedna od stvari je da rješenje odgovara svakom browseru, što je znamo podložno čestim izmjenama. Što se tiče backenda, on je više za osobe koje su problem solveri, koji se vole igrati s podatcima, strukturama i arhitekturama tih podataka. Na kraju ipak, to rješenje nije vizualno, rijetko tko ga vidi, ali ti moraš razmišljati o svim skrivenim bugovima, rizicima sigurnosti…
Kakvo je mišljenje unutar Notcha o fullstack developerima?
U Notchu smo fokusirani na razvoj osoba u smjeru koji je njima interesantan. Razvili smo također Competence Matrix, gdje svaka osoba može vrednovati svoje znanje i interes za tehnička i netehnička znanja. Iskazivanjem interesa kroz aplikaciju također i pokazuje točno u kojem se smjeru žele dalje razvijati. Iz tih podataka, možemo vidjeti da velika većina ima interes i za backend i za frontend.
Koje su kvalitete fullstack developera?
Zapravo, upravo ti podatci iz Notcha su me naveli da dublje promislim o tome. Smatram da su kvalitete developera općenito da je visoko kreativna osoba, dobra u rješavanju problema, analitičkog uma i ima dobro oko za detalje. Većina developera je znatiželjna i uvijek voli učiti i istraživati, a software development i traži da uvijek budemo u procesu učenja. Zato ne čudi da ponekad backend developer razmišlja o tome kako prilagoditi podatke za frontend, a ponekad frontend developer gleda što stoji ispod površine tih podataka, njihova arhitektura i struktura.
Što biste savjetovali junior developeru?
Da uvijek budu znatiželjni, uče, istražuju, kopaju, o svim aspektima software developmenta. Uz toliki broj frontend i backend tehnologija danas nema ograničenja, a ne treba se stavljati niti pod krunu samo jedne tehnologije ili samo jednog aspekta developmenta. Biti developer, svejedno govorimo li o nekome tko želi biti fullstack, backend ili frontend, znači biti znatiželjan oko tehnologija, shvaćati ih i razmišljati kako ih koristiti.
A kako postati fullstack developer na .debug konferenciji približit će vam Nikola Mašić, Head of Engineering u Notchu kroz iskrenu i sistematičnu analizu potrebnih i poželjnih vještina i kompetencija. Zajedno s abecednim pregledom alata i tehnologija koje se koriste u Notchu.