programatorul si melcii
| | |

Programatorul și melcii

Povestea purpurei

Închipuie-ți: anul 1000 î.Hr., undeva pe coasta Feniciei.

Un pescar sparge mii și mii de melci Murex – fiecare cochilie mică, fragilă, ascunde o picătură infimă de lichid care, expus la soare și aer, devine un violet intens, aproape magic.

Purpura Tyrian – costă mai mult decât aurul. Doar împărații își permiteau stofe vopsite cu ea. Un singur veșmânt imperial cerea 250.000 de melci zdrobiți, un proces mirositor, manual, de săptămâni întregi. Era simbolul puterii absolute – movul regal, interzis muritorilor de rând.

Timp de două mii de ani, nimic nu s-a schimbat. Imperii au căzut, altele au răsărit, dar purpura – rară și scumpă – se producea prin același proces costisitor, prin zdrobirea melcilor. În Evul Mediu, în Bizanț, în Renaștere – aceeași poveste. Industria purpurei era artizanală, familială, protejată de secrete și monopoluri. Oameni trăiau din zdrobirea melcilor, din privilegiul de a produce și vinde o culoare pe care restul lumii o visa.

Și apoi, 1856. Londra.

William Henry Perkin, un puști de 18 ani, student la chimie, încearcă să sintetizeze chinină din gudron de huilă – un deșeu ieftin, negru, murdar.

Greșește rețeta.

Apare o substanță violetă, lipicioasă. O testează pe mătase. Rezultatul? Mov. Strălucitor, stabil, ieftin. Mauveina. Primul colorant sintetic.

În următorii 10 ani, mauve-ul devine la modă.

Regina Victoria poartă rochii mov. Parisul, Londra, toată Europa se umple de violet accesibil. Prețul vopselelor naturale? Cade în prăpastie. De zeci, de sute de ori mai ieftin.

Pescarii de melci din Mediterană? Rămân cu cochiliile goale și mirosul în nas. O industrie milenară dispare aproape peste noapte.

Nimeni nu a văzut-o venind. Chimia a câștigat. Procesul manual, costisitor și învechit, a pierdut.


Industria software astăzi

Până mai ieri, software-ul era foarte costisitor de produs. Proiectele mari înghițeau sute de milioane de dolari. Mâna de lucru, scumpă și ea, pentru că necesita calificare superioară, inteligență și abilități acumulate. Programarea nu era o muncă pentru oricine.

Ca programatori, am trăit în istoria recentă pe un piedestal care părea sigur și de durată.

De prin 2023, de când a început ChatGPT să arate progrese semnificative, s-au furișat și zvonurile că AI-ul ne va lua locurile de muncă.

Dezbateri și filosofări fără sfârșit. Unii susțineau că nu are cum o statistică să înlocuiască un proces așa creativ. Alții, ba că da, că ce facem noi sunt algoritmi reproductibili, ușor de înlocuit de creierul de siliciu.

Astăzi ceața s-a mai ridicat. Modelele combinate cu mecanismele agentice au ajuns la capabilități impresionante.

Doar cine nu a încercat încă să îl pună pe Claude sau alt agent AI la lucru pe un proiect software mai poate susține că AI-ul nu va schimba fața software-ului.

Încerc să mă detașez de filosofările fără sfârșit și ce încerc să înțeleg acum e cum va evolua în viitorul apropiat industria software. E clar că nu am cum să dau eu răspunsuri la toate dilemele existențiale ridicate de AI. Dar întrebarea mea concretă e cum va arăta până la sfârșitul anului mediul meu de lucru.

Până acum programatorul nu era nevoit să își pună întrebări despre viitor ca și evoluție structurală; el își vedea de viitorul lui, se focusa pe creșterea lui tehnică, într-un context stabil și predictibil. Dacă urma o serie de traininguri și își creștea experiența, șansa ca în un an-doi să fie în aceeași firmă, lucrând la același proiect, era foarte mare.

Ca să îmi răspund practic la această nevoie pe care o am – să îmi imaginez cum va fi programatorul în viitor – încerc să leg lucrurile de realitatea tangibilă.


Ecuația economică a software-ului

În ecuația producerii de software, un rol esențial este economia, finanțele care împing lucrurile să se întâmple, plătesc developerii să scrie cod, managerii să conducă, marketerii să promoveze.

Aceste finanțe vin din oportunități pe care antreprenorii le întrevăd în a crea ceva nou, ceva care să îmbunătățească ceva existent, un proces sau un produs.

În momentul de față, costul producerii unui software este ridicat, cum spuneam înainte. Aș evalua asta ca o formulă simplificată:

Cost Software = nrDevelopers × costDeveloper × time

În plus, programatorii sunt grupați în companii care au rolul de a alinia cererea de pe piață cu oferta programatorilor. Companiile sunt brokerii care gestionează cererea de software a clienților și oferta de muncă a programatorilor. O companie e definită de eficiența ei.

O formulă simplificată care ignoră alte costuri ar arăta așa:

Eficiența Companie = NumărProiecte × (venituriClienți − costuriSoftware)

Dacă Eficiența Companiei nu e suficient de mare, antreprenorii care dețin acea companie nu mai văd niciun rost în a o menține – dă faliment.

Apare aici un factor nou, NumărulProiecte, care e influențat direct de antreprenorii-clienți care văd valoare și potențial de profit prin a contracta un nou proiect cu o companie.

Aceste proiecte putem spune că sunt legate de problemele pe care omenirea încearcă să le rezolve. Limitarea e dată de capabilitățile și eficiența noastră curentă. Unele probleme nu pot fi rezolvate că nu știm cum, altele nu merită să fie rezolvate pentru că e prea costisitor.

Probleme rezolvabile cu software = set finit dat de capabilitățile noastre curente și de costul software-ului. Dacă software-ul e prea scump, o problemă posibil să nu merite implementarea.


Termen scurt vs. termen lung

Hai să vedem ce variabile se schimbă în această ecuație pe termen scurt și pe termen lung.

Pe termen scurt, e foarte clar că nrDevelopers și costDeveloper rămân la fel. De ce costul rămâne la fel? Pentru că noi, developerii, nu acceptăm încă să fim plătiți mai puțin – pentru moment.

Ni se tot repetă că trebuie să mărim eficiența și randamentul, să producem cod mai repede.

Dacă AI-ul va valida așteptările (și deja a început să o facă), atunci da, putem spune că variabila TIMP va fi redusă semnificativ.

Hai să numim acest factor eficiențăAI. Putem să îi dăm o valoare imaginară de 2, adică timpul în care produc același software cu AI este jumătate.

Sumarizare pentru developer: voi produce mai mult software cu AI, voi produce mai multe proiecte ca înainte pe lună. În același timp, așteptarea mea e ca salariul să îmi rămână cel puțin la fel.

Această schimbare va produce un efect de presiune spre Companie, și anume, compania va trebui să caute și să aducă mult mai multe proiecte pentru a menține aceeași structură a developerilor.

Această nevoie a companiei pune la rândul ei presiune pe primul bloc, antreprenorii care vor să obțină profit rezolvând probleme.

Partea proastă e că până ce costul software-ului nu se reduce dramatic, setul de probleme rezolvabile eficient rămâne același, deci antreprenorii nu se vor arunca spre proiecte noi.

De ce o reducere a costului la companie nu se reflectă rapid în noi cereri de produse? Pentru că antreprenorii se adaptează și ei în timp la această schimbare de paradigmă.

Deci estimez că pe termen scurt pool-ul de probleme rămâne același, companiile vor avea același număr de proiecte și programatorii vor trebui să termine mai repede – deci apare un gap. O să fie tot mai mulți oameni pe bench sau dați afară. Dacă evaluăm cu factorul propus de eficiențăAI de 2, atunci jumătate din programatori nu vor avea de lucru – o perspectivă deosebit de gravă.

Efectul ăsta e vizibil deja de 2-3 ani. Există o stagnare sau contractare a cererii către firmele care produc software.

Care e singura șansă ca aceste ecuații să nu ne impacteze așa dramatic?

Economia de piață o să își facă treaba și această schimbare în prețul software-ului va ajunge pe masa antreprenorilor care încep să evalueze tot mai multe probleme care devin profitabile pentru a fi implementate.

Probabil deja se întâmplă asta, dar din păcate nu vedem o creștere în numărul de proiecte. Schimbarea de paradigmă și pe partea antreprenorilor nu e peste noapte – mințile trebuie să regândească soluțiile cu alte variabile de cost.

Pe termen lung, mă aștept (ca să fiu și optimist) ca cererea și oferta să se alinieze, setul de probleme să crească și numărul de programatori să revină și el la valori mai mari.


Ce pot să fac eu ca programator

Tot ce am prezentat până acum e înțelegerea și imaginația mea. Și aș vrea să trec la aplicații practice.

Și întrebarea de un milion de dolari pentru MINE (și posibil și pentru TINE) este: care din variabilele acestea le pot schimba în dreptul meu?

E clar că nu îmi surâde ideea să mi se reducă salariul.

Concluzia logică a ecuațiilor de mai sus e că TREBUIE să produc software mai mult, mai repede, la fel de calitativ. Dacă acest lucru nu se întâmplă în dreptul meu, economia de piață mă va elimina datorită eficienței slabe.

Cum fac asta?

1. Cunoaște tool-urile AI

Nu am văzut adevărata putere a programării AI până nu mi-am cumpărat o licență de Claude și am început să îl folosesc fără limite.

Dacă lucrezi pe un proiect legacy unde sunt tot felul de restricții normale, nu o să poți să simți adevărata putere AI. E ca și cum ai merge pe o autostradă cu o mașină limitată la 50 km/h.

Experiența vitală în domeniul tool-urilor AI nu se poate obține din cursuri și prezentări – trebuie să fii în mașină pe circuit, să simți real curbele și gropile.

Îți recomand cât de repede: dacă la compania la care lucrezi nu ai libertate să folosești agenți avansați AI, să îți cumperi tu acasă licență și să începi să apeși pedala.

Eu îți recomand Claude – pare să fie cel mai comun și larg acceptat ecosistem.

2. Schimbare de paradigmă

Când intri în lumea agenților AI, va trebui să îți schimbi modul de gândire. Dacă până acum responsabilitatea mea ca programator era să am grijă la toate detaliile codului, la volumul nou de lucru acest aspect se schimbă. Nu am cum să fiu capabil să validez manual complet un volum așa mare de lucru.

Un programator care continuă să valideze manual fiecare linie de cod va deveni bottleneck pentru acel proces.

Acum devine mult mai important aspectul automat de validare. Testele automate devin absolut necesare.

Schimbarea aceasta de paradigmă va fi cel mai greu pas în evoluția noastră a programatorilor. Un proces pe care îl facem repetat de ani de zile va fi greu de adaptat.

Începe să îți regândești în mod conștient și minuțios toate detaliile procesului de muncă pe care îl faci zi de zi. Încearcă să înțelegi cum poți direcționa noul tool AI pentru a satisface cerințele software-ului produs de tine.

3. Continuă evoluția tehnică

Cred în continuare că trebuie să dețin controlul tuturor aspectelor tehnice cu care lucrez. Dacă AI-ul se împotmolește sau mi se termină tokens plătite, trebuie să fiu în stare să intru în cod și să rezolv problema manual. Trebuie în continuare să știu dacă o bucată de cod e bună sau proastă.

Asta înseamnă că trebuie să îmi continui evoluția tehnică, continuând să citesc cărți tehnice și să le aplic în mod constant.

Cei care rămân în urmă pe partea asta sau nu ajung să acumuleze tehnic vor fi acei operatori care dau din umeri când ceva nu reușește AI-ului. Apoi trag din nou de manetă cu speranța că următoarea dată va merge cu succes.

Pe măsură ce AI-ul preia codul tactic și boilerplate-ul, valoarea reală se mută spre:

  • System design de nivel înalt – trade-off-uri pe termen lung, scalabilitate, costuri reale, legacy și constrângeri de business pe care AI-ul le ratează constant.
  • Înțelegere profundă a domeniului de business – vorbești limba clientului, vezi oportunități profitabile și transformi cerințe vagi în soluții care aduc bani.
  • Debugging în sisteme complexe / legacy – intri rapid în haosul de 1M+ LOC și găsești rădăcina problemei când AI-ul a generat 5× mai mult cod (și bug-uri ascunse).
  • Gândire security, performance, scalability – faci review și întărești ce AI-ul livrează naiv: rate limiting, caching, secrets, reliability sub presiune.
  • Comunicare + aliniere stakeholderi – explici trade-off-uri, negociezi deadline-uri, calmezi clientul furios și convingi managementul non-tehnic – AI-ul e mut aici.

4. Încearcă ceva pe cont propriu

Dar dacă tot am acum capacitatea să produc software de 2x mai repede, de ce să nu ofer toată această valoare unui public mai larg?

În final, îți spun cel mai radical gând care mă tentează și pe mine.

Având acum o capacitate mult mai mare de a crea, și în plus capabilități adiacente cum ar fi business, design, marketing, de ce nu aș încerca să produc eu ceva pe cont propriu?

În trecut, orice idee care îmi trecea prin cap, oricât de mică, lua potențial luni de zile să o implementez singur. Acum timpul ăsta se reduce dramatic.

Concluzie

Nu pot să prezic exact ce va fi peste un an. Dar îmi e destul de clar că dacă nu ne schimbăm modul de gândire, vom rămâne în urmă – asemenea celor care spărgeau melci pe coasta mării, fără să vadă că lumea se schimbase deja.

Similar Posts

Leave a Reply

Your email address will not be published. Required fields are marked *