Apa Se Retrage
AI-ul rescrie programarea mai repede decât vrem să recunoaștem. Iată cum mă pregătesc.
Contextul actual
Vedem semne clare că AI afectează profund programarea, așa cum o știm noi până acum. Însă, pentru că nu știm cum să reacționăm, intrăm în modul de complacere și sperăm sau ne imaginăm că în curând lucrurile se vor liniști și ne vom întoarce la vechiul mod de lucru. Între timp, AI-ul evoluează constant la o viteză pe care nici măcar nu o putem urmări în detaliu.
Situația este foarte similară cu fenomenul tsunami de pe coastele oceanelor. Stai liniștit pe plajă unde, de ani buni, vii să te relaxezi. Observi însă niște semne pe care nu le-ai mai întâlnit până acum. Poți să te uiți uimit cum apa se retrage încet și să te întrebi ce o mai fi și asta.
Cei care nu învață din istorie, din situații similare, și care nu se pregătesc pentru astfel de evenimente vor fi cei mai afectați de valul schimbărilor care urmează.
Câteva aspecte care se vor schimba în programare
- Detaliile de programare, cum ar fi limbajele și framework-urile, nu vor mai avea importanța de acum – un nou nivel de programare de nivel înalt intră în acțiune: promptul.
- Gândirea de nivel înalt devine tot mai importantă.
- Comasarea responsabilităților – nu vom mai avea roluri separate; o singură persoană va putea face totul în același timp.
- Procesul devine tot mai important. Până acum, oamenii erau implicați și reprezentau punctele de validare în proces. Când trecem la AI, totul va fi automat și va trebui să ne asigurăm că procesul este mult mai bine structurat și detaliat.
- Factorul uman devine și mai valoros – AI-ul poate genera cod rapid și la scară, dar nu poate înțelege contextul profund al afacerii, nu poate lua decizii etice nuanțate, nu poate inova creativ fără direcție umană clară și nu poate construi relații de încredere în echipe. Tocmai de aceea, programatorul nu dispare, ci evoluează spre un rol de orchestrator, ghid și gardian al calității – acolo unde inteligența umană strălucește.
Ce poate face un programator pentru a se pregăti?
Până în prezent, noi, programatorii, eram liniștiți cu ideea că, dacă evoluăm bine pe zona tehnică, viitorul va fi bun. Am învățat limbaje și framework-uri, am aprofundat zone de finețe tehnică precum securitatea, bazele de date sau paralelismul, și asta ne-a adus un loc în prim-plan, garanția locului de muncă și un salariu bun.
Când jocurile păreau făcute pe termen lung și ne vedeam liniștiți la rotițele noastre, vine AI-ul și bagă bățul prin spițe.
Din câte înțeleg eu despre istoria programării – care nu este foarte lungă –, programatorii nu au fost confruntați încă cu o situație atât de dramatică. Au existat și în trecut evoluții și schimbări, însă acestea au venit destul de incremental. Tehnologia nu a evoluat atât de rapid și nu a avut un impact atât de larg ca revoluția AI recentă.
Totuși, un lucru pare să se suprapună cu schimbările anterioare din programare: evoluția a mers permanent înspre ceva de nivel mai înalt.
Dacă la început programarea era low-level, la nivel de regiștri și operații mașină, modul de scriere a programelor a evoluat continuu, adăugând niveluri de abstractizare între programator și mașina programată. Astăzi putem spune că avem cel puțin 5 niveluri de abstractizare între noi și mașina care ne rulează comenzile (niveluri: hardware / BIOS / OS / limbaj / framework-uri).
Același lucru pare să se întâmple și acum. Un nou limbaj, de nivel mai abstract și mai general, pare să prindă contur, înlocuind toate limbajele de programare: PROMPTUL în limbaj natural.
Prin urmare, istoria ne arată clar că supraviețuirea în programare a însemnat mereu urcarea pe scara abstractizării. Astăzi suntem din nou la o astfel de răscruce. Întrebarea firească devine: ce pot face eu, programatorul obișnuit, ca să nu fiu măturat de val și să rămân relevant în anii care vin?
Noile mele priorități în educație
Planul meu se bazează în continuare pe evoluția și educația mea, însă trebuie să îl regândesc din perspectiva lucrurilor care devin tot mai importante.
1. AI Tools – Prompting
Detaliile limbajului Java sau .NET devin tot mai puțin importante; crește relevanța exprimării în limbaj natural. Înțelegerea mecanismului de prompt este vitală – programarea viitorului va fi prin exprimare literară, nu comprimată într-un set predefinit de cuvinte-cheie.
Această schimbare pare trivială și în favoarea noastră, însă lucrurile se pare că sunt un pic mai complicate când vedem modul în care programatorii actuali abordează problemele și le implementează în cod.
De ce spun asta? Pentru că văd cum majoritatea programatorilor cu care colaborez manifestă reticență când li se cere să definească implementarea pe care o au de făcut într-un document de design – un document în care să exprime în limbaj natural conceptele care trebuie modificate și planul pe care îl vor urma. Nouă, ca programatori, ni se pare mult mai ușor să ne suflecăm mânecile și să ne apucăm să scriem cod, să transpunem imediat gândurile și ideile în ceva ce mișcă mașina direct.
Deci un punct prioritar în educația mea de programator trebuie să fie noul limbaj al promptingului și folosirea tool-urilor și framework-urilor AI.
Exemplu concret în Java (Spring Boot + JWT filter):
- Prompt slab (tipic instinctiv): „Scrie un filtru JWT pentru Spring Security.”→ AI-ul dă cod generic, incomplet (lipsesc erori specifice, integrarea SecurityContext, gestionarea excepțiilor jjwt), necesitând multe corecții.
- Prompt bun (structurat și clar):
Ești senior Java developer cu Spring Boot 3+ și Spring Security 6. Scrie clasa
JwtAuthenticationFilter(OncePerRequestFilter) pentru autentificare JWT:- Extrage Bearer token din header-ul
Authorization - Validează cu jjwt (
io.jsonwebtoken), secret dinapplication.properties:jwt.secret - Dacă valid: extrage
usernameșirolesdin claims, seteazăAuthenticationînSecurityContextHolder - Dacă invalid/expirat/lipsă: returnează 401 cu JSON
{"error": "Invalid or expired JWT"} - Gestionează excepțiile:
ExpiredJwtException,MalformedJwtException,SignatureException - Cod curat, comentarii minime
Generează doar clasa Java, fără explicații suplimentare.
→ Rezultat: cod precis, aproape gata de integrat în
SecurityFilterChain. Economisești ore de debugging. - Extrage Bearer token din header-ul
Diferența este clară: promptul slab → output ~50% util. Promptul bun (cu rol + cerințe exacte + context) → output ~90% gata de producție.
2. Gândirea abstractă și analitică
Această evoluție înspre limbajul natural are însă o față mai amplă, care nu poate fi abordată cu un simplu curs. Este vorba de antrenarea acelui mușchi al minții responsabil de abstractizare, de gândire analitică, de logică clară formulată în concepte mai elevate decât douăzeci de instrucțiuni bătute în cuie.
Acest mușchi nu poate fi exersat decât prin citit cărți și scris articole. Acolo este pus la treabă concret și direct. Orice altceva cred că este doar un artificiu care nu ajută la fel de profund. Totodată, aceasta mă protejează și de alienare, de tocirea pe care o produce folosirea constantă a AI-ului. Dacă nu îmi exersez mintea prin citire și scris, riscul de a pierde și capacitățile de gândire pe care le aveam până acum este major în epoca AI.
Prin urmare, al doilea punct prioritar în educație pe care mi-l propun este să accelerez cititul și scrisul de articole – mici, mari, stupide, inutile, nu contează; scrie până evoluezi, măcar un pic.
3. Continui evoluția tehnică, însă la un nivel mai înalt
Odată cu îndepărtarea tot mai mare de detaliile mașinii, programatorul trebuie să gândească în concepte tot mai abstracte: trecerea de la detaliile unui algoritm specific la vederea de ansamblu a unui sistem distribuit.
Opțiunile de implementare a unui produs pot fi foarte variate, iar ghidajul pe care îl aduci tu, ca programator, AI-ului care scrie cod de nivel scăzut este esențial. Acest ghidaj poate face diferența dintre un produs foarte bun și unul mediocru, cum l-ar produce AI-ul din inerție.
Consider că programatorul trebuie să stăpânească în continuare bine PRINCIPIILE programării și să avanseze tot mai mult în înțelegerea ARHITECTURILOR eficiente.
De aceea voi continua să citesc cărți și materiale de programare recunoscute ca valoroase: Clean Code, Clean Architecture, Design Patterns, Microservices, The Pragmatic Programmer, Refactoring. Toate acestea mă ajută să îmi mențin capacitatea mentală de a înțelege și de a direcționa codul și produsul pe care îl dezvolt cu AI-ul.
Concluzie umană
Ce facem pentru a rămâne relevanți în 2026 și în anii care vin? În toate evaluările pe care le-am abordat și discutat cu alții, un aspect apare recurent și constant: factorul uman. Istoria ne-a arătat-o și parcă o știm instinctiv: în situații grele trebuie să stăm împreună, să învățăm unii de la alții.
În această direcție, am în plan să încep un mic proiect – să alcătuiesc un curriculum incremental pe care să îl putem parcurge împreună. Un traseu educațional adaptat exact după concluziile acestui articol, cu trei piloni: AI Tooling, Core Engineering și Human Multiplier.
Concret, vreau să pornim un pilot mic, gratuit, de 4 săptămâni, exact ca un sprint: fiecare participant lucrează individual, la propriul ritm (~8–10 ore/săptămână), dar toți urmăm același plan – aceleași cursuri scurte gratuite (începând cu cele de la DeepLearning.AI despre prompting și LangChain), aceleași capitole din cărți clasice (Clean Code, The Pragmatic Programmer etc.) și același proiect comun: un Personal Budget Tracker local (aplicație web simplă în browser, cu SQLite, fără cloud, fără conturi).
Proiectul crește săptămânal: de la scaffold generat cu AI și documentare de prompturi, la dashboard lunar, limite de buget cu progress bars, export CSV și polish final. Fiecare săptămână împarte efortul pe cei trei piloni – de exemplu, în săptămâna 1 scrii prompturi bune pentru a genera boilerplate-ul, aplici principiile din Clean Code pe codul generat și scrii README-ul de la bun început, cerând feedback de la un non-dev.
Nu sunt sesiuni live, nu sunt obligații – doar un canal Discord pentru share de progres, întrebări și feedback, plus postări LinkedIn la milestone-uri. Scopul: la final ai un repo GitHub curat, un tool util pe care îl folosești zilnic și abilități reale în cele trei direcții esențiale pentru 2026.
Dacă ți se pare interesant și vrei să fii printre primii în această cohortă (pornim curând, probabil în martie/aprilie 2026), lasă un comentariu:
- „Da, intru în pilot!”
- „Prefer stack-ul Java/Spring Boot”
- „Sugestie: adaugă mai mult focus pe [X]”
Astfel vedem împreună dacă merită să investim energie și să îl deschidem comunității.
Mulțumesc că ai citit până aici – ne auzim în comentarii sau data viitoare!
