Cerințe software

În studenție fugeam de scris proiecte și documentație ca dracu de tămâie. Îmi plăcea să scriu cod și doar asta aș fi făcut toată ziua dacă mă lăsai la calculator cu o sticlă de cola și un pachet de Lucky Strike. Mai plecam de la birou seara târziu când terminam inclusiv chiștoacele.

Nici pentru produsele la care lucram nu aveam acest bun obicei de a documenta. Motiv pentru care ajungeam în neplăcuta situație de a fi singurul care știa ce e am făcut acolo și trebuia să mă plimb de la client la client să rezolv până și cele mai mici probleme de configurare.

Noroc că m-am mai deșteptat prin 2010 și în primul rând m-am lăsat de fumat. Am schimbat jobul și am ajuns la Zitec unde lucrurile nu se mai făceau pe genunchi. Așa că am început să mă pun și eu le punct cu lucrurile pe care ar fi trebuit să le stăpânesc deja mai bine.

Unul din obiectivele mele de dezvoltare a fost să îmi îmbunătățesc abilitatea de comunicare în scris. În special când vine vorba de cerințe software, dar și articole tehnice sau alte forme de documentare. Așa a ajuns în lista mea de citit cartea Software Requirements: Practical Techniques for Gathering and Managing Requirements Throughout the Product Development Cycle.

Este genul de carte cu care cu siguranță poți să rănești pe cineva, fie că îl pui să o citească sau o folosești ca să aplici o lovitură la cap.

În orice caz, merită măcar răsforită pentru că mai reduce așteptările că software-ul se scrie singur pe vorbe și dacă se poate peste noapte. Fiecare propoziție scrisă te aduce mai aproape de un rezultat, decât o discuție care nu se ma termină.

Ce am învățat la Zitec?

M-am format ca profesionist în dezvoltare software la Zitec.

Interviul l-am avut în martie 2010. Pe atunci sediul se afla pe Strada Binelui.

Urmăream compania de ceva vreme, am văzut că au o echipă strong și un portofoliu bogat de clienți. Veneam cu o experiență de 2 ani și jumătate la, Pit Software unde dezvoltam soluții pentru Ho.Re.Ca și cu un portofoliu de siteuri web dezvoltate ca freelancer.

Știam că așteptările sunt mari așa că am venit cu emoții, dar și cu încredere că voi reuși. După primul interviu am primit acest mesaj.

Pe 17 Mai 2010 a fost prima zi de muncă.

La Zitec am învățat meserie

1) Bune practici

Când am ajuns la Zitec primul lucru pe care l-am descoperit a fost celebrul wiZki și regulamentul de ordine interioară.

Lucrurile se desfășurau cu o precizie incredibilă pentru mine care veneam dintr-un mediu în care prin comparație ai fi l-ai fi putut cataloga drept haos. Înainte lucram cu vreo 30 de clienți care mă sunau la ore târzii, aveam o grămadă de versiuni la care cu greu le mai dădeam de cap. De aceea mediul de lucru din Zitec m-a fascinat.

Am răsfoit wiZki-ul pe toate părțile, am citit sute de tichete din istoricul de proiect, m-am familiarizat cu sisteme de versionare și cu un ciclu de lucru pe sprinturi. Îmi plăcea ca aveam un feedback constant prin diverși metrici și că aveam ocazia să colaborez pe proiect. Lunar se realizau întâlniri de prezentare a proiectelor și cu ocazia asta aflam o grămadă de lucruri noi.

În primul am am stat pe un proiect considerat destul de învechit de care mulți se fereau. Pentru mine era o adevărată experiență. Îmi făcusem un sistem cu care urmăream branch-urile pe care lucram și mi-am propus să am cât mai puține tichete întoarse. Priveam totul ca pe un joc. Faptul că aveam o serie de metrici bine definiți mă ajuta să îmi auto-evaluez munca și progresul.

2) Dezvoltare continuă

Până să ajung la Zitec aveam un stil de învățare reactiv. Adică mă preocupam să găsesc soluții atunci când aparea o problemă. Prindeam foarte repede conceptele din practică, dar de multe ori se întâmpla să re-inventez roata.

Lucrând alături de oameni care aveau o înclinație către dezvoltarea continuă am început să mă preocup la rândul meu de studiu. Se promova dezvoltarea individuală mai ales în timpul liber pentru că lucrul pe proiecte permitea rar să găsești timp pentru învățare. Aveam acces la anumite facilități precum certificări plătite de firma și la o bibliotecă de cărți din domeniu.

În 2010 început să mă familiarizez cu Zend Framework. În 2011 mi-am luat certificarea Zend de PHP și în 2012 cea de MySQL Developer. Am organizat un grup de studiu împreună cu 3 prieteni în care realizam prezentări despre design patterns.

Primul plan de dezvoltare l-am făcut în iulie 2012 după un model prezentat de HR.

plan-dezvoltare-individuala

Surpriza a fost ca ritmul de creștere să fie mult mai accelerat decât mi-am imaginat. În 2013 Alex mi-a popus să coordonez departamentul de dezvoltare custom și să mă alătur echipei de conducere ZiBord.

3) Eficiență

Modul standardizat de lucru și bunele practici urmăreau un obiectiv foarte precis: eficiența în tot ce ne propuneam să realizăm.

Încadrarea în estimare și utilizarea eficientă a timpului reprezentau două din elementele importante pe care le urmăream. În fiecare zi completam un raport de activitate în care detaliam la ce am lucrat în ziua respectivă. Toate cele opt ore de lucru trebuiau să se regăsească în acel raport.

Aveam chiar o procedură care îți oprea accesul la internet și te băga în pădure dacă nu aveai completat raportul pe ultimele 5 zile. Pădurea era Subiect de bășcălie și caterincă în echipă. Într-un teambuilding la munte ne-am propus să simulăm “cronul” care rula de fiecare dată la 5 dimineața, să trezim un coleg și să-l ducem în pădure.

padurea

Așa am învățat să lucrez eficient, să descompun problema în sub-probleme și să mă preocup de a livra calitate într-un timp cât mai scurt cu putință.

Faptul că foloseam un tool de project management intern și un aveam un ritm de lucru bazat pe sprinturi asigura predictibilitatea procesului. Nu tot timpul ne ieșea așa cum am planificat, dar de fiecare dată estimările erau asumate și făceam tot posibilul să ne încadrăm în termenele promise clientului.

4) Lucru în echipă

Până să ajung la Zitec nu știam ce înseamnă să lucrezi în echipă. Colaboram foarte bine cu clienții și colegii de la PitSoftware, dar când era vorba de programare eram un lup singuratic pentru că eram singurul dezvoltator pe tehnologii web.

5) Fun

biroul

promovare

promovare-2

motivation-eduard-budacu

alocari

10856487_10155566728547355_3012018659569073022_o

10039_10151741843172355_279136265_n

38371_410946952354_5724965_n

53718_10152425050342355_312441536_o

177014_10151313689467355_1435074888_o

218854_10150192218602355_8295389_o

218928_10150192216322355_3324052_o

227959_10150192219862355_5237612_n

292927_10151086237017355_1594000671_n

310238_10150407533252355_1560791542_n

409695_10151086237227355_705608237_n

553047_10151741842882355_64659487_n

617117_10151313689282355_2090628952_o

856740_10151574374247355_1541432197_o

860278_10151541298002355_1261134545_o

892137_10152425048442355_2078253303_o

1274862_10152239907752355_567442388_o

1397589_10152608426367355_294684758_o

1400361_10152425050407355_1803429857_o

1403090_10152799212257355_903548731_o

1978441_10154267090137355_426061216652575086_o

10273401_10154781007252355_933406862848140098_o

10394501_10155166349582355_5433872158540030981_n

10484150_10155482220242355_1885158751635204080_o

Cum se formează decari?

La fel ca Gică Hagi mi-am propus să ajung să formez Decari și după prima experiență de a preda am aflat cât de greu este. Dintre cei 76 de studenți alături de care am colaborat în laboratorul de Tehnologii Web 6 au obținut rezultatul maxim la proiect. Deci cu unul mai mult decât mestrul Gică. El spune ca are 5 decari in acest interviu.

Am muncit cu drag, am investit multă energie și pasiune, dar este important să mă uit la rezultate. O distribuție normală. Natura și-a făcut datoria.

Cel mai mare pericol este să ne învățăm cu “lungă și pe a doua”. Să credem că meseria se învață cu două-trei tutoriale rezolvate înainte de interviu sau de examen. E nevoie de multă energie investită. Altfel ne vom ruga împreună la Sfântul Cinci.

Eu am fost un student de nota 6.33 în facultate. Dar am avut două mari ambiții:

  • la Algoritmi de programare mi-am propus să iau nota 11 și am reușit
  • la Structuri de date mi-am propus să trec examenul chiar dacă nu am trimis temele.

Cu doi dintre cei 6 am vorbit mai mult. I-am remarcat pe parcursul semestrului fiind foarte activi și dornici să evolueze. Mai apoi am aflat că au terminat licee de profil uman. Că au avut dorința să treacă peste ceea ce considerau limitări.

Discuțiile mi-au adus aminte de efortul pe care l-am depus să termin facultatea în condițiile în care lucram full time. La cele două materii mi-am dorit să iau nota maximă pentru că știam foarte bine ceea ce mă definește.

In final, a fi Decar nu e despre nota. Un Decar posedă pe lângă inteligență o serie de trăsături de caracter ce îl definesc. Perseverența, curiozitate, conștiiciozitatea, optimismul și autocontrolul sunt câteva din trăsăturile necesare pentru a avea succes.

Îmi voi arăta mereu disponibilitea de a sprijini pe cei ce își doresc să se auto-depășească. Eu urăsc învățatul cu trebuie. Deci dacă aveți idei sau răspunsuri pentru întrebarea “Cum se formează decari?” vă rog să îmi trimiteți.

Abilitatea de a rezolva probleme ne-structurate

Cum abordezi rezolvarea unei probleme ne-structurate? Am pornit cu această idee citind articolul [1].

Una dintre cele mai des discutate probleme în echipele cu care lucrez este lipsa clarității în cerințe. De cele mai multe ori așteptările echipei presupun că cineva își va asuma rolul de a structura problema și eventual de a defini soluția.

De aici apariția rolului de Product Owner, Product Manager, Business Analyst sau cum îi mai spune prin diverse metodologii. Un rol necesar, dar insuficient atunci când în echipă nu sunt dezvoltate abilitățile fiecărui individ de structura problemele.

Câteva metode de a structura o problema pe care le-am folosit cu succes

  • Cauze, Soluții, Prevenție
  • User Stories
  • Diagrame de proces
  • Diagrame de interacțiune
  • MindMaps
  • Why, What, How

Când urmăresc să structurez o problemă mă concentrez mai degrabă pe proces decât pe rezultat.

Should I become a data scientist (or a business analyst)?

Viitorul Informaticii în România

Informatica din România este o doamnă cochetă. Se apropie de 60 de ani. Își menține tinerețea prin operații estetice, se îmbracă în haine scumpe și apare în presă cu fiecare ocazie pentru a se lăuda cu mărețele realizări. Eu o cunosc de vreo 10 ani. Și mi-a plăcut mult de dânsa. Însă acum mă gândesc la viitor.

E foarte ușor să vorbești despre viitor. E mai ușor decât să vorbești despre trecut. Când vorbesc despre viitor îmbrățișez starea de incertitudine și ivit la dezbatere.

Viitorul Informaticii în România este mort!

Pai cum… că avem atâția informaticieni foarte buni. Programatori meseriași. IT-ul este industra înfloritoare din România. Are o creștere incredibilă an de an. Cum poți spune că viitorul informaticii este mort.

Eu spun că moare pentru că nu a reușit să producă urmași. Sunt doar câteva excepții de programe informatice Made in România. Avem câteva adaptări. Prezentul informaticii în România este exportat la plata cu ora.

Informaticii din România îi lipsește actul creației… Motiv pentru care îmbătrânește încet. Consumă tehnologie din import si exporta resurse umane ce dezvolta solutii gandite de altii. Apoi cumpărăm aceleași soluții pe care le-am dezvoltat la preț de licență.

Ne rămâne să citim istoria ca să înțelegem de ce pentru a nu repeta aceleași greșeli când plănuim viitorul. Cum ne-am oprit din producția autohtona de calculatoare? Ce a determinat declinul cercetarii-dezvoltarii? Cine a profitat de inteligenta românească?

Oameni care au avut o influență pozitivă asupra carierei mele

Dintre persoanele cu care am lucrat o parte mi-au fost modele și mentori în parcursul carierei. Le sunt recunoscător pentru exemplul dat, infuența pozitivă, sfaturile primite și modul în care s-au pozitionat detașat în a mă ghida.

Lucian DAIA
Ionuț VODĂ
Ionuț COCIAȘ
Simona LĂPUȘAN
Florian IVAN
Barbara CRĂCIUN
Paul OLTEANU
Florin TĂBÂRCĂ
Ion IVAN
Maria DIACONU
Cornel FĂTULESCU

Zece ani în câmpul muncii

În 2017 sărbătoresc zece ani în câmpul muncii.

8 August 2007 – 14 mai 2010, PIT Software

  • programator PHP
  • meseriaș bun la toate
  • student

17 Mai 2010 – 31 Ianuarie 2015, Zitec

  • software developer
  • software engineer
  • senior software engineer
  • head of custom solutions & partner
  • student

1 Ianuarie 2015 – prezent, consultant IT independent

  • antreprenoriat
  • cercetare, consultanță și training în metode agile de dezvoltare software
  • consultanță în tehnologia informației
  • student

Tudor Sorin – Informatică Varianta C++

Manualul pentru clasa a IX-a de la editura L&S INFORMAT cu o copertă de culoare galben deschis pe care se află o poză cu un calculator DELL. L-am tocit la propriu fașcinat, curios și plin de entuziasm. Începe așa:

Cu siguranță, toși ați văzut un calculator. Cei mai mulți dintre voi l-ați folosit ca să vă jucați. Astăzi, putem spune că orice persoană, indiferent de meserie, are nevoie de calculator. Vom da câteva exemple:

Economistul. Calculatorul îl scutește de anumite calcule plicticoase. […]

Arhitectul. Dacă în trecut elabora tot felul de proiecte pe planșe și pierdea mult timp, acum proiectele sunt realizate cu ajutorul calculatorului. […]

Medicul. Datele rezultate în urma analizelor efectuate de pacient se pot prelucra cu ajutorul calculatorului, iar diagnosticele sunt puse automat […]

Scriitorul. De acum poate renunța la hârtie, creion, gumă sau … mașină de scris. […]

Comerciantul. În ultima perioadă s-a dezvoltat comerțul pe Internet. […]

Au rămas puține meserii în care nu intervine calculatorul și numărul acestora scade permanent. Fărp nici o exagerare, putem spune că peste câțiva ani nu se va mai putea practica o meserie, care necesită calificare, fără calculator. Nici o fimă nu va mai angaja un economist, un inginer, ș.a.m.d care nu știe să folosească calculatorul. Nu exista cale mai sigură de a te rata profesional decât cea prin care nu înveți informatică.

Sunt convins că Tudor Sorin a urât să scrie aceste prime pagini din lucrarea s-a. Că le-a redactat la insistența editurii. A sărit repede peste introducere ca să treacă la subiectul ce îl pasionează. Limbajul folosit în carte este unul specific unui computer. Lipsește emoția. Lipsește entuziasmul. Tonul este pe alocuri parental.

Acest prim capitol mi-a servit drept motivație pentru alegerea parcusului în carieră. Am înțeles că scopul meu ca meseriaș în informatică este să vin în sprijinul celor care folosesc calculatorul. Eu înțelegeam acele gogomârle din limbajul de programare. Așa că puteam să vorbesc cu calculatorul și să-i spun ce au oamenii nevoie de la el.

 

Am terminat trei forme de învățământ …

Am terminat trei forme de învățământ. Toate în domeniul Informaticii.

Norocul meu a fost că mi-am dat seama devreme că este responsabilitatea mea să mă ocup de fond. În clasa a 10-a, după experiența primului an de liceu, am reușit să îmi dau seama ce îmi place să fac și m-am hotărât să mă preocup personal de procesul de învățare.

Notele au scăzut dramatic. Relația cu unii profesori s-a degradat. Am primit remarca de la dirigintă ca “metonimic vorbind sunt o enclava”. Am rămas determinat să mă mențin pe drumul meu. Pe cativa dintre profesori ii pastrez in minte ca adevarati mentori si modele. Sunt foarte putini.

Mie mi-a plăcut foarte mult calculatorul. Maică-mea m-a dat la niște ore de calculator în școala generală. Acolo am prins gustul executând comenzi în MSDOS și terminând fiecare lecție cu o sesiune de Bomberman la dublu.

Taică-miu ne-a luat un joc pe televizor din târg cu diskete. Apoi un joc cu tastatură care avea un editor de text. În clasa a 8-a a venit cu un calculator la mâna a doua pe care a trebuit să-l vindem pe la sfârșitul clasei pentru că nu mai aveam bani. Am trăit o vreme cu frustrarea că nu ne permiteam un calculator. Cu toate asta n-am lăsat învățatul.

Pe la orele de Informatică eram numai ochi și urechi. Am tocit cartea lui Tudor Sorin. La propriu. În fiecare săptămână mergeam pe la biblioteca Liviu Rebreanu unde era o carte mare de C++ din care citem programe. Nu aveam voie să o împrumutăm acasă pentru ca era singura.

În clasa a 10-a mi-am scris primul meu program. O creație proprie. Am făcut în c++ un ceas digital. Îmi amintesc că mergeam pe jos de la piața Iancului până la piața Muncii cu Bogdan Vizureanu și Horia Stat când mi-a venit ideea să pun într-un vector structura pentru cifra 8 din care puteam să realizez orice altă cifră. L-am scris pe hârtie și l-am transcris în laboratorul de la liceu. A compilat!

Așa m-am eliberat de problemele date la clasă care păreau să nu aibă sens și scop. Am început să îmi folosesc propria imaginație și să rezolv problemele care mă preocupă personal.