blade Uzmi u obzir da ja nemam puno radnog iskustva, zadnje sam dvije i pol godine proveo u struci tako da sam još dosta svjež, no smatram da mi je puno značilo raditi takoreći puno radno vrijeme paralelno sa studijem. Dobije se određena perspektiva uspoređujući profesore i asistente koji rade isključivo u akademskom krugu i one koji ujedno rade u samoj struci. Baš sam zbog te podjele često i dobivao suprotstavljene stavove koji navedu na obraćanje pažnje na neke sitnice koje se događaju.
Međutim, iz razgovora s ljudima koji su puno dulje u struci, dobio sam gotovo uvijek istu informaciju. Da nekoliko generacija završi u isto vrijeme fakultet, u Hrvatskoj bi IT i dalje bila deficitarna branša. Jednostavno nedostaje ljudi za sve potrebe, no ono bitnije, nedostaje kvalitetnih ljudi. Tečajevi su odlična stvar za uvod, malo umočiti prst u vodu i krenuti se javljati na razne škole, prakse i potencijalno otvorene pozicije, no fakultetsko znanje je i dalje fakultetsko znanje. Višegodišnje školovanje koje njeguje određeni pristup razmišljanju i rješavanju problema koje ne garantira, ali povećava šanse za budućim kvalitetnim kadrom.
Rekao da imaš krivu predodžbu oko automatizacije. Krenuo bih od toga da je inženjerima i developerima cilj automatizirati određene procese i olakšati ih klijentima, tako da do automatizacije prvenstveno dolazi kod samih klijenata. S druge strane, automatizacija u razvoju olakšava razvoj proizvoda, no ne smanjuje potrebnu razinu znanja i stručnosti da bi se kvalitetno primijenila. Ta automatizacija većinom dovodi do smanjenja trajanja razvoja, no kako bi se alati uspješno primijenili, treba jako dobro razumijeti koncepte iza istih. Pjesnički rečeno, alat ne čini majstora.
Primjerice, uzmi proces razvoja neke složenije aplikacije za, recimo, fintech sektor. Takve su aplikacije najčešće sastavljene od toliko različitih alata da zadovolje kompleksne zahtjeve klijenata da se nemože stvar svesti na to da se samo pikne što je najlakše za implementirati, već je potrebno znanje i iskustvo kako bi se razumjelo zašto odabrati Oracleovu bazu podataka umjesto PostgreSQL-a ili neke NoSQL baze podataka.
Međutim, IT je dosta opširan pojam s toliko različitih uloga koje se u jednu ruku mogu više automatizirati, a u drugu jednostavno ne mogu. Isto tako, te uloge jednostavno evoluiraju u nešto više. Kao konkretan primjer, uzmi mrežne administratore te odgovarajuće Ciscove CCNA i CCNP certifikate. Do prije nekoliko godina, spomenuti su certifikati zahtijevali baratanje Ciscovim alatima, postavljanjem mreža, razumijevanje IP adresiranja i sl. Međutim, razvoj mrežnog programiranja doveo je do toga da se od mrežnih administratora traži još veće znanje pa je tako CCNP uveo i znanje programskog jezika Python kao uvjet za uspješno polaganje.
Rekao bih da je dobar primjer i Frontend razvoj. Za one koji nisu upoznati s terminologijom, aplikacije imaju svoj Backend (tamo gdje je definirana i implementirana logika aplikacije) i svoj Frontend (ono što vidimo na ekranu i što pokazuje rezultat implementirane logike Backenda). Krajem 90-ih i početkom ovoga stoljeća, Frontend developerom se smatrala osoba koja uspješno barata HTML-om, CSS-om i JavaScriptom. S vremenom su se razvili okviri za programiranje (React, Angular, Vue) koji su svoj temelj imali na JavaScriptu. Oni su automatizirali jako puno ručnog posla koji se radio čistim JavaScriptom, no ujedno su pomaknuli granice i omogućili izradu drukčijih, modernijih aplikacija. U tom je trenutku Frontend developer, do tada ujedno i web dizajner, morao puno bolje baratati složenijim programerskim paradigmama, a danas smo došli do te razine da je Frontend razvoj puno, puno kompleksniji od svojih početaka. Stoga je tradicionalna uloga Frontend developera evoluirala u istoimenog developera koji je stručan u okvirima za suradnju s Backendom te u UX/UI developere i dizajnere koji se bave samim dizajnom i analizom ciljane publike (do te mjere da se od nedavno za iste nudi zaseban smjer na zagrebačkom RIT-u).
Nisam se ni dotaknuo različitih uloga poput Product Managera ili Product Ownera koje su nerijetko popunjene ljudima iz IT branše. Ili pak DevOps koji moraju imati posve drukčiji set znanja od čistog developera.
Sada sam se raspisao o nekim konkretnim primjerima i možda sam ušao u malo previše detalja, no čisto sam htio napraviti kratak pregled vlastitog pogleda na development prije nego što ti direktno odgovorim na pitanja.
Ukratko, mislim da se bilo tko u IT-u nema što brinuti dokle god je onakav stručnjak kakav treba biti pravi IT-evac, uvijek svjestan toga da svaki dan mora učiti u industriji koja se razvija brže nego što ju se može pohvatati. Određene će uloge izumrijeti, no njih će zamijeniti posve nove. Blockchain i kriptovalute dovele su do posve novog usmjerenja za IT-evce, i dok ne planiram prognozirati dugoročnost tih uloga, savršen su primjer toga da smo još u zamahu i da će novih uloga biti svako malo. Neke će ostati, neke će nestati, no nikada ih neće nedostajati.
Teško mi je procijeniti koliko će dugo ovaj rast biti prisutan, jednostavno nemam dovoljno iskustva da bih sa sigurnošću nešto prognozirao, no ako idem ciljati čisto rasprave radi, rekao bih da pada neće biti u bližoj budućnosti. Štoviše, vidim sve veći i veći rast u svijetu koji sve više ovisi o elektronici i automatizaciji.
EDIT: Odgovarao sam prije nego što si nadodao ovo što si nadodao. Nemoj podcijeniti višegodišnje iskustvo u svijetu koji se velikom većinom vrti na legacy kodu. 🙂