Istina o Full-Stack programerima - da li oni postoje ili ne?

Infobip ❤️ Netokracijašta akvizicija znači za vas i za nas?

Istina o Full-Stack programerima – da li oni postoje ili ne?

Domaća IT zajednica ima podeljenja mišljenja - postoje li Full-Stack programeri ili ne? Ako postoje koji su to programski jezici kojim vladaju i zašto nemamo standardizaciju ove pozicije?

U administraciji oglasa sajta HelloWorld.rs koji se bavi zapošljavanjem programera i drugih stručnih IT pozicija u Srbiji, Full-Stack developer ne postoji kao standardizovana radna pozicija. Međutim, u poslednja tri meseca na ovom sajtu bilo je oglašeno čak 129 pozicija za ovo radno mesto što nam jasno govori da kompanije aktivno zapošljavaju Full-Stack developere – uprkos činjenici da se standardi za ovu poziciju razlikuju od kompanije do kompanije u pogledu neophodnih znanja, veština i iskustva.

I dok su konkursi za kandidate otvoreni u zemlji i inostranstvu, ne prođe ni par dana da neko ne postavi isto pitanje – postoje li uopšte Full-Stack developeri ili su većina njih samoproklamovani “majstori svih zanata” bez odgovarajućih veština?

Da li od takvih profesionalaca možemo očekivati da se prijave na naš konkurs i da dođu na razgovor za posao kada bi, sudeći prema toj situaciji, posao trebalo da dođe njima – vrhunskim ekspertima? Da li poslodavci u stvari traže doktora specijalistu ili lekara opšte prakse? Jer, da se ne lažemo, razlika je velika.

Postoje li u današnje vreme Full-Stack programeri?

Reći da iz jedne oblasti znate sve, u vremenu u kom živimo, može zvučati prepotentno i gotovo nemoguće.

Sa druge strane, ako se neko kaže sličnu stvar u svetu programiranja (da podjednako dobro poznaje i Front End i Back End) ponovo ga možemo pogledati podignutih obrva s obzirom na trenutnu kompleksnost tih poslova. Razvoj tehnologije postaje sve složeniji, a stvari više nisu jednostavne kao što su bile pre.

Upravo zato svest o vremenu u kom govorimo osnova je za odgovor na pitanje da li Full-Stack programeri danas zaista postoje, kaže Nikola Poša, Head of Data Integration u kompaniji Arbor Education i jedan od Netokracijinih sagovornika na ovu temu. „Ako se vratimo u 2010. godinu kada ste mogli da kodirate u PHP-u ili Python-u, pravite UI najčešće prerađivanjem neke jednostavne HTML/CSS teme, to začinite sa malo jQuery-a i onda isporučite krajnji rezultat FTP-om na shared hosting server, tada ste sebe mogli da smatrate Full-Stack developerom“, kaže on.

48,2% od anketiranih 100 000 programera svoje veštine u godišnjem istraživanju Stack Overflow svoje veštine opisalo je kao Full-Stack. insights.stackoverflow.com

Međutim, danas su stvari daleko drugačije:

Front End razvoj prolazi kroz preporod, JavaScript je pretrpeo velike promene, Back End danas podrazumeva mnogo više od jednog programskog jezika i prateće baze podataka, a DevOps kultura dobija jednu potpuno novu dimenziju.

Tvrdnja da neko poseduje ekspertizu za svaki od tih slojeva web razvoja dosta je smela izjava. Poša dodaje da termin Full-Stack developer umnogome prevazilazi pojam senior developera – to nije samo pitanje da li je neko programerski poliglota, već i ekspert za praktično sve elemente koji čine ciklus razvoja softvera, automatizaciju, testiranje i drugo.

Terminologija koja ne odgovara realnom stanju stvari

Sve to doprinosi tome da je ovaj termin poprilično zarđao, sa čime se slaže i Miloš Đekić, suosnivač i CTO u kompaniji ClickGUARD Software. „Većina domaćih kompanija tu poziciju vezuje isključivo za razvoj web sajtova – smatra da je to neko ko može da iseče sliku web sajta u module, uveže ih i obogati kroz CSS, prilagodi za različite veličine uređaja a potom i isprogramira sve ostale funkcionalnosti na željenoj platformi“, kaže Đekić i dodaje:

Na prostoru Balkana, gde je outsourcing i dalje poslovni model broj jedan u sferi IT-ja, gde je tehnologija najčešće u službi razvoja web aplikacija i web sajtova, rekao bih da je moguće da neko zadovoljavajuće barata tehnologijom i alatima sa “obe strane”, sa relativnim odsustvom dubinskog poznavanja tehnologija.

Pa ipak, osobe sa ovom titulom se i dalje traže – čak i juniori. Milan Popović, Lead PHP Developer u kompaniji Navus Consulting GmbH, kaže da su česte situacije da će početnike primiti firme u kojima je potreban neko ko zna sve (a da je u platnom razredu juniora) pod parolom “ma snaći će se već on ili ona”:

To je ono što se obično smatra junior Full-Stack-om. Takva je situacija bila nekad – ne znam da li se i koliko promenila poslednjih godina, a iskreno se nadam da jeste.

Takva pozicija u teoriji ne postoji, ali u praksi očigledno da. Nekog ko je na početku karijere potrebno je postupno uvoditi u tehnologiju, ne očekivati od njega da baš od svega zna po malo. Nažalost, situacija je takva da firme u kojima bi takvo znanje mogao da stekne retko kad primaju juniore.

Šta ovaj ‘jednorog’ mora da zna da radi?

Za Facebook kažu da je pionir po pitanju zapošljavanja samo onih inženjera koji imaju Full-Stack pedigre, podseća Poša. To je, dodaje on, imalo smisla u prvim verzijama te društvene mreže kada je Facebook pokretao jednostavan PHP Back End, a UI je za današnje standarde izgledao dosta primitivno. Međutim, situacija na nivou industrije danas je potpuno drugačija:

Pravi Full-Stack developer poseduje napredno poznavanje svih slojeva steka i sposoban je da radi na oba kraja aplikacije (Front End i Back End). To podrazumeva napredno poznavanje barem jednog Back End programskog jezika, na primer PHP, Java, Python, kao i čitavog ekosistema specifičnog za taj jezik, što uključuje mnoštvo framework-ova i alata.

Za pregled svega što je neophodno za moderan Front End razvoj bi mi bilo potrebno mnogo više vremena, ali ukratko: NodeJS i NPM, framework-ovi kao što su ReactJS, Angular, VueJS, build i task runner alati kao što su Grunt i Gulp. Pisanje automatizovanih testova (unit, integracioni, funkcionalni, performance, mutation, itd.) kako na back-end tako i na front-end strani se ne dovodi u pitanje.

Full-Stack programer je izuzetan poznavalac Unix sistema, odlično se snalazi u terminalu, ume da uspostavi dobro i izolovano radno okruženje, kao i Continuous Integration pipeline. Poželjno je da ima iskustva sa cloud platformama, pritom vodeći računa o bezbednosti i skalabilnosti. Rad sa VCS sistemima kao što je Git je deo svakodnevnih aktivnosti.

Ovo, dodaje naš sagovornik, možda nije konačan spisak, ali je sasvim dovoljno da se stekne utisak o masi stvari koja se krije iza ove magične fraze. Ona dakle, naglašava Poša, podrazumeva mnogo više od Front End i Back End spoja – tu su i razumevanje i upućenost u sve elemente steka i ciklusa razvoja softvera, što uključuje DevOps kulturu, automatizaciju, testiranje.

Kada bismo insistirali na tituli Full-Stack van konteksta, naglašava Đekić, pričali bismo o inženjeru koji je ravan polu-božanstvu pošto je ekspert za sve ove stvari.

Zato bi, saglasni su Netokracijini sagovornici, trebalo razmisliti o potpunom zanemarivanju ove mitske pozicije.

Istraživanje je pokazalo i da je prosečna godina iskustva Full-Stack programera 6,3. insights.stackoverflow.com

Koliko para toliko muzike

Prateći Facebook grupe za profesionalce sa ovih prostora, bilo za marketingaše ili za IT-jevce, često se mogu videti oglasi koji u jednoj osobi sublimiraju nekoliko pozicija i od kandidata očekuju više od površnog znanja, a plata obično ne odgovara tipu zaposlenog kog traže.

Takve oglase ne raspisuju samo startapi u kojima svi rade sve, već i etablirane kompanije ponekad traže generalistu umesto specijaliste – osobu koja bi obavljala poslove koje u nekoj drugoj kompaniji rade dva ili više inženjera. Poša dodaje:

Manji troškovi su svakako glavni motiv jer se može reći da razvoj tehnologije ide na ruku programera, a na štetu kompanija, u smislu da Back End, a pogotovo sve napredniji Front End, postaju stekovi za sebe.

Shodno tome, specijalci imaju znatno veće prohteve po pitanju cene usluga, sume u rangu sa onima koje su do pre samo nekoliko godina zahtevale njihove Full-Stack kolege, kojih s druge strane ima sve manje i koji sasvim racionalno odlučuju da se specijalizuju u određenom pravcu. Mogućnosti koje pravi Full-Stack developeri imaju za zaposlenje su ogromne. Ipak, šanse za pronalazak pravog i kvalitetnog developera tog tipa su izuzetno male.

Đekić podseća da se kod nas većinom radi outsourcing, te da jedan inženjer u dev agenciji uglavnom sedi na više stolica – tehnologije i projekti se jako brzo smenjuju. „U ovakvom okruženju, gde mnogi rade čak i ono što ne vole (ali su za to solidno plaćeni), kompanije daju sebi opravdanje da traže ljude koji su generalisti odnosno dovoljno tehnološki svestrani da mogu biti članovi više timova i dati doprinos većem broju suštinski različitih projekata“, dodaje on.

Zajednica neka presudi – da li ukidamo Full-Stack ili ne?

Poša izvodi zaključak da je, na kraju dana, pojam Full-Stack developera subjektivan -zavisi od načina na koji ga interpretira neka kompanija. Verovatno postoje programeri koji opravdano nose tu titulu zato što je opis posla u kompaniji u kojoj rade prilagođen tehnološkim izborima kompanije:

U takvoj situaciji, šanse da veštine ove vrste programera iz jedne kompanije ispunjavaju uslove neke druge kompanije su minimalne, čak i u slučaju da je u pitanju isti ili dosta sličan tehnološki stek, što opet dovodi u pitanje osnovanost tog zvanja.

Popović dodaje da bi osobe koje iz ove oblasti imaju dosta znanja, a žele da se približe magičnoj Full-Stack tituli, morale da provedu mnogo vremena učeći i radeći na svojim veštinama. Međutim, čak i oni srodne tehnologije poznaju, ali ih ne rade, barem ne profesionalno. “Svaka čast onome ko može, ali na bazi mog i iskustva kolega koje poznajem – to je izuzetno teško”, privodi razgovor kraju Milan.

Zato bi termin Full-Stack trebalo ukinuti, zaključuje Đekić, a reč programer zameniti sa inženjer, jer je razvoj softvera odavno nadišao termin progamiranje. Jedna od stvari koja može da se programira, zaključuje on, jeste veš mašina -ona old-school bele table koje držimo kod kuće, a programeri se time odavno više ne bave.

Šta vi mislite – da li je vreme da se ukine Full-Stack kao pozicija koju kompanije traže? Želimo da čujemo vaše mišljenje, pišite nam u komentarima.

Želiš da podeliš svoje mišljenje o ovoj temi? Komentari su otvoreni na našoj Facebook i LinkedIn stranici!

Popularno

Kultura 2.0

Da li ćemo zbog anglicizama u IT industriji zaboraviti maternji jezik? Razgovarali smo sa profesorkom engleskog jezika

Bojana Stanojević, profesorka engleskog jezika i književnosti u intervjuu za Netokraciju govori o upotrebi anglicizama u savremenom poslovanju, o tome koje su reči i izrazi neprevodivi, a za koje postoje adekvatni prevodi na srpski jezik.

Novost

Prevara, laži i romansa na radnom mestu: Šta znamo o SBF i propasti FTX-a?

Kripto kriza se neumoljivo nastavlja, a mi vam donosimo najnovije vesti o FTX kolapsu i potencijalnim posledicama koje on može ostaviti na svetsku ekonomiju.

Analiza

Da li je krah FTX-a ‘smrtni udarac’ za kripto ekosistem?

Dok se Web2 bavi akvizicijom Twittera, sa druge stranice svedoci smo jedne od najvećih kriza koje su pogodile Web3. U velikoj analizi otkrivamo kako će se propast druge najveće kripto menjačnice odraziti na čitavu industriju.

Propustili ste

Tehnologija

Srbija postala članica Globalnog partnerstva za veštačku inteligenciju

Na sastanku Ministarskog saveta Globalnog partnerstva za veštačku inteligenciju u Tokiju, Srbija je konsenzusom 26 država izabrana za članicu ove organizacije.

Startapi i poslovanje

Investiciona prognoza: Evropski fond menadžeri predviđaju ‘zahlađenje’ u VC industriji

Venture kapitalisti (VC) obično su optimisti po prirodi. Veruju u preduzetnike, veruju da postoje rešenja koja menjaju svet i žele da - u šansama gde 10% portfolio kompanija uspeva - ostvare određen uspeh.

Startapi i poslovanje

TS Ventures investirao u domaće startape Anari AI, Bitebell i Brush Galaxy

TS Ventures Fond je nakon temeljnog procesa i detaljne analize idejnih rešenja, novu rundu sredstava dodelio za čak tri nova startapa i time nastavio da pomaže razvoj startap industrije u našoj zemlji.

Tehnologija

Unapredite svoje DevTools veštine na ‘masterclass’ radionici svetski poznatog developera

Sajt HelloWorld.rs 9. decembra u 17h organizuje veliku 'masterclass' radionicu u Naučno-tehnološkom parku u Beogradu, gde će govoriti jedan od najboljih svetskih front-end developera Heri Roberts.

Startapi i poslovanje

Raising Stars: Do 20.000 švajcarskih franaka bespovratno za startape u ranim fazama razvoja

NTP Beograd raspisao je uz podršku Vlade Švajcarske i u partnerstvu sa NTP Niš i NTP Čačak treći poziv za Raising Starts, prvi pre-seed akceleratorski program u Srbiji koji startap timovima obezbeđuje stručnu i finansijsku podršku za ubrzan razvoj.

Internet marketing

GOstudy — platforma koja uvodi ljude u svet digitalnog marketinga

Za ostvarivanje poslovnog uspeha na internetu ne treba da posedujete formalno obrazovanje, ali je važno da ste željni znanja i naoružani disciplinom, savetuje Vladimir Mladenov, osnivač GOstudy platforme. U okviru 20 emisija na nacionalnom servisu gledaoci će imati priliku se upoznaju s radom platforme.