Iluzija AI programera: Zašto inženjeri nisu postali višak
Umjetna inteligencija ne zamjenjuje programere, već mijenja njihov posao iz pisanja koda u upravljanje kompleksnim sustavima.
Posljednjih godinu dana, naslovi tehnoloških portala i objave na društvenim mrežama neumorno ponavljaju istu priču: umjetna inteligencija će uskoro zamijeniti softverske inženjere. Alati poput Copilota, ChatGPT-a i specijaliziranih modela za pisanje koda postali su iznimno sposobni u generiranju funkcija, rješavanju specifičnih problema i obavljanju rutinskih zadataka. Gledajući te impresivne demonstracije, lako je zaključiti da je profesija programera osuđena na propast i da će u bliskoj budućnosti softver graditi isključivo strojevi vođeni jednostavnim uputama korisnika. Međutim, ta je slika duboko pogrešna i temelji se na nerazumijevanju onoga što softverski inženjering zapravo jest.
Prevladavajuća priča
Narativ o "kraju programiranja" obično izgleda ovako: veliki jezični modeli postali su toliko dobri u pisanju koda da će uskoro moći samostalno razvijati cijele aplikacije. Tvrtke će shvatiti da više ne moraju plaćati skupe inženjere jer mogu dobiti iste rezultate brže i jeftinije korištenjem AI alata. Menadžeri će jednostavno opisati što žele, a sustav će izbaciti gotov proizvod. Prema ovom viđenju, jedino što će preostati jest nekoliko "prompt inženjera" koji će pažljivo formulirati upute, dok će vojska tradicionalnih programera postati višak. Zagovornici ove priče često pokazuju primjere gdje AI u nekoliko sekundi rješava zadatke za koje bi čovjeku trebali sati.
Zašto je ta priča pogrešna ili nepotpuna
Problem s ovim narativom leži u poistovjećivanju "pisanja koda" sa "softverskim inženjeringom". Sintaksa i samo tipkanje linija koda zapravo čine najmanji i najlakši dio posla. Pravi izazovi u razvoju softvera su potpuno drugačiji: razumijevanje nejasnih i često kontradiktornih poslovnih zahtjeva, dizajniranje arhitekture koja se može skalirati, osiguravanje sigurnosti sustava, rješavanje rubnih slučajeva koje nitko nije predvidio i, najvažnije, održavanje kompleksnih sustava koji se stalno mijenjaju i nadograđuju.
Umjetna inteligencija je fantastična u rješavanju dobro definiranih mikro-problema (npr. "napiši funkciju koja sortira ovaj niz prema ovim pravilima"), ali softver u stvarnom svijetu sastoji se od tisuća međusobno povezanih dijelova. Kada AI generira 500 linija koda za neku funkcionalnost, netko mora razumjeti taj kod, osigurati da se on ispravno integrira s ostatkom sustava i preuzeti odgovornost ako nešto pođe po zlu na produkciji u tri ujutro. Modeli nemaju razumijevanje šireg konteksta poslovanja, nemaju intuiciju za tehnički dug i ne mogu donositi strateške odluke o kompromisima u arhitekturi.
Nadalje, svaki iskusni inženjer zna da korisnici (ili klijenti) rijetko znaju točno što žele dok to ne vide. Prevođenje ljudskih želja u precizne, nedvosmislene instrukcije je posao za koji je potrebna empatija, pregovaranje i domensko znanje – vještine koje strojevi nemaju. Umjesto da eliminiraju inženjere, AI alati zapravo eliminiraju "fizički" rad tipkanja, omogućujući inženjerima da se fokusiraju na pravu vrijednost: rješavanje problema i dizajniranje sustava.
Posljedice u stvarnom svijetu
Ako prihvatimo stvarnost u kojoj AI nije zamjena već moćan alat, posljedice za industriju su jasne. Inženjeri koji odbijaju koristiti AI alate postat će nekonkurentni, ne zato što će ih zamijeniti strojevi, već zato što će ih zamijeniti drugi inženjeri koji te alate koriste za postizanje veće produktivnosti.
Ono što se mijenja je priroda posla. Softverski inženjeri sve više postaju recenzenti i orkestratori koda, a ne samo pisci. Njihova glavna odgovornost prelazi na višu razinu apstrakcije: validaciju onoga što je AI proizveo, osiguravanje da se dijelovi uklapaju u cjelinu i održavanje standarda kvalitete. To zahtijeva još dublje razumijevanje koncepata i arhitekture.
Zanimljivo je da bi potražnja za dobrim inženjerima mogla zapravo porasti. S padom cijene i prepreka za razvoj osnovnog softvera, doživjet ćemo eksploziju novih aplikacija i sustava. Više softvera znači više kompleksnosti, više potrebe za integracijama i više tehničkih izazova koje strojevi neće moći sami riješiti. Tvrtke koje otpuste svoje inženjere vjerujući da AI može obaviti sve, vrlo brzo će se naći zatrpane tehničkim dugom i neprilagodljivim sustavima koje nitko ne razumije u potpunosti.
Završni stav
Umjetna inteligencija ne predstavlja kraj softverskog inženjeringa, već njegovu sljedeću evoluciju. Baš kao što su viši programski jezici apstrahirali asembler, a moderni frameworkovi apstrahirali osnovno upravljanje DOM-om, AI alati sada apstrahiraju rutinsko pisanje koda. Oni koji uspješno savladaju upravljanje ovim novim apstrakcijama neće postati višak; naprotiv, postat će najvredniji i najutjecajniji graditelji sutrašnjice.
Komentar objavljen na portalu Umjetna Inteligencija Blog by ShtefAI, autor: Shtef



