Am început să programez la 12 ani, scriind RAT-uri și troieni în Delphi, pentru că asta făceau copiii români în 2002. La 21 de ani eram absolvent de litere și construiam CRM-uri de la zero în PHP. Fără facultate de informatică, fără bootcamp, fără mentor. Doar o conexiune la internet de căcat, Notepad++ și o obsesie care nu mă lăsa să dorm.
Am învățat să scrapez site-uri construind site-uri de leech, clone parazitare care sugeau baze de date de pe alte site-uri și rulau pe VPS-uri de un dolar sau pe hosturi gratuite. Asta însemna să inspectez HTML manual, să scriu regexuri de îmi sângerau ochii, să mă descurc cu probleme de encoding, cu rate limiting, cu cookie-uri de sesiune. Rețelistică știam deja de când scriam troieni ca puști: porturi, socketuri, conexiuni, toate căcaturile pe care le înveți când încerci să faci un reverse shell să sune acasă printr-un firewall. Am învățat concurență pentru că scraperul meu era prea lent și a trebuit să îmi dau seama cum rulez mai multe lucruri deodată fără să corup starea partajată.
Fiecare lecție dintre astea a venit din durere. Ore de depanare. Zile în care eram blocat pe ceva care s-a dovedit a fi un punct și virgulă lipsă sau un număr greșit de port. Durerea era programa. Chinul era profesorul.
Acum un dezvoltator junior se lovește de același zid, lipește eroarea în Claude sau ChatGPT, primește reparația în zece secunde și merge mai departe. Zero învățare. Durerea a fost sărită. Iar durerea ERA educația.
Problema Calculatorului de Buzunar
E ca și cum i-ai da cuiva un calculator înainte să înțeleagă înmulțirea. Da, obține răspunsul corect, dar n-are nicio intuiție pentru când răspunsul e greșit. Îl întrebi „7 ori 8 fac 312?” și doar ridică din umeri, pentru că nu și-a construit niciodată senzația din stomac care ar trebui să îl facă să zică „asta nu prea arată bine”.
Uneltele AI funcționează la fel. Un dezvoltator nou îi dă un prompt lui Claude, primește cod funcțional, îl livrează, se simte geniu. Dar în clipa în care se strică ceva într-un fel pe care AI-ul nu îl poate repara, și clipa aia vine ÎNTOTDEAUNA, e complet neajutorat. Niciun model mental despre ce se întâmplă de fapt. Nicio capacitate de a raționa despre codul pe care îl rulează. Nicio intuiție nici măcar despre unde să înceapă să se uite.
Când mi se strică scraperul, știu exact unde să mă uit, pentru că înțeleg fiecare strat: cererea HTTP, parsarea răspunsului, encodingul, gestionarea sesiunii, rate limitingul. Mi-am construit înțelegerea aia petrecând sute de ore făcând-o greșit mai întâi.
Scraperul unui dezvoltator nou se strică, iar el lipește eroarea înapoi în ChatGPT și se roagă. Merge în 80% din cazuri. În celelalte 20% e complet futut.
Sala de Forță Cu Un Robot
E ca și cum te-ai duce la sală, dar ai avea un robot care ridică greutățile în locul tău. Da, greutatea s-a mișcat, dar mușchii tăi n-au crescut. Ieși arătând exact ca atunci când ai intrat.
Dezvoltatorii care au învățat înainte de AI au trebuit să ridice fiecare greutate singuri. Fiecare bug reparat manual. Fiecare decizie de arhitectură luată prin încercare și eroare. Fiecare script de deploy scris de mână după a treia oară când ai futut un deploy manual. Așa îți construiești mușchiul de inginer.
Acum există o generație de dezvoltatori care n-au scris niciodată un for de la zero fără ajutor de la AI. Care n-au depanat niciodată un regex de mână. Care n-au stat niciodată patru ore să își dea seama de ce codul lor e decalat cu unu. Care n-au trebuit niciodată să GÂNDEASCĂ ce face de fapt o funcție, pentru că pot pur și simplu să ceară mașinii să le explice.
Pot produce cod. Pot livra funcționalități. Pot trece de review-uri pentru că codul generat de AI arată bine. Dar nu pot depana. Nu pot arhitectura. Nu pot raționa despre sisteme. Pentru că au sărit peste partea în care înveți lucrurile astea, adică partea în care totul e stricat și trebuie să îți dai seama de ce.
Problema Interviului
Companiile nu mai pot face diferența. Doi candidați intră la un interviu. Amândoi pot „construi un scraper”. Amândoi pot „ridica un API REST”. Amândoi pot „scrie teste unitare”. Unul chiar înțelege ce construiește. Celălalt e un proxy pentru un LLM.
Mult succes să îți dai seama care e care într-un screening tehnic de 45 de minute, în care candidatul are Copilot pornit în IDE.
Iar ironia e groasă: tot sistemul de interviuri FAANG era deja stricat înainte de AI. Să pui dezvoltatorii să deseneze arbori roșu-negru și quicksort pe tablă, pentru joburi în care cel mai mare tabel are 2000 de rânduri și cel mai greu endpoint e chemat de două ori pe zi. Vreun tip stă și învață Leetcode șase luni ca să prindă un job în care munca reală e să legi API-uri între ele și să îți dai seama de ce e stricat mediul de staging marțea.
Acum mai adaugă și AI-ul peste mizeria aia. Întrebările de pe tablă sunt inutile, pentru că un candidat poate exersa cu AI până memorează fiecare tipar. Proiectele de acasă sunt inutile, pentru că AI-ul poate genera o soluție completă în câteva minute. Sesiunile de pair programming sunt inutile, pentru că un candidat doar traduce între intervievator și modelul lui mental despre ce să îl întrebe pe Claude.
Singurul lucru care încă funcționează e să stai cu cineva și să îl privești depanând o problemă reală, în timp real, fără unelte. Și aproape nimeni nu face asta, pentru că durează prea mult și nu se scalează.
Mijlocul Scobit
Aici devine cu adevărat întunecat. Drumul de la junior la senior a fost dintotdeauna: te chinui ani de zile, îți construiești înțelegere profundă prin durere, iar în cele din urmă îți dezvolți intuiția și gândirea sistemică ce te fac senior. Drumul ăla cerea chinul. Scoate chinul și drumul dispare.
Deci ce se întâmplă peste zece ani? O elită mică de ingineri seniori care au învățat înainte de AI și chiar înțeleg fundamentele. Un bazin uriaș de juniori care sunt în esență operatori de AI, productivi când uneltele merg, neajutorați când nu merg. Și nimic între, pentru că nimeni nu mai face drumul de la una la alta.
Scara de învățare e trasă în sus. Nu răuvoitor, n-a plănuit nimeni asta. Dar efectul e același. Unealta care te face productiv azi e exact unealta care te împiedică să devii cu adevărat competent mâine.
Și nu poți să îi zici unui om de 20 de ani „nu folosi AI, chinuie-te manual cinci ani mai întâi”. E ca și cum i-ai fi zis cuiva în 2005 „nu folosi Google, du-te la bibliotecă”. N-o să o facă. De ce ar face-o? Alegerea rațională pentru orice individ e să folosească cele mai puternice unelte disponibile. Problema e că ce e rațional pentru individ e catastrofal pentru profesie.
Ce Mai Contează
Dezvoltatorii care o să supraviețuiască nu sunt cei care pot scrie cel mai mult cod. AI-ul deja face asta mai bine decât majoritatea oamenilor. Supraviețuitorii sunt cei care înțeleg DE CE funcționează lucrurile.
Înțelegerea lui DE CE e ceea ce îți permite:
- Să depanezi probleme pe care AI-ul nu le poate rezolva, pentru că n-a mai văzut niciodată exact combinația aia de eșecuri
- Să arhitecturezi sisteme care nu se destramă când se schimbă cerințele
- Să evaluezi cod generat de AI și să prinzi bug-urile subtile care arată corect dar nu sunt
- Să iei decizii care cer înțelegerea compromisurilor dintre abordări, nu doar alegerea primeia care compilează
- Să știi când sugestia AI-ului e greșită, pentru că stomacul tău zice „numărul ăla nu prea arată bine”
Intuiția aia vine doar dacă o faci pe calea grea mai întâi. Nu există scurtătură. Niciun AI nu ți-o poate da. Se câștigă prin ani petrecuți stând în căcat și dându-ți seama cum stă treaba.
Avantajul Autodidactului
Uite răsturnarea la care nu se aștepta nimeni: dezvoltatorii autodidacți s-ar putea să aibă de fapt cel mai mare avantaj în era AI. Nu în ciuda faptului că au învățat pe calea grea, ci din cauza ei.
N-am avut programe de învățământ. Nu ne-a întins nimeni o cale de învățare. Am apucat problemele de gât și ne-am dat seama cum stă treaba pentru că voiam noi, nu pentru că ne zicea o programă. Obiceiul ăla, să fii sincer curios, să vrei să înțelegi cum funcționează lucrurile cu adevărat, să nu te lași până n-ai urmărit problema până la rădăcină, exact obiceiul ăla supraviețuiește perturbării aduse de AI.
Absolventul de informatică ce a memorat structuri de date pentru examene nu și-a dezvoltat niciodată obiceiul ăla. A învățat CE să facă, nu CUM să gândească. Când tiparele lui memorate nu se potrivesc cu problema, e blocat. Când tiparele autodidactului nu se potrivesc, el sapă mai adânc, pentru că doar asta a făcut dintotdeauna.
Interesul e singurul avantaj competitiv sustenabil din tehnologie. Orice altceva poate fi învățat, copiat sau automatizat. Dar nu poți automatiza faptul că îți pasă al dracului de tare.
Adevărul Incomod
90% dintre sistemele din producție n-o să aibă niciodată nevoie de genul de cunoaștere profundă despre care vorbesc. Majoritatea aplicațiilor de business ar putea rula pe bubblesort, fără indecși în baza de date, cu SELECT * din fiecare tabel, și nimeni n-ar observa, pentru că cel mai mare tabel are 847 de rânduri, iar baza de date nici măcar nu transpiră.
Pentru sistemele alea, dezvoltatorii asistați de AI sunt în regulă. Mai mult decât în regulă, sunt mai rapizi și mai ieftini. Codul merge, funcționalitățile se livrează, afacerii nu îi pasă cum se face cârnatul.
Problema e celelalte 10%. Sistemele care chiar contează. Platforme financiare care procesează bani adevărați. Infrastructură de care depind oamenii. Sisteme de securitate care nu au voie să aibă bug-uri subtile. Sistemele în care „merge în 80% din cazuri” nu e destul de bun, iar cazul de eșec de 20% costă milioane.
Sistemele alea au nevoie de ingineri care înțeleg fundamentele. Și suntem pe cale să avem o lipsă severă de așa ceva, pentru că lanțul care îi producea tocmai a fost înlocuit cu o scurtătură ce produce ceva care arată identic la suprafață, dar se fărâmițează sub presiune.
Inginerii seniori care există azi au fost căliți în focul depanării manuale, al codului scris de mână și al anilor de învățare dureroasă. Când o să ieșim la pensie, cine ne înlocuiește? Dezvoltatorul care copiază și lipește ieșiri de AI de un deceniu? Ăla nu e inginer senior. Ăla e un scriitor de prompturi foarte experimentat.
Iar industriei nu pare să îi pese. Pentru că acum, azi, dezvoltatorul asistat de AI livrează funcționalități mai repede. Randamentul arată splendid în raportul trimestrial. Datoria tehnică e invizibilă până nu mai e. Și până atunci o să fie problema altcuiva.
La fel ca dintotdeauna. Doar că mai repede acum.