Viteza!
Introducere
Salutare. Dacă în urmă cu 6 luni, în articolul Programatorii și Melcii estimam ipotetic factorul de îmbunătățire a productivității programatorilor undeva la 2x, astăzi o să îți descriu o experiență personală care s-ar putea să îți dea de gândit, dacă nu ești deja speriat de povestirile altor programatori sau poate ai și tu o experiență similară.
După cum poate știi din materialele mele anterioare anul acesta am început pe cont propriu să lucrez cu claude acasă, după programul de lucru.
Ultimul proiect realizat este o aplicație cu care am mai avut o tentativă anterioară cu 4-5 ani în urmă și am eșuat din lipsă de timp.
Fratele meu a avut o idee interesantă de a crea o aplicație care face estimări pentru notele de intrare la liceele din România. Bazat pe statisticile anilor anteriori și pe notele din anul curent, poate fi creat un algoritm de predicție care să evalueze șansa elevilor de a intra la un anumit liceu.
Dar nu e așa importantă ideea ci modul în care am dezvoltat proiectul și ce am observat în acest timp.
Execuție la viteză ridicată
Unul dintre motivele pentru care am abordat o strategie de dezvoltare rapidă și focusată total pe outcome imediat este pentru că am pornit foarte târziu la drum. Cu o lună înainte de examene, am discutat împreună planul de bază și cerințele unui MVP.
Dacă nu aveam ajutorul agentului AI, e clar că nici măcar nu avea sens să discutăm despre ceva concret. Încercarea anterioară ne-a luat 3 luni fără să putem să avem nimic funcțional nici la nivel de date nici ca și aplicație.
Deci faptul că am știut din proiectele anterioare că acest produs e realizabil într-o lună cu ajutorul AI ului mi-a dat curaj să încerc.
Prototip sau Aplicație super bine făcută?
Majoritatea ideilor pe care am încercat să le implementez în trecut au rămas într-o formă de dezvoltare incipientă, fără să am puterea să le duc la un stadiu în care să dea față cu clienți reali. Asta în special din lipsă de timp și apoi urmează pierderea interesului după o perioadă mai îndelungată fără rezultate tangibile.
Lucrurile stau cu totul altfel astăzi în era AI.
Am încercat să aplicăm principii minimaliste în toate zonele de dezvoltare. Am tăiat tot ce nu era neapărat necesar, atât în tehnologie cât și în procesul de dezvoltare.
Focusul permanent a fost să ajungem să avem un produs pe care elevii să îl poată folosi în cel mult o lună pentru a face evaluări.
De aceea discuția filozofică între a face un prototip sau o aplicație robustă care să reziste sutelor de mii de utilizatori ne-existenți nici nu își are sens.
Am ales calea prototipului rapid, dar un prototip care să înglobeze toate mecanismele necesare unui produs funcțional cum ar fi responsivitate, reziliență, securitate, observabilitate.
Tehnologia
Poate o să râzi, dar stack-ul minimalist folosit de mine este: scripturi python pentru development și PHP + mysql pentru aplicația web. De ce asta? pentru că e simplu de implementat, am văzut că agentul Claude se descurcă foarte bine cu combinația asta și am deja un workflow de dezvoltare rapidă cu această combinație.
În plus php și mysql sunt suportate pe orice provider de hosting la costuri foarte bune, fără să fiu nevoit să sparg bugetul pe servere de aplicații cu computație complexă.
Dacă ești interesat de acest mod de prototipizare rapidă îți recomand compania de hosting pe care eu o folosesc de 10 ani și sunt foarte mulțumit host-age.ro
Procesul de dezvoltare
Ca și proces, am încercat o abordare “spec driven” în care am început cu un document de specificații pe care l-am dat agentului să îl implementeze.
Procesul meu de dezvoltare rapidă are următorii pași:
- specificație: îi descriu agentului ce feature vreau să implementez
- agentul implementează schimbarea
- testare pe mașina locală, inclusiv testele automate create de agent
- commit pe branch de staging -> deploy pe un domeniu de staging unde testez
- merge branch staging în main -> deploy automat pe server producție
Tot procesul poate dura 1-2 ore pentru feature-uri mai complexe sau chiar minute pentru schimbări mici.
De la primul commit la aplicația finalizată
Ca și sumar al dezvoltării:
Primul commit a fost pus în prima zi de lucru la proiect, iar în doar 3 zile aplicația era deja funcțională și securizată, folosită de primii utilizatori reali. Următoarele trei săptămâni au fost cele mai intense: aproape 80% din totalul celor 153 de commit-uri s-au strâns până în ziua în care au apărut datele reale de care depindea întreg produsul – momentul central al proiectului. Ziua cu cel mai mare volum a fost la doar o săptămână de la start, când am pus 30 de commit-uri într-o singură zi și am lansat o versiune îmbunătățită a algoritmului central al aplicației.

În această perioadă intensă au apărut, în valuri, un mecanism de autentificare și cont de utilizator, integrare cu surse de date externe și primele statistici publice – toate gândite să fie gata până în momentul în care datele reale urmau să devină disponibile. Odată ce acel moment a trecut, ritmul de dezvoltare a scăzut vizibil: în restul perioadei numărul de commit-uri a fost de aproximativ un sfert din cel al primei părți, iar accentul s-a mutat de pe construcția de funcționalități noi pe corecții, ajustări și o singură funcționalitate suplimentară gândită să fie ușor de distribuit pe rețelele sociale.

Nu totul a mers însă perfect. Unul dintre algoritmii interni, cel care potrivea date provenite din surse diferite, a trebuit rescris de cel puțin trei ori din cauza inconsistențelor datelor de la un an la altul. Funcționalitatea suplimentară lansată după ce datele reale deveniseră disponibile a ajuns în producție înainte să fie testată suficient, ceea ce a însemnat mai multe remedieri rapide de interfață în zilele următoare. În schimb, lucrurile care au contat cu adevărat – securitatea și observabilitatea – au fost tratate din prima săptămână, nu adăugate la final, iar documentația pentru agent (claude.md) a început să fie actualizată încă din a prima săptămână de lucru.

Dacă sunteți interesați de detalii, aici puteți vedea detaliile evoluției proiectului.
Viteza amețitoare
Ca să pot lucra la o viteză mare cu agentul AI, a trebuit să renunț la a valida manual codul.
Dacă aș face acum o estimare a vitezei față de acum 3 ani, aș spune că am mers cu o viteză de 6x mai mare decât atunci.
Asta aduce și senzația că pierzi controlul. Dacă nu știu exact ce scrie în cod, cum garantez că el funcționează conform specificațiilor?
Câteva puncte de validare pe care le-am folosit la o viteză așa mare:
- Testele automate devin neapărat necesare. Agentul a creat teste automate pe care le rulam înainte de deployment.
- Specificații updatate După fiecare implementare îi cer agentului să updateze specificațiile să reflecte ultimele schimbări.
- Când detectez o problemă în procesul pe care îl repet, îi cer agentului să updateze claude.md ca să nu mai repete acea greșeală. De exemplu la un moment dat agentul a făcut commit și pus singur fără să îi spun eu. Am pus o regulă să nu facă commit și push decât când îi spun eu explicit.
Concluzii
În concluzie, îți fac un sumar cu principiile care le-am extras eu din noul meu mod de lucru cu AI-ul.
Prototipizare super-rapidă
Un principiu pe care îl aplic și văd că dă rezultate bune este să folosesc pentru ideile noi prototipuri rapide, să ajung cât mai rapid la ceva care pot să îl validez cu utilizatorii.
Atunci abia văd dacă ideea stă în picioare când e încercată de un utilizator real.
Evit costuri folosind un tech stack simplist: python / php / mysql. Costuri minime simplitate în programare, agentul se descurcă foarte bine.
Evaluare idee
Odată ajuns cu produsul live, e important să dai access cât mai mult agentului la informațiile din producție. Importanța mecanismelor de observabilitate este majoră. Loguri, tabele cu evenimentele statistice importante. Monitorizare constantă a evenimentelor pe server pentru detecția de probleme în timp real.
Bazat pe informațiile extrase de pe server poți face analize împreună cu AI-ul să vezi ce se întâmplă și ce recomandări îți face pentru îmbunătățirea produsului.
Folosind toate aceste date reale, pot lua o decizie mult mai informată dacă merită sau nu să investesc în continuare în acest produs.
Real Product ?
Decizia dacă merită sau nu să continui cu un proiect nu o iau după cât de mult îmi place ideea, ci uitându-mă la un singur lucru esențial: există clienți reali care folosesc produsul constant, nu doar îl încearcă o dată din curiozitate? Mă uit la câte cereri procesează aplicația în timp, câți dintre utilizatori revin și cât de des, și dacă partea tehnică se comportă bine sub acest volum – viteza de răspuns și costul de calcul pe utilizator rămân în limite rezonabile. Dacă numărul de utilizatori activi crește constant și revin să folosească produsul, e semnul cel mai clar că ideea are valoare reală, nu doar pe hârtie.
A doua întrebare pe care mi-o pun este dacă acest produs are, pe viitor, o șansă reală să facă bani – fie că înseamnă un model de venit direct, fie o bază de utilizatori suficient de mare și implicată încât să merite monetizată mai târziu. Aici cântăresc costurile reale de menținere și dezvoltare în continuare față de acest potențial: dacă tehnologia aleasă inițial mai ține la volumul crescut sau are nevoie de o investiție suplimentară, și dacă acea investiție se justifică prin cererea reală văzută până atunci. Când există clienți constanți și un drum plauzibil către venituri, decizia de a continua investiția devine simplă. Dacă însă unul dintre cele două lipsește, e momentul să las produsul așa cum e, ca prototip validat, fără să mai investesc timp suplimentar în el.
Ce înseamnă pt mine să mă adaptez în era AI
- să experimentez practic cu agentul, dacă rămân doar la educația teoretică în era AI rămân în urmă
- crearea unui workflow personal să ajungi cât mai rapid de la idee la feature deployat în producție
- nu aștepta proiectul sau ideea perfectă ca să începi, un prototip mic testat cu agentul îți aduce mai multă experiență decât luni de citit despre AI
- găsește-ți un stack minimalist cu care ești confortabil și repetă-l pe mai multe proiecte, viteza vine din obișnuință, nu doar din tehnologie
- pune-ți reguli clare cu agentul încă de la început – ce poate face singur și ce trebuie să confirmi tu – ca să nu pierzi încrederea în codul livrat
Cu toată viteza asta, cred că cel mai important lucru rămâne colaborarea umană. Fratele meu, deși nu a scris cod, a fost cel care a pus întrebările potrivite și a spus ferm când o direcție propusă de agent nu avea sens pentru utilizatori reali. Agentul îți poate genera idei și features cu o viteză amețitoare, dar fără cineva care să filtreze ce merită construit cu adevărat, riscul e să aluneci într-o direcție greșită mult mai repede decât înainte.
