← Blog

Programeri više nisu potrebni

15. okt. 2026. · Programiranje · 12 min čitanja

Naslov zvuči strašno, ali je tačniji nego što se to zapravo čini na prvu. Svakako da ću to razbiti na sitne detalje, jer ovakva izjava često nalazi i na odobravanja i na osudu. Ipak, jasna je distinkcija između onoga šta naslov na prvu govori i šta je njegovo dublje značenje, a vjerujem da ćete se do kraja ovog teksta sa njim i složiti.

Prije nego nastavim, moje ime je Edin i u IT industriji sam nekih osam godina, od čega oko šest puno radno vrijeme. Čitavo iskustvo vezao sam za jednu kompaniju. Možda sam imao sreće da sam našao mjesto gdje mi je bilo lijepo od prvog dana, a možda jednostavno nikada nisam imao hrabrosti izaći iz zone komfora. Volim vjerovati da je ovo prvo. To mjesto me je u velikoj mjeri napravilo onim što sam danas profesionalno. Ovaj blog nema neku veliku misiju. Želim pisati, slagati vlastite misli i ponekad ih pustiti među raju da vidim šta će od njih ostati. I obećao sam sebi jednu stvar, a to je da tekstove neće pisati AI umjesto mene. Bit će moji, moje misli, gramatički ispravne ili ne, sirove i vjerovatno ponekad pogrešne.

Programer je čovjek sa lopatom

Rijetko kada sam za sebe govorio da sam programer. Možda uglavnom onda kada mi se nije dalo objašnjavati koja je zapravo moja uloga i šta tačno radim, pa je bilo lakše pobjeći tom nazivu. Nekada ni ja nisam siguran koja mi je tačno uloga, ali otkako radim ovaj posao shvatio sam koliko volim stvarati, graditi, rješavati probleme i, naravno, gledati kako ljudi ono što sam napravio koriste potpuno drugačije od onoga što sam zamislio.

Ne mislim da je programer loša ili pogrešna definicija. Samo sam ga uvijek zamišljao kao čovjeka sa lopatom. Nekada sam to sigurno bio. Ustvari, svi smo vjerovatno bili na početku. Dobiješ jasno definisan problem, naučiš dovoljno sintakse i alata da ga pretvoriš u kod i onda to ponavljaš dok kroz greške, iskustvo i sve veće probleme ne počneš razumijevati nešto više od same implementacije.

Posljednjih godina tržištu je trebalo mnogo takvih ljudi. Otvaralo se mnogo pozicija, firme su nudile velike plate i benefite, a ljudi iz potpuno drugih profesija počeli su učiti programiranje jer je IT izgledao kao jedna od najboljih prilika na tržištu. I baš zbog toga mi metafora čovjeka sa lopatom ima smisla. Čovjek sa lopatom je potreban. Može uraditi posao. Nekada je upravo on jedini način da se posao uradi. Ali onda neko napravi bager.

Bager ne zna gdje treba kopati, koliko duboko, šta prolazi ispod zemlje niti šta će se desiti ako pogriješiš mjesto. Samo omogućava da ono što smo prije radili satima sada uradimo za nekoliko minuta. I problem nije što je lopata odjednom beskorisna. Problem nastaje ako je jedina stvar koju znamo mahati lopatom.

COVID-19 je promijenio svijet kakav smo poznavali

Prije korone mnogo više poslovnih procesa je bilo vezano za fizičko prisustvo. Sastanci, dokumentacija, prodaja, podrška, administracija i ko zna koliko drugih stvari podrazumijevale su da ljudi jednostavno budu na istom mjestu. Onda je u kratkom periodu postalo jasno da to više nije moguće.

COVID nije stvorio digitalizaciju, ali ju je brutalno ubrzao. Procesi koji su se godinama mogli odgađati odjednom su morali dobiti digitalnu alternativu. Remote rad, online sastanci, cloud servisi, digitalna prodaja i razni interni sistemi više nisu bili "nice to have" nego uslov da posao uopšte može opstati i rasti. Danas nam je to još očiglednije. Dovoljno je da jedan modem odluči da prestane raditi na par minuta i da shvatimo koliko smo zapravo ovisni o tom "online režimu rada". A vjerovatno smo tek zagrebali površinu.

Ogroman broj svakodnevnih i poslovnih procesa još uvijek nije ozbiljno digitalizovan. Međutim, period oko COVID-a dodatno je ubrzao potražnju za softwareom, a samim tim i ljudima koji ga mogu napraviti. Tu je IT tržište dobilo još više goriva.

Implementacija je usko grlo

Godinama je implementacija bila jedno od najvećih uskih grla u razvoju softwarea. Jedan programer ima deset prstiju, jednu tastaturu i ograničen broj sati dnevno. Bez obzira koliko je dobar, postoji granica koliko linija koda danas može isporučiti. Najjednostavnije rješenje bilo je zaposliti još ljudi. Ako deset programera može napraviti više od jednog featurea, onda stotinu može napraviti još više. Industrija je rasla, potražnja za softwareom rasla je još brže, a nije bilo dovoljno ljudi koji ga znaju napraviti.

Rezultat toga bile su velike plate, još veća potražnja, razni benefiti, banane u kancelariji i aparati za kafu sa cijenom novog BMW serije 5. IT kompanije postale su jedan od najpoželjnijih poslodavaca, a znati napisati software postalo je izuzetno vrijedna vještina. I to ne zato što je svaka linija koda bila posebno komplikovana, nego zato što je neko morao sjesti i napisati je.

I što je više softwarea trebalo napraviti, trebalo je više ljudi koji će ga pisati. To je dugo bilo usko grlo.

Godinama hranimo pogrešnu definiciju

Dobar dio ove industrije se godinama svodio baš na tu jednu jedinu stvar opisanu iznad. Treba nam još ljudi da isporučimo više featurea, ekrana, dashboarda, integracija i mikroservisa jer onih sedamdeset i šest nam nije dovoljno. Tržište je takav rad sasvim dobro nagrađivalo. Ako znaš neki framework, jezik, SQL taman dovoljno da nešto spojiš i možeš dovoljno brzo zatvoriti neki tiket, bio si koristan. I treba biti pošten, često je to bilo sasvim dovoljno.

Problem nastaje kada sposobnost implementacije počnemo poistovjećivati sa software inženjernigom. Meni ovdje nije posebno bitno kako nekome glasi pozicija, da li je to programer, developer, software engineer, ninja, wizard ili šta god već ste smislili ili mislite da ste. Bitno mi je koji nivo problema osoba može preuzeti. Ako dobiješ preciznu specifikaciju i tvoj posao je da je pretvoriš u kod, ja to ovdje nazivam programerom.

Ako dobiješ problem, moraš otkriti šta ga uzrokuje, razumjeti sistem oko njega, pronaći ograničenja, procijeniti trade-off, dizajnirati rješenje i preuzeti odgovornost za ono što će se desiti kada ode u produkciju, to je već inženjering. Oboje zahtjeva znanje, ali nije isto znati napisati kod i znati napraviti, promijeniti i razumjeti sistem.

AI je pogodio baš tamo gdje smo bili najskuplji

Dok je implementacija bila usko grlo, čovjek je bio skup dio tog procesa.

Danas dobar AI agent može posao koji bi nekada trajao satima završiti za nekoliko minuta, a nešto što bi trajalo danima svesti na nekoliko sati. Ne uvijek, ne savršeno i definitivno ne bez nadzora, ali ipak dovoljno često. I tu nastaje panika iz koje proizlazi poznata rečenica:

AI će uzeti posao developerima

Međutim, mislim da je preciznija verzija:

AI će uzeti vrijednost poslu koji se svodi na pretvaranje jasno definisane specifikacije u sintaksu

Malo duža rečenica, ali govori mnogo više. Pitanje više nije samo ko može napisati kod. Važnija pitanja dolaze prije nego što se prva linija koda uopšte napiše. Šta zapravo pokušavamo riješiti? Koja ograničenja imamo? Kakav trade-off prihvatamo? Kako će ovo uticati na ostatak sistema? Šta se događa kada promet poraste deset puta? Šta se događa kada jedna komponenta padne? Kako ćemo znati da nešto ne radi?

AI danas može napisati skriptu, implementirati feature, analizirati query, napraviti testove i pomoći u gotovo svakom koraku implementacije. Ali prije nego što implementacija počne, neko mora razumijeti koji koraci uopšte postoje. I tu ne mislim da smo pronašli neku magičnu zaštitu od AI-a. Činjenica da čovjek i dalje mora donositi odluke i nositi odgovornost ne znači da će biti potreban isti broj ljudi kao danas.

Tim od deset developera sutra možda neće postati tim bez developera. Možda će postati tim od tri jaka inženjera koji uz pomoć AI mogu napraviti ono za šta je ranije trebalo deset ljudi. To je mnogo realniji rizik i upravo zato se mijenja ono što tržište cijeni.

Ako je naša najveća vrijednost bila brzina kojom specifikaciju pretvaramo u kod, takav rad postaje sve jeftiniji. Ako razumijemo sistem, možemo procijeniti posljedice odluka i znamo usmjeriti alat koji sada ima deset puta veću lopatu, onda se naša vrijednost ne smanjuje na isti način.

Bager nije ukinuo potrebu za ljudima, ali je dramatično smanjio broj ljudi potrebnih da se iskopa ista rupa.

AI može pisati loš kod mnogo brže nego mi

Da.

Ne mogu dovoljno naglasiti koliko mi je trebalo vremena da napišem jedan AGENTS.md koji će pomoći toj inteligenciji da ne napiše trideset i pet hiljada linija koda samo da provjeri da li je string broj. Međutim, ljudi pišu loš kod decenijama i industrija je nekako sve to preživjela.

Problem nije samo u tome što AI može napisati loš kod. Problem je što nam omogućava da loš kod proizvodimo brže nego ikada prije.

Dobro usmjeren AI ima ogromnu prednost u svakodnevnom radu. Može istražiti codebase, napraviti izmjene kroz više fajlova, napisati testove, refaktorisati postojeći kod i za nekoliko minuta uraditi posao za koji bi čovjeku možda trebali sati. Ipak, tu se krije i opasnost.

Ako u tom procesu nema osobe koja razumije sistem, nismo dobili deset puta produktivnijeg inženjera. Dobili smo vrlo efikasan generator tehničkog duga. U inženjeringu je uvijek bilo važno pravilno definisati problem. Jasno postavljen problem je često pola rješenja. Sa AI-em to postaje još važnije.

Ne samo zato što moramo znati postaviti dobro pitanje, nego zato što prije svega moramo znati koje pitanje uopšte treba postaviti. AI već danas može imati odgovor skoro na svako pitanje koje postavimo. Međutim, ako mi ne znamo postaviti prava pitanja, onda nam odgovori na ista ne znače mnogo.

Kako stvoriti buduće "seniore"

Posao se mijenja.

Fokus se prebacuje sa jednog dijela razvoja na drugi, neke pozicije nestaju, neke se redefinišu, a posao koji je prije zahtijevao deset ljudi danas možda može uraditi pet. Najveći problem u toj promjeni vjerovatno neće imati seniori, nego juniori. Kako se uopšte postaje senior?

Ne tako što pročitaš dovoljno knjiga, završiš dovoljno kurseva ili ti samo neko prebaci tu titulu. Postaješ senior tako što godinama radiš stvari koje ne znaš raditi. Praviš greške, pokvariš nešto, popraviš nešto. Postaviš loše pitanje, doneseš lošu odluku, a onda vidiš i posljedice. I sljedeći put to uradiš bolje.

Trenutno vodim IT sektor u jednoj manjoj kompaniji. Imam dosta prostora da donosim tehničke odluke, definišem prioritete, istražujem tehnologije i usmjeravam tim. I uprkos tome, često se pitam gdje sam zapravo na toj skali junior-medior-senior. Ne zato što mislim da ne znam, nego zato što više učiš, jasnije vidiš koliko toga još ne znaš. Ali baš sistem u kojem sam radio mi je bio i najveći prijatelj i učitelj.

Sistem je bio dovoljno velik da problemi budu stvarni, ali dovoljno tolerantan da mi dozvoli da griješim. Pravio sam stvari koje nisu radile, rješavao probleme koje sam sam i napravio. Donosio odluke koje bih danas donio drugačije, a nekad su se tim mojim greškama smijali i klijenti i kolege. I dobro je da jesu, hvala im na tome.

Jer ako radiš u sistemu koji ti dozvoljava da pitaš, griješiš, rušiš, popravljaš, istražuješ i ponovo pokušavaš, onda imaš prostora da stvarno naučiš. Takav prostor pokušavam napraviti i svom timu. Ali problem je što je danas taj prostor sve manji. AI upravo preuzima veliki dio poslova kroz koje su juniori oduvijek učili i rasli. Sve ono kroz što si nekad polako gradio razumijevanje sistema sada agent može napraviti za nekoliko minuta.

Škole, fakulteti i sav obrazovni sistem će se sigurno morati mijenjati, ali poznavajući brzinu javnog sektora u takvim promjenama, sigurno da će mnogo generacija "patiti" prije nego dođemo do toga da juniori izlaze sa puno više znanja nego što je to danas.

I tu nastaje vrlo neugodno pitanje. Ako automatizujemo posao juniora, kako ćemo napraviti buduće seniore? Odgovor na ovo pitanje iskreno ne znam.

Možda ćemo konačno vratiti riječ "inženjer"

Elektroinženjer ne vrijedi zato što zna crtati linije u CAD-u. Mašinski inženjer ne vrijedi zato što zna raditi u SolidWorksu. Isto tako, software engineer ne bi trebao vrijediti samo zato što zna napisati C#, JavaScript ili Python. Alati su uvijek bili samo alati.

Naravno, i u drugim inženjerskim disciplinama postoje poslovi koji se svode na rutinu, konfiguraciju i ponavljanje već poznatih obrazaca. Nije svaki elektroinženjer cijeli dan za stolom i projektuje elektroenergetski sistem od nule. Ali ono što inženjering razlikuje od same upotrebe alata jeste odgovornost za sistem koji praviš.

Treba razumjeti šta projektuješ. Koja ograničenja postoje. Koji standardi vrijede. Šta će se desiti kada sistem dođe pod opterećenje. Šta se dešava kada jedna komponenta otkaže. Kako se greška širi. Koliko greška košta. I možda je najvažnije šta si spreman potpisati svojim imenom i za šta si spreman preuzeti odgovornost.

Software industrija je dugo mogla sebi priuštiti da dio tog razmišljanja gurne u drugi plan ili u radne obaveze drugih pozicija. Tržište je bilo dovoljno gladno da nagradi ljude čiji je glavni posao bio samo proizvesti još koda. AI nam sada oduzima taj luksuz.

Ako agent može napisati implementaciju za nekoliko minuta, onda čovjek sve manje vrijedi zbog toga što zna kako napisati još jedan endpoint. Vrijedi zbog toga što zna da li taj endpoint treba postojati. Kako će se ponašati pod loadom. Kako se uklapa u ostatak sistema. Šta može pokvariti. Kako ćemo znati da je pokvaren. I šta ćemo uraditi kada se to desi u dva ujutro.

Ne mislim da ćemo u budućnosti sjediti i gledati kako AI radi sve. Mislim da software inženjeri više neće toliko brinuti o samoj implementaciji koliko o svemu oko implementacije. Biće manje važno da li se neko predstavlja kao backend, frontend, Android ili full-stack developer, a sve važnije može li reći "ja sam odgovoran da ovaj sistem radi." Tu se riječ „inženjer“ ponovo počinje ozbiljno razlikovati od naziva tehnologije koju trenutno koristimo.

Programeri više nisu potrebni

Naravno da je naslov clickbait.

Kod neće nestati. Naprotiv, vjerovatno ćemo ga proizvoditi više nego ikada prije. Neće nestati ni programiranje, niti će ljudi uskoro prestati čitati, mijenjati i pisati kod. Ipak, da nestaje period u kojem je sama sposobnost pisanja production koda bila dovoljna da te tržište smatra vrijednim.

AI je ovdje odvojio dvije stvari koje smo predugo smatrali istom, pisanje softwarea i inženjering softwarea. Prvo postaje sve jeftinije. Drugo zbog toga postaje sve važnije. Ako smo cijelu karijeru gradili samo oko toga koliko dobro i koliko brzo možemo pretvoriti zahtjev u kod, onda možda naslov ovog teksta ipak nije toliko clickbait koliko bismo željeli da bude.

Programeri više nisu potrebni. Inženjeri jesu, više nego ikada prije.