Tuesday, December 22, 2020

Eduard BUDACU informatician al generației tinere



Eduard BUDACU a fost student la Secția Informatică Economică de la facultatea de Cibernetică, Statistică și Informatică Economică. După terminarea facultății l-am reîntâlnit pe Eduard BUDACU la o sală de fitness-culturism din Vitan. Am discutat despre necesitatea de a face sport și despre informatică. El a terminat un master și acum derulează un stagiu doctoral. Am păstrat legătura și iată că acum, după de am stabilit să facem un interviu, a venit momentul să aflăm unele elemente legate de activitatea lui Eduard BUDACU a informatician și nu numai. Întrebările mele au îăn față acronimul II de la Ion IVAN, iar răspunsurile lui Eduard BUDACU au în față acronimul EB.


II
:   Generația mea a fost cea a mecanografiei. A urmat generația mainframe. După ea au venit calculatoarele personale. Tu cărei generații de calculatoare aparții? 

EB:  Cred că cel mai bine ne definește faptul că suntem generația care a beneficiat de dezvoltarea internetului. În liceu am descoperit cum să comunic pe mIRC, Yahoo! Mail și mai apoi Yahoo Messenger. Tot atunci am realizat primele site-uri pe care le-am publicat pe web și ne-am construit profile online pe rețelele de socializare. Internetul a însemnat un nou mod de a accesa informația și de a învăța așa că aș spune că această tehnologie ne definește.

 II:   Ai simțit diferențe dintre generații de programatori chiar apropiate fiind? Care ar fi acestea? 

EB:  În meseria de programator am observat o constantă în învățarea continuă și adaptarea la tehnologii noi. Așa că nu pot spune că sunt diferențe majore între generații pentru că fiecare a reușit să contribuie la tranziția către noile paradigme. Limbajele de programare ale generației mele sunt mai flexibile și ne-au permis să experimentăm mai ușor. Dar asta s-a datorat inovației produse de cei care au pus bazele acestui domeniu. Acum se încurajează mult mai mult dezvoltarea iterativă, chiar și cu riscul de a greși. Cât timp nu sunt erori fatale, o nouă versiune de software este publicată rapid și ajunge aproape instantaneu la utilizatori. 

II:    Nu vreau să te descos eu despre studenție, căci tinerii văd altfel lucrurile. Cum se împacă școala cu jobul?

EB:  Imediat după primul an de facultate m-am angajat la o companie care dezvolta programe de gestiune pentru hoteluri, restaurante și cafenele. Picasem la taxă așa că aveam nevoie de bani ca să îmi plătesc studiile. Cei de acolo au apreciat faptul că aveam un portofoliu de proiecte pe care l-am realizat încă din ultimii ani de liceu. Despre materiile de la facultate din anul întâi nu am discutat foarte mult, dar a contat că aveam o referință. Jobul mi-a adus foarte multă satisfacție pentru că aveam libertatea de a alege tehnologiile și dezvoltam soluții care ajungeau să fie folosite în producție. Mi-a dat posibilitatea să înțeleg ce nevoi aveau proprietarii de restaurante, contabilii, ospătarii și să le transpun în produse software. Lucram pe probleme concrete și am simțit că este modul optim de a progresa. Din păcate nu pot să spun același lucru despre școală pentru acolo nu ai posibilitatea de a face alegeri. Materiile îți sunt servite și profesorii se așteaptă să studiezi anumite concepte doar pentru că fac parte din fișa disciplinei. Rar am întâlnit cursuri în care să fie încurajat dialogul, colaborarea și gândirea critică. Realizările cu care mă mândresc după licență și masterat sunt că am finalizat cu lucrări realizate în producție.

II:    Ai simțit diferențele dintre programarea clasică și programarea de ultimă oră?

EB: Așa cum spuneam mai devreme, în programarea de ultima oră este încurajată prototiparea rapidă. Programatorii au posibilitatea să își testeze mult mai des  ideile și să le valideze cu utilizatorii. Drept urmare s-a scurtat distanța dintre etapa de analiză și cea de programare. De multe ori rolul de analist și arhitect software se suprapune cu cel de programator în echipe multi-disciplinare. Așteptările de la un programator sunt să cunoască mai multe limbaje și paradigme de programare. Se pune mai mult accentul pe a satisface nevoile utilizatorilor în mod continuu, decât pe proiectarea unui sistem perfect din prima iterație. Aș mai pune accentul și pe necesitatea de a colabora cu oamenii de business. Tendința actuală este de a reliza soluții care nu pun în prim plan redactarea de cod, ci se bazează pe reutilizare, astfel încât problemele să fie rezolvate rapid.

II:    Ce înseamnă pentru tine cariera de programator?

EB:  Meseria de programator îmi permite să mă explim într-un mod creativ pe un domeniu care evoluează constant. Inițial am avut posibilitatea de a mă dezvolta pe verticală, aprofundând un set redus de tehnologii sau abilități tehnice pentru a deveni un bun specialist. Apoi am ales pentru carieră  să îmi dezvolt atât abilitățile tehnice, cât și cele de management, de colaborare și cele antreprenoriale. Am căpătat mai multe perspective ale ciclului de dezvoltare software și am urmărit să înțeleg domenii conexe. Posibilitățile sunt multiple pentru cei care vor să aleagă o carieră în programare. Industria de la noi a depășit mentalitatea în care menirea programatorului este de a scrie cod după dictare și are nevoie de oameni creativi.

II:    Știu că te-ai apropiat de tehnologiile AGILE. Explică, te rog!

EB:  Într-adevăr, a început să mă peocupe subiectul AGILE din 2013, când am preluat un rol de coordonare pentru câteva echipe din compania la care lucram. Am început prin a studia metode de documentare a specificațiilor de produs, tehnici de planificare și de estimare a proiectelor software și metode de colaborare. Mai apoi am participat la cursuri de formare în care ne-au fost explicate originile acestei abordări în sistemele de producție de la Toyota. Am aprofundat principiile din spatele metodelor de lucru și am descoperit cum sunt adaptate în dezvoltare software. Din toate aceste resurse am căutat să aplic rapid ce am învățat în echipele cu care lucram. În 2014 am finalizat lucrarea de dizertație în care am aprofundat aplicarea metodei Scrum pentru a livra o platforma de comerț B2B.

 II:    Acum câțiva ani era programare orientată obiect - OOP, analiză orientată obiect  - OOA, baze de date orientate obiect - OODB. Cu AGILE tot așa stau lucrurile ca nivel de cuprindere?

EB:  Printre autorii care au semnat manifestul Agile în 2001 sunt dezvoltatori ai metodelor pe care dumneavoastră le-ați enunțat. Ei nu au vrut să propună o metodă anume ci mai degrabă un set comun de princii și valori pe care le-au regăsit în practicile care au devenit populare pe parcursul anilor ’90. ÎAnaliza și programarea orientată obiect continuă să fie abordările cele mai populare. Există o diversitate mare de soluții pentru persistența datelor și organizarea lor în baze de date în funcție de nevoi specifice. Întorcându-mă la nivelul de cuprindere al Agile, principiile se referă mai degrabă la colaborare, relația cu clienții și o mentalitate de a livra soluțiile cât mai eficient posibil. Una dintre cele patru valori promovează flexibilitatea la schimbare ca alternativă la a urmări un plan strict. Excelența tehnică și îmbunătățirea continuă sunt de asemenea promovate. Orice cititor va găsi valorile și principiile Agile ca fiind de bun simț așa că îndrăznesc să spun că manifestul este și un intrument bun de marketing pentru cei care își promovează acest nou mod de lucru.

 II:    Fiecare tehnologie nouă vine cu avantaje. care sunt avantajele utilizării tehnologiilor AGILE?


EB:  În 2019 am publicat un studiu despre cum este implementat Agile de companiile de noi din tară așa că voi cita de acolo. Printre beneficiile raportate se numără: accelerarea ritmului de livrare, creșterea productivității, îmbunătățirea vizibilității asupra proiectelor și mai multă transparență asupra modului de lucru. De asemenea se mai observă optimizări de proces și un timp mai scurt de a ieși pe piață cu un nou produs. Faptul că echipele au mai multă autonomie duce la reducerea timpilor până la implementarea unei decizii și o performanță crescută.   

II:    Dar dezavantajele?

EB:  În continuare există probleme precum o documentare superficială, rezistentă la schimbare și roluri care nu sunt înțelese corect. Pentru a aplica metode agile trebuie să formezi echipe cu oameni experimentați și asta înseamnă costuri mai mari. Pentru o companie care are deja o structură organizațională clasică apare un cost de educare și de implementare a acestor metode. Există posibilitatea ca o metodă nouă de lucru să determine anumiți angajați să părăsească acea companie sau perioada de acomodare să determine scăderi de productivitate pe durată scurtă.

II:    Multă lume face teorie. Știu că tu ai și activitate practică în dezvoltarea de sisteme folosind tehnologii AGILE. Dezvoltă, te rog!

EB:  În primul rând mă gândesc la un sistem ca fiind compus din oameni și anumite principii sau reguli după care se ghidează. În sensul acesta cred că efortul cel mai mare a fost depus de cei cu care am colaborat, iar rolul meu a fost de ghid și participant activ în procesul de schimbare. Am două exemple de referință. Primul este al unei companii care vinde produse online în care am reușit tranziția la o formă de organizare care să permită scalarea echipei. Au crescut departamentul tehnic de la aproximativ 15 oameni la peste 70 câți sunt acum. Echipele pe care le-am format înglobau toate rolurile necesare pentru a livra o soluție cap coadă. Pentru asta a fost nevoie să integrăm roluri noi, dar și să regândim modul în care produsele software sunt publicate de echipe cross-funcționale. Au continuat să își îmbunătățească modul de lucru și după ce am finalizat colaborarea. Al doilea exemplu este un proiect pe care l-am avut într-o multinațională din domeniul telecomunicațiilor. Acolo a fost o inițiativă mai largă în cadrul diviziei de digitalizare din care am făcut parte. Echipele cu care am lucrat au reușit să livreze mult mai rapid o soluție minimală cu care să atragă clienți pe acest canal digital. Pentru că au existat mai multe etape de optimizare și livrabile după fiecare sprint în câteva luni au reușit să aducă un aport semnificativ în achiziția de clienți.

II:    Și tehnologia AGILE trebuie văzută ca un produs, cu ciclul de marketing în care inevitabil apare deprecierea și înlocuirea. Cum vezi acest ciclu? Care este durata ciclului de viață?

EB: Curând se vor face 20 de ani de când a fost publicat manifestul Agile și ceva mai mult de când cele mai populare metode au fost prezentate. Există un moment în care companiile cele mai tradiționale încep să adopte tehnologia și atunci apare oportunitatea de a veni cu ceva nou. Cei care sunt pionieri încep să caute metode noi care să răspundă la posibilitatea de a lucra de oriunde din lume și de a folosi instrumentele de comunicare ca să formeze echipe virtuale. Nevoia de organizare va fi mereu prezentă, dar anumite principii pot părea limitative precum cel care spune că cea mai eficintă metodă de comunicare este față în față. Mă aștept ca în urmatoarea perioadă să apară metode mai bune care să provoace un nou mod de gândire.

II:    Este o tehnologie unică sau există și variante?

EB:  Fiecare companie își personalizează abordarea, deci nu cred că e o rețetă standard.

 II:   Produsele software dezvoltate sub această tehnologie sunt integrabile în produse deja existente?

EB:  Uneori sunt limitări tehnice care nu permit ca integrarea unui alt produs să se facă foarte ușor. Dacă o companie nu își permite să rescrie părți din produsele existente acest lucru reprezintă un impediment. În acest caz sunt propuse arhitecturi care să fie decuplabile și servicii care să acționeze ca o punte între sistemele vechi și cele noi. Mentenanța unui sistem moștenit este adesea o mare provocare pentru orice programator. Totuși din sistemele vechi mereu am avut câte ceva de învățat și am căutat să îmi asum acel cod ca și cum ar fi fost scris de mine. În final pentru client este important rezultatul.

 II:    Să lăsăm tehnologiile AGILE și să discutăm și despre altceva. Să discutăm despre sport, căci la o sală de fitness-culturism ne-am reîntâlnit după ce ai terminat facultatea. De ce sport?

EB:  La sala de fitness din Vitan am început să merg împreună cu un grup de prieteni de la muncă. Era foarte aproape de birou și de zona în care locuiam. Ca să fac o paralelă cu programarea, conștientizasem că trebuie să întrețin și partea hardware pentru că activitatea mea era destul de sedentară. Mi-am cumparat o bicicletă colorată, am mers la bazinul de înnot și mai apoi la sala de forță unde ne-am reîntâlnit. În acea perioadă lucram destul de mult și am căutat metode prin care să mă relaxez.

II:    Ce obiective ți-ai propus să atingi mergând la sală?


EB
:  În primul rând mi-am propus să îmi fac o rutină săptămâmanală pentru activitatea fizică. Fiind novice mi-am dorit să mă familiarizez cu aparatele și să învăț să execut exercițiile corect. Cel mai importat pentru mine este să mă mențin în formă.

II:    Este o legătură între sport și activitatea de programare?

EB:  Cunosc din ce în ce mai mulți programatori care practică diverse sporturi. Din experiența mea am descoperit că sportul te determină să fii consecvent și te ajută să te concentrezi mai bine pe momentul prezent. De aceste trăsături ai nevoie și în programare.

II:   Ce exerciții îți plac cel mai mult? 

EB: Exercițiile pentru partea superioară a corpului sunt preferatele mele pentru că îmi îmbunătățesc postura. De asemenea îmi plac cele pentru brațe care implică folosirea de greutăți. Pentru picioare mă rezum la alergări ușoare pe bandă sau bicicletă.

II:    Cum te-ai familiarizat cu aparatele de la sală?

EB:  Am început să lucrez cu greutăți mici pentru a învăța modul de lucru pentru fiecare aparat. Apoi am crescut treptat greutatea la fiecare repetare până la limita în care mă simțeam confortabil să execut exercițiile. Între repetări m-am asigurat că fac o mici pauze fără să țin prea mult aparatul ocupat. De real ajutor au fost explicațiile și videoclipurile pe care le-am urmărit pe site-ul bodybuilding.com, dar și sugestiile pe care le-am primit de la alte persoane cu experiență.

II:   Duce spre un echilibru activitatea sportivă? 

 EB:  Cu siguranță aduce un echilibru.

II:    Să vorbim puțin despre joburile pe care le-ai avut.

EB:  Primele joburi le-am avut încă din liceu pe perioada vacanței. Am lucrat ucenic într-un service auto, apoi într-o tipografie și în anul terminal am făcut un site web de imobiliare pentru un client. După primul an de facultate m-am angajat la o firmă care dezvoltă produse software pentru restaurante și hoteluri. Am avut destul de multă flexibilitare să construiesc produse de la zero pe care le instalam și le configuram la clienți. În total am lucrat 3 ani la acea firmă și după ce am terminat facultatea m-am orientat către o companie mai mare. Așa am ajuns la Zitec mi-am construit cariera pe o perioadă de 5 ani de la programator până la un rol de conducere în cadrul companiei. A fost ca o școală de programare pentru că am avut în jurul meu oameni bine pregătiți de la care să învăț și oportunitatea de a lucra pe proiecte complexe. Din 2015 m-am dedicat DOvelopers, un proiect personal care s-a transformat într-un business de consultanță în IT.

II:    Acum lucrezi pe cont propriu și din punctul meu de vedere este un lucru excepțional. Ce diferență este între a fi salariatul cuiva și a propriul salariat?

EB:  Este o provocare mult mai mare să mă asigur că am clienți și un flux de venituri care acoperă perioadele în care nu am proiecte. Am fondat compania alături de Cristina Pană și împreună ne-am asumat acest parcurs antreprenorial. Deși depunem mai mult efort pentru a găsi clienți și proiecte din ce în ce mai complexe, satisfacția de a fi propriul angajat e mult mai mare.

II:    Ce înseamnă să fii liber? Ce riscuri apar?

EB:  Am câștigat în primul rând mai mult timp pe care am decis să îl investesc în continuarea studiului. Un alt beneficiu este că am o flexibilitate mai mare când îmi aleg proiectele și mă împlic în cele care îmi aduc o satisfacție mai mare. Sunt riscurile normale de a nu a avea clienți o perioadă de timp. De asemena a fost nevoie să descopăr cum să gestionez o afacere în relația cu statul, plata taxelor la timp și toată partea birocratică.

II:    Lucrezi pe proiecte? Ai lucrări? Ai clienți? Ce înseamnă grad de satisfacție a clienților?

EB:  Proiectele pe care le desfășor au o durată de 3 până la 6 luni în care sunt dedicat pentru acel client. Încep prin înțelegerea strategiei de afacere și o translatez  în obiective specifice. Apoi urmăresc acele obiective și așa mă asigur că prestația mea satisface nevoia clientului. Fiind mai multe persoane implicate încerc să obțin un echilibru între obiectivele companiei și cele ale fiecărui individ din echipă. În fond este un parcurs dă învățare pentru fiecare și am avut parte de clienți care au înțeles acest aspect.

II:    Acum derulezi un stagiu doctoral. Îmbini munca de cercetare cu munca ta de zi cu zi?

EB: Tema pe care am ales-o pentru doctorat se inersectează cu munca de zi cu zi pentru că studiez dezvoltarea software folosind metode agile. Studiul pe care îl fac are astfel o componentă practică unde îmi validez rezultatele. Sunt totuși asteptări diferite precum publicarea care nu se potrivesc în totalitate. Cred că principiile din cercetarea ștințifică sunt transferabile către partea practică și disciplina pe care mi-o dă stagiul de doctorat mă ajută în obiectivele profesionale. Pe lângă asta stagiul de doctorat implică să predau câteva la câteva discipline și asta mă ține la curent cu tehnologiile actuale. 

 II:    Doctoratul înseamnă să cercetezi, să publici. Cum reușeșți să le faci pe toate, căci proiectele sunt proiecte, clienții sunt clienți și doctoratul are exigențele lui?

EB:  Cercetarea îmi oferă o deschidere către surse noi de documentare. La început a fost mai dificil pentru că nu eram obișnuit să documentez ce fac pentru publicare. Dar în timp scrisul m-a ajutat să dobândesc mai multă claritate în gândire și să mă exprim creativ. E mult mai dificil când îți sunt impuse temele indiferent de mediul de lucru. Consider că sunt norocos că munca din proiecte și cercetare există o intersecțiie, iar subiectul pe care l-am ales mă pasionează. Așa că am început să fiu mai atent la cum îmi gestionez energia și să găsesc timp pentru activitățile de cercetare.

II:    Acum trebuie să mergi la conferințe să prezinți rezultate ale cercetărilor. Cât de dificil este?

EB:  Emoțiile sunt normale atunci când te preziți în fața unui colectiv cu studiul pe care îl faci. M-am temut să nu fie suficient de bine documentat sau să mă încurc atunci când prezint rezultatele. În timp am căpătat mai multă încredere în mine și am văzut aceleași provocări înclusiv cei cu mai multă experiență.

II:    Ce ai simțit când ți-ai văzut numele publicat într-un articol pentru prima dată?

EB:  Am avut un sentiment de împlinire că am reușit să duc la capăt un obiectiv care mi se părea greu de atins. Pentru primul articol am cules date pe o perioadă de mai bine de un an și m-am documentat riguros. Aveam impresia ca nu o sa-l mai termin așa că a fost foarte valoros feedback-ul de la conducătorul de doctorat.

II:    Ce înseamnă să fii exigent cu tine însuți în munca de cercetare și ca programator?


EB:  Sunt exigent cu mine în sensul că îmi propun obiective gradual și caut să mă îmbunătățesc constant. Dar atât în activitatea de cercetare, cât și în programare las loc pentru greșeli cât timp am ceva de învățat. Am găsit un citat de Piet Hein pe care în păstrez îm limba engleză care mi se potrivește: “The road to wisdom? Well it’s plain and simple to express: err and err and err again but less and less and less”. Cred că exigeța vine și din disponibilitatea de a continua să încerci chiar dacă ceva nu îți iese din prima 

II:    Cum este să lucrezi în echipă?

EB:  Prețuiesc lucrul în echipă pentru că în programare ideile se combină și am posibilitatea de a învăța din experiența fiecărui membru. Chiar dacă apar dezbateri și unele probleme necesită discuții mai lungi rezultatul produs de o echipă este superior de cel produs individual.

II:    Pandemia ne-a dat pe toți peste cap. Pentru tine ce a însemnat?

EB:  La fel ca majoritatea persoanelor a însemat să mă adaptez la restricții în pe trimpul stării de urgență. La început am urmărit foarte mult știrile pentru a înțelege ce se întâmplă. Pe măsură ce s-au anunțat mai multe restricții am avut o stare de îngrijorare care a echivalat cu primele săptămâni. Munca și activitatea didactică s-au mutat online și a fost nevoie să mă pregătesc, să-mi organizez biroul acasă și să fac câteva achiziții necesare pentru a lucra de la distanță.  

 II:    Ai amânat lucruri sau ai adaptat abordările?

EB:  În proiectele pe care lucrez și în activitatea didactică lucrurile au continuat de la distanță. Pe timpul stării de urgență chiar am reușit să obținem un proiect nou care mi-a dat un plus de optimism.

II:    Concret, ce a însemnat adaptarea la noua situație?

EB:  Am mai avut experiență de a lucra la distanță, așa că meseria m-a pregătit cât de cât. Pandemia a venit cu un volum foarte mare de activități online și pentru a fost nevoie să înțeleg cum să îmi gestionez energia în acest context. Inițial am subestimat cât efort este necesat pentru a preda online sau pentru a participa la atât de multe ședințe pe Zoom.   

II:    Crezi că vom depăși aceste restricții?

EB:  Cred că va mai dura o bună perioadă de timp în care avem parte de limitări. Dar sunt optimist că se vor găsi soluții și o să ne desfășurăm viața normal.

II:    Cum îl vezi pe Eduard BUDACU peste 5 ani?

EB:  Mă văd în continuare tânăr informatician așa cum m-ați prezentat dumeneavoastră pentru că este un domeniu la care mă simt ca la început. Îmi doresc să îmbin partea de cercetare cu cea de dezvoltare software pentru a crea produse. Privesc cu deschidere și curiozitate cum mă va ghida cariera pentru că mereu am o doză de neprevăzut.

II:    Dar peste 10 ani?

EB:  Pare o perioadă lungă, dar sper să fiu o versiune actualizată a mea.

Îi mulțumesc lui Eduard BUDACU pentru că a acceptat să purtăm acest dialog și sunt sigur că cei care doresc să facă programare acum începând cu acest an 2020 vor avea suficiente elemente care să le permită planificarea carierei.


(03 august 2020)


No comments:

Post a Comment