AI paradoks - Zašto su iskusni programeri sporiji od juniora?
Dok AI alati poput Copilota ubrzavaju juniore za 30-40%, senior developeri bilježe pad produktivnosti. Koji su to psihološki i tehnički razlozi ovog fenomena i što to znači za budućnost developmenta?
Prema analizi objavljenoj na portalu DZone, podaci iz više organizacija potvrđuju trend među developerima, prema kojem juniori korištenjem AI asistenata bilježe rast produktivnosti od 30 do 40 posto, dok seniori često doživljavaju pad od 10 do 15 posto.
Kažu kako su nedavno promatrali iskusnog voditelja tima dok se četrdeset pet minuta borio s prijedlozima koje je nudio GitHub Copilot za jedan jedini dio koda (API endpoint). Isti taj zadatak, bez pomoći umjetne inteligencije, završio bi za petnaestak minuta. Ovo nije bio izoliran slučaj. Uočljiv je obrazac koji se ponavljao: iskusni developeri postaju sporiji koristeći AI asistente, dok su juniori zadržavali ili čak povećavali svoj tempo.
Ovaj neočekivani fenomen otkriva važnu istinu o stručnosti, povjerenju i budućnosti razvoja softvera.
Kada provjera košta više od stvaranja
Problem nije tehničke, već psihološke prirode. Senior developeri godinama grade mentalne modele o funkcioniranju sustava, skupljajući teško stečeno znanje o rubnim slučajevima, performansama i arhitektonskim kompromisima. Kada AI asistent predloži kod, oni ga ne mogu slijepo prihvatiti. Njihova stručnost ih tjera da provjere svaku liniju.
Junior developer gleda AI generirani kod i pita se:
- "Radi li ovo?"
Senior developer gleda isti kod i postavlja niz dodatnih pitanja:
- "Radi li ovo?"
- "Je li optimalno?"
- "Postoje li rubni slučajevi koje nismo pokrili?"
- "Kakve su sigurnosne implikacije?"
- "Kako će se ovo skalirati?"
- "Koliki je memorijski otisak (memory footprint)?"
- "Uvodimo li novi tehnički dug?"
Studija provedena na 250 developera pokazala je da seniori troše u prosjeku 4,3 minute na pregled svakog AI prijedloga, u usporedbi s 1,2 minute kod juniora. Kada dnevno pregledavate desetke prijedloga, to se pretvara u sate dodatnog posla.
Problem prepoznavanja uzoraka
Seniori su kroz godine rješavanja problema u softveru koji je već u upotrebi izoštrili sposobnost prepoznavanja uzoraka. Iz prve ruke su vidjeli posljedice koda koji se naizgled činio bezopasnim.
Kada Copilot predloži jednostavnu map operaciju (obradu podataka) na velikom skupu podataka, junior vidi elegantan funkcionalni kod. Senior vidi potencijalni skok u potrošnji memorije tijekom vršnog opterećenja, jer je vjerojatno već bio dežuran u 3 ujutro zbog upravo takvog problema. AI ne zna za onaj put kada se vaš servis srušio jer je netko mapirao polje s milijun elemenata. Ali vi znate.
Arhitektonsko razmišljanje i ograničen kontekst
Drugi ključni faktor je način na koji seniori razmišljaju o kodu. Oni se ne fokusiraju samo na trenutni problem, već uzimaju u obzir širi dizajn sustava, održivost i buduću proširivost.
AI asistenti su izvrsni u lokalnoj optimizaciji – rješavanju specifičnog problema koji je pred njima. Međutim, teško razumiju arhitektonske implikacije svojih prijedloga. Senior developer gleda AI generirani kod i postavlja pitanja na koja AI ne može odgovoriti:
- "Kako se ovo uklapa u našu service mesh arhitekturu (složenu mrežu internih servisa)?"
- "Prati li ovo standarde kodiranja našeg tima?"
- "Hoće li idući developer razumjeti namjeru ovog koda?"
Lokalne optimizacije u složenim sustavima mogu stvoriti globalne probleme. Funkcija koja je savršena u izolaciji može uvesti suptilne ovisnosti koje će uzrokovati probleme mjesecima kasnije.
Ironija automatizacije
Zadaci u kojima AI najviše pomaže su upravo oni koje su seniori u svojim mislima već automatizirali. Nakon godina iskustva, rutinsko kodiranje postaje "mišićna memorija". Dok junior pažljivo piše osnovni dio koda za upravljanje podacima korak po korak, senior ga ispisuje brzinom tipkanja.
AI ubrzava juniore, ali ne utječe značajno na seniore kod rutinskih zadataka jer su oni već radili blizu optimalne brzine. Istovremeno, u područjima gdje bi im pomoć zaista trebala – rješavanje novih problema i donošenje složenih arhitektonskih odluka – današnji AI alati su najslabiji.
Što ovo znači za timove i budućnost?
Ovaj paradoks nas uči da je stručnost puno više od brzine. Vrijednost seniora nije u broju napisanih linija koda, već u prosuđivanju, predviđanju posljedica i mudrosti o tome što ne treba graditi.
Nova vještina je kalibracija povjerenja. Najuspješniji developeri neće biti oni koji slijepo prihvaćaju ili odbijaju AI prijedloge, već oni koji razviju osjećaj kada vjerovati alatu, a kada dublje istražiti. Oni uče tretirati AI prijedloge s istom dozom skepticizma kao i kod junior kolega – dovoljno pažnje da se uhvate problemi, ali ne toliko da postane kontraproduktivno.
Promjena u praksi code reviewa. Timovi moraju prilagoditi svoje procese. Pitanje više nije samo "je li kod ispravan?", već i "je li generiran od strane AI-ja i je li ga developer adekvatno provjerio?". Neki timovi već zahtijevaju označavanje AI generiranog koda u pull requestovima (zahtjevima za pregled koda) kako bi osigurali dodatnu provjeru.
Rizik za razvoj juniora. Juniori koji uče primarno uz AI riskiraju da nikada ne razviju duboko razumijevanje koje dolazi s "ručnim" pisanjem koda. Organizacije bi trebale razmisliti o tome da juniori prvih šest do dvanaest mjeseci rade bez AI asistenata, baš kao što ne dopuštamo novim vozačima da koriste autopilot prije nego što nauče samostalno voziti.
Paradoks produktivnosti senior developera nije greška u načinu na koji oni koriste AI – to je odlika same stručnosti. Vrijeme koje ulažu u provjeru je cijena prosuđivanja, a upravo je to prosuđivanje ono što ih čini seniorima.
Vrijednost developmenta nikada nije bila u sirovoj brzini kodiranja, već u promišljenosti, dizajnu i sposobnosti predviđanja problema. Ako AI asistenti pomažu juniorima da budu produktivniji, a seniore čine promišljenijima, to možda uopće nije gubitak produktivnosti. To je pomak težišta s kreiranja na kuriranje, s tipkanja na razmišljanje. A to bi moglo biti upravo ono što IT industriji treba.