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 Pugaromrazvojni programer tvrtke Usjek, koja uglavnom radi na projektima za europske i američke klijente, a cilj im je postati globalni lider tehničke izvrsnosti. Goranova karijera obuhvaća preko 13 ažuriranja JVM jezika. Iako mu je to specijalnost, u Notchu se ne bavi samo razvojem projekata, već i razvojem i učenjem unutar tvrtke. Kao organiziranje Uči @ Ručak četvrtkom gdje jedan član tima prezentira rješenje, tehnologiju ili rješenje, organizaciju Notch MeetUpovakao i dio tehnološke redakcije koja pokriva tehnološke teme na blogu Notch.
Koja je definicija fullstack developera?
Postoje mnoge definicije fullstack programera, od činjenice da su se oni ljudi upoznali s pozadinskim i prednjim aspektima razvoja, do činjenice da su fullstack programeri zapravo softverski arhitekti. Zapravo, definicija fullstack programera uvelike ovisi o iskustvu te osobe. Dakle, kada govorimo o nekome tko je fullstack developer, to je osoba s jako velikim brojem kompetencija, a ako tražimo junior fullstack developera, očekuje se da će ta osoba biti jako zainteresirana za učenje svih tih kompetencija. Rekao bih da u većini oglasa za posao zapravo fullstack programer nije ono što bismo očekivali. Najčešće se radi o traženju osoba sa širokim spektrom znanja koja odgovaraju projektu za koji se ta osoba angažira. Zbog toga ne postoji jasna definicija fullstack programera.
Što razlikuje frontend od backend-a?
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 odgovara svakom pregledniku, što znamo rješenje 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 moraš razmišljati o svim skrivenim bugovima, rizicima sigurnosti…
Kakvo je mišljenje unutar Notcha o fullstack developerima?
U Notchu smo fokusirani na razvojne osobe u smjeru koji im je zanimljiv. 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 želi 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 podaci iz Notcha su me naveli da dublje promislim o tome. Smatram da su kvalitetni developeri općenito visoko kreativna osoba, dobra u rješavanju problema, analitičkog uma i ima dobro oko za detalje. Većina programera je znatiželjna i uvijek voli učiti i istraživati, a razvoj softvera i traži da uvijek budemo u procesu učenja. Zato se 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, njihove arhitekture i strukture.
Što biste savjetovali junior developera?
Da uvijek budu znatiželjni, uče, istražuju, kopaju, o svim aspektima razvoja softvera. 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 razvoja. Biti developer, svejedno govorimo li o nekome tko želi biti fullstack, backend ili frontend, znači znatiželjan oko tehnologije, shvaćati ih i razmišljati kako ih koristiti.
A kako postati fullstack developer na .debug konferenciji objasnit će vam Nikola Mašić, voditelj inženjeringa u Notchu, kroz iskrenu i sustavnu analizu potrebnih i poželjnih vještina i kompetencija. Zajedno s abecednim pregledom alata i tehnologija korištenih u Notchu.
Više o temiIzvor:Bug.hr