Dacă ai ajuns pe site-ul ăsta, probabil ai observat numele. Creative Coding. Nu „Gutui Engineering Consulting." Nu „CG Tech Solutions." Nu vreunul dintre numele sigure, cu sonoritate corporatistă, pe care le-ar sugera o agenție de branding.
Creative Coding. Două cuvinte care m-au însoțit de-a lungul a paisprezece ani, de la o mică firmă de web development din București până la un rol de leadership tehnic într-o companie europeană de tehnologie. Și chiar dacă ceea ce fac s-a schimbat radical, numele tot se potrivește, poate mai mult acum ca niciodată.
Lasă-mă să explic de ce.
Povestea originii e simplă
Am înregistrat creative-coding.ro în 2011 când mi-am deschis prima companie. Aveam puțin peste douăzeci de ani, construiam site-uri pentru firme mici și aveam nevoie de un nume. Nu m-am gândit prea mult. Am ales două cuvinte care descriau ce credeam: că a scrie cod este un act creativ.
La acel moment, era aproape o poziție împotriva curentului. Programarea era văzută pe scară largă ca o disciplină pur logică: o traducere mecanică a cerințelor în instrucțiuni. Primești un spec, scrii codul, dai deploy. Creativitatea era pentru designeri. Inginerii doar construiau ce li se cerea.
N-am crezut niciodată asta. Chiar și în zilele acelea timpurii, construind site-uri WordPress și platforme de e-commerce custom, problemele interesante nu erau niciodată despre sintaxă. Erau despre găsirea de soluții elegante sub constrângeri. Despre proiectarea de sisteme suficient de simple ca să le întreții, dar suficient de flexibile ca să crească. Despre luarea de decizii când spec-ul era ambiguu, bugetul era strâns și răspunsul „corect" nu era evident.
Asta, pentru mine, era muncă creativă. Doar că producea cod.
Ce înseamnă Creative Coding acum
Paisprezece ani mai târziu, conduc echipe de engineering. Nu mai scriu cod de producție în fiecare zi. Ce livrez sunt structuri de echipă, procese de livrare, decizii de arhitectură și strategii de recrutare, nu pull request-uri.
Și totuși, filosofia nu s-a schimbat. Ba mai mult, a devenit și mai centrală.
Creative Coding e un mod de a gândi problemele de engineering. E convingerea că cele mai bune soluții nu vin din urmărirea unui manual, vin de la oameni care înțeleg problema suficient de adânc încât să vadă opțiuni pe care manualul nu le acoperă.
Iată cum arată asta în practică:
Când construiesc echipe, Creative Coding înseamnă să recrutez pentru curiozitate și judecată, nu doar pentru abilitate tehnică. Cei mai buni ingineri software cu care am lucrat nu sunt cei cu cele mai impresionante CV-uri. Sunt cei care întreabă „dar de ce?" o dată în plus față de toți ceilalți, care pun la îndoială presupunerea din spatele task-ului înainte de a scrie o linie de cod.
Când iau decizii de arhitectură, Creative Coding înseamnă să rezist tentației de a apela la framework-ul popular înainte de a înțelege constrângerea reală. Uneori cea mai creativă soluție e cea mai simplă. Uneori e cea pe care nimeni n-a sugerat-o, pentru că presupune regândirea completă a problemei.
Când modelez procesele de livrare, Creative Coding înseamnă să recunosc că procesul e o unealtă, nu o religie. Cel mai bun proces e cel pe care echipa chiar îl urmează pentru că le face munca mai bună, nu cel care arată impresionant într-un slide deck. Asta cere creativitate: să observi ce se întâmplă cu adevărat, să diagnostichezi ce e cu adevărat stricat și să proiectezi ceva care se potrivește acestei echipe în acest context.
Când fac mentorat, Creative Coding înseamnă să-i înveți pe oameni să gândească, nu doar să execute. Înseamnă să ajuți pe cineva să-și dezvolte propria judecată de engineering în loc să-l faci dependent de a ta. Înseamnă să pui întrebări care le deschid gândirea în loc să dai răspunsuri care o închid.
De ce nu e doar despre cod
Cuvântul „coding" din Creative Coding e din ce în ce mai metaforic, și n-are nimic rău în asta.
Ideea de bază nu a fost niciodată cu adevărat despre cod în sine. A fost despre abordare. Despre respingerea viziunii de bandă de montaj asupra engineering-ului, unde cerințele intră pe un capăt și software-ul iese pe celălalt, fără ca cineva din mijloc să fi fost nevoit să gândească creativ.
Fiecare decizie de engineering semnificativă presupune creativitate:
- Să decizi ce construiești și ce nu construiești
- Să proiectezi un sistem care echilibrează deadline-ul de azi cu scala de anul viitor
- Să structurezi o echipă astfel încât oamenii să poată da tot ce au mai bun
- Să comunici un compromis tehnic unui stakeholder non-tehnic într-un mod care duce la o decizie bună
- Să găsești o cale de a livra valoare când timeline-ul e strâns, scope-ul e neclar și echipa e întinsă la maximum
Niciuna din astea nu are o soluție deterministă. Toate cer judecată, gândire laterală și disponibilitatea de a lua în calcul că abordarea evidentă s-ar putea să nu fie cea mai bună.
Asta e Creative Coding.
Puntea dintre vechi și nou
Site-ul ăsta era cândva un portofoliu. Arăta capturi de ecran ale site-urilor pe care le construisem pentru firme mici: clinici dentare, agenții imobiliare, companii de curățenie. Spunea „noi" deși eram în mare parte eu. Lista servicii precum „Dezvoltare Web" și „Integrări Cloud" și „Consultanță Tehnică."
Acea versiune a creative-coding.ro și-a îndeplinit scopul. Reprezenta un capitol legitim al carierei mele, unul în care am învățat pe viu ce înseamnă să conduci o afacere, să coordonezi o echipă și să livrezi pentru clienți sub constrângeri reale.
Dar nu mai reprezintă cine sunt.
Astăzi, Creative Coding e mai puțin despre site-urile pe care le construiesc și mai mult despre echipele pe care le construiesc. Mai puțin despre arhitectura unei singure aplicații și mai mult despre arhitectura unei organizații de engineering. Mai puțin despre a scrie cod deștept și mai mult despre a crea medii în care oameni deștepți pot da tot ce au mai bun.
Numele rămâne pentru că filosofia rămâne. Engineering-ul este o disciplină creativă. Cele mai bune soluții vin de la oameni care gândesc dincolo de task. Iar rolul unui lider este să protejeze și să hrănească acea gândire creativă, nu s-o elimine prin procese.
La final, totul devine unu și zero
Există o tensiune frumoasă la baza Creative Coding. Oricât de creativă ar fi gândirea, oricât de elegantă arhitectura, oricât de inspirată soluția, totul se compilează în unu și zero. Binar. On și off. Cel mai determinist lucru din univers.
Și totuși, drumul de la problemă la acele unu și zero e orice altceva decât determinist. E dezordonat, uman, plin de judecăți de moment și compromisuri și momente în care cineva trebuie să se uite la o situație ambiguă și să decidă: „ăsta e drumul."
Acel spațiu dintre problema umană și output-ul binar, acolo trăiește Creative Coding. Acolo e meșteșugul. Acolo mi-am petrecut întreaga carieră și acolo am de gând să rămân.
Acesta e manifestul, dacă vrei să-l numești așa. Nu o declarație de misiune redactată de un comitet, doar o relatare sinceră a de ce fac ce fac în modul în care o fac. Dacă rezonează cu tine, mi-ar plăcea să aud de la tine.