Ce am învățat conducând o echipă de ingineri la Oracle
Patru ani la conducerea unei echipe distribuite pe sisteme clinice — ce s-a schimbat de fapt, ce am greșit la început și ce obiceiuri au supraviețuit trecerii.
Patru ani la conducerea unei echipe distribuite pe sisteme clinice — ce s-a schimbat de fapt, ce am greșit la început și ce obiceiuri au supraviețuit trecerii.
Am petrecut patru ani ca team lead la Oracle Global Services, într-o echipă împărțită între România și Kansas City, pe sisteme clinice. Peste douăzeci de milestone-uri, o diferență de opt ore și un domeniu în care o greșeală are consecințe dincolo de un rollback.
Nu e un manifest de management. Sunt cele câteva lucruri pe care mi le-aș spune mie la început, scrise pentru inginerii care se gândesc la aceeași trecere — și pentru cei care vor să înțeleagă ce face de fapt lead-ul lor toată ziua.
Varianta onestă: rezultatul tău încetează să fie cod și devine capacitatea altora de a produce cod. Sună a afiș motivațional. Are însă o consecință foarte concretă — dispare bucla de feedback care îți spunea dacă te descurci.
Ca inginer, știi joi dacă munca de luni a fost bună. Ca lead, semnalul vine în săptămâni și e zgomotos. Primul meu instinct a fost să continui să scriu cod, pentru că acolo încă puteam simți că sunt util. Instinctul e de înțeles și e o capcană: echipa aștepta decizii pe care eram prea ocupat ca să le iau.
| Înainte | După |
|---|---|
| Rezolvi tu cea mai grea problemă | Te asiguri că cea mai grea problemă e rezolvată de omul potrivit |
| Îți cunoști în profunzime partea ta de sistem | Știi unde sunt cusăturile și cine ce știe |
| Îți optimizezi propriul debit | Optimizezi ca echipa să nu fie blocată |
| Feedback în zile | Feedback în săptămâni, indirect |
| Scopul e să ai dreptate | Să ai dreptate și să fii singur e un eșec |
Ultimul rând mi-a luat cel mai mult.
Nu complet și nu din motivul invocat de obicei.
Argumentul pe care îl auzi e „rămâi tehnic ca să-ți păstrezi credibilitatea“. E real, dar secundar. Motivul mai bun e că, dacă nu mai atingi codul, estimările ți se degradează tăcut — începi să crezi propriul model mental despre o bază de cod pe care n-ai mai deschis-o de un an și angajezi echipa la termene bazate pe el.
Ce a funcționat la mine: rămâi în cod, dar alege muncă întreruptibilă și în afara drumului critic. Tooling, build, infrastructură de teste, migrarea pentru care n-are nimeni timp. Niciodată funcționalitatea de care depinde milestone-ul. În clipa în care task-ul tău e pe drumul critic, fiecare întrerupere devine un cost care te enervează — iar un lead pe care îl enervează întreruperile a încetat să-și facă meseria.
Opt ore între Brașov și Kansas City înseamnă cam două ore de suprapunere într-o zi bună. Toată lumea știe că asta costă comunicare. Mai puțin evident e care dintre costuri pot fi evitate.
Eșecul scump nu e întârzierea — e o întrebare care primește răspuns în 24 de ore. O singură întrebare blocantă pusă la ora greșită costă o zi întreagă, iar trei dintr-astea într-un sprint înseamnă un milestone ratat care arată ca o eroare de estimare.
Ce am schimbat:
Review-ul e locul unde un lead are cea mai mare pârghie și face cel mai mult rău.
Două greșeli pe care le-am făcut. Prima: am făcut review la tot, ceea ce m-a transformat într-o coadă și a învățat echipa că respectarea calității e treaba mea, nu a lor. A doua, corectând-o pe prima: n-am mai făcut review la nimic, ceea ce a lăsat standardele să derive în patru direcții simultan.
Unde am ajuns:
Instinctul de mentorat pe care ți-l formează asta se transferă bine și în afara serviciului, de altfel — am regăsit exact același tipar în voluntariatul cu copiii care învață să programeze la CoderDojo Brașov. „De ce“ scalează; „ce“ nu.
Cel mai util lucru pe care l-am învățat despre estimări e că cea mai mare parte a erorii nu stă în estimare.
Echipele nu greșesc de obicei cât durează munca. Greșesc cât de multă altă muncă va apărea, cât vor sta review-urile la coadă, câte dependențe se vor mișca. Timpul de inginerie e estimat rezonabil; tot ce e în jurul lui e estimat la zero.
Două practici au făcut mai mult decât orice tehnică de estimare:
Sistemele clinice vin cu suprasarcină de proces: trasabilitate, schimbări controlate, verificare documentată. E ușor să citești asta ca frecare pură și o parte chiar este.
Dar obiceiul de fond se generalizează mai departe decât mă așteptam: ți se cere, de rutină, să explici de ce crezi că ceva funcționează. Nu să afirmi — să arăți raționamentul și dovezile.
E un obicei bun oriunde. Face design review-urile mai ascuțite, face comentariile de cod concrete și e diferența dintre „am testat“ și „uite ce am testat și ce am ales deliberat să nu testez“. L-am dus mai departe în propriile produse, unde nu mi-l cere nimeni, pentru că se dovedește a fi exact modul în care eviți să livrezi ceva despre care doar speri că merge.
Decide și spune ce te-ar face să te răzgândești.
Cel mai dăunător lucru pe care l-am făcut în primul an a fost să amân decizii în numele consensului. O echipă blocată pe o decizie nu-ți percepe prudența ca pe chibzuință; o percepe ca ambiguitate și umple golul cu patru presupuneri diferite.
O decizie care se dovedește greșită e recuperabilă — de obicei ieftin, de obicei în același sprint. Patru oameni lăsați să ghicească două săptămâni nu sunt. Decide, scrie raționamentul și numește explicit ce dovadă te-ar face să te întorci. Ultima clauză e cea care face compatibilă decizia rapidă cu greșeala ocazională.
Dacă treci într-un rol de lead și vrei să discuți cu cineva care a făcut deja greșelile evidente, o fac cu plăcere.
Oracle Global Services
Engineering Team Lead & Senior Software Engineer
oct. 2021 – nov. 2025
Dacă lucrezi la ceva din zona asta, hai să vorbim 30 de minute.
Programează o discuție