• We are trusted partners of:
Offline

Cum sa tii un programator fericit

By July 18, 2012 3 Comments

Industria web este inca una in plina expansiune in intreaga lume. Cu adevarat uimitoare sunt viteza cu care lucrurile se desfasoara si complexitatea pe care o pot atinge. Iar in spatele tuturor acestor lucruri se afla oameni, nu masinarii cu trei capete si zeci de metri de circuite electrice. Fiind oameni, developerii, caci despre ei este vorba, sunt expusi la randul lor la diferiti factori precum stresul, rutina sau greselile; cu toate acestea, rolul lor in intreaga povestire este esential, daca nu chiar central, asa ca ideile cu adevarat stralucitoare nu pot izvori decat din niste minti cat mai linistite si concentrate strict pe ceea ce au de facut.

Toate incep de dimineata. Mai precis, de la cafea. Un programator fericit si gata de lucru are o cana aburinda cu cafea in fiecare dimineata. Poate parea un stereotip, insa rar mi-a fost dat sa vad developeri care nu consuma cantitati medii-mari de cafea.

“Omul sfinteste locul” spune o vorba veche. Acest lucru se aplica si in cazul tratat de articol. Intr-un mediu in care echipa de developeri nu este unita si nu exista coeziune intre membrii echipei nu se vor naste niciodata idei geniale si, automat, nu va merge totul asa cum a fost planificat anterior pe hartie. Un grup unit va reusi sa depaseasca mereu mai usor crizele inerente ivite in decursul dezvoltarii proiectelor. Si activitatile extra-program ar trebui incurajate din exact acelasi motiv.

O sursa principala de stres este impunerea unor puncte greu de atins pe un grafic imaginar al activitatii. Asa cum nu poti pune un poet sa scrie 30 de strofe cu subiect si predicat in 4 ore, la fel nu poti obliga developerul sa scaleze o intreaga aplicatie intr-o jumatate de zi; lasa-l sa masoare de 3 ori si sa taie o singura data. Alegandu-si singur timpul de realizare al unui astfel de task, un developer care se respecta va sti cu exactitate cum sa isi aloce resursele si timpul asa incat rezultatul final sa se plieze pe necesitati. Un algoritm bine gandit va fi oricand superior unuia scris in graba si sub presiunea unei clepsidre ce aproape s-a scurs.

Fiecare domeniu de activitate are termenii sai specifici. Exceptie nu face nici dezvoltarea solutiilor software. De aceea, pentru a nu avea in subordine oameni enervati si storsi precum un burete, e bine ca intre developeri si client sa existe o “interfata” care sa preia si sa proceseze mare parte din dialoguri. Mi s-a intamplat pe alte plaiuri mai putin insorite sa ma confrunt cu problema dialogului cu clientul. Cu toate ca am o fire extrem de intelegatoare si care se enerveaza greu, trebuie sa recunosc ca nu am apreciat faptul ca  3/4 din durata totala a discutiei a fost dominata de explicarea anumitor termeni tehnici sau de ce nu e realizabila o idee sau alta. Desigur, exista oameni mult mai rabdatori ca mine si care pot face usor “trecerea” de la un lexic la altul, insa in urma respectivelor discutii, primul lucru remarcat a fost timpul irosit. Aici nu este vina clientului, pentru ca nu este de datoria lui sa fie pus la punct 100% cu intreaga gandire si terminologie folosita in realizarea unei aplicatii, ci a managementului defectuos.

Am pastrat pentru final doua caracteristici principale ale developerilor: competivitatea si dorinta de a lucra cu cele mai noi si interesante tehnologii. Toti developerii pasionati de ceea ce lucreaza vor cauta mereu sa aiba de-a face cu ultimele noutati in materie de tehnologie. Fie vorba de un sistem mai mult sau mai putin abstract, odata ce a reusit sa si-l insuseasca, developerul se va simti mult mai bogat. Intocmai faptul ca pasiunea dicteaza astfel de activitati chiar si in timpul liber ar trebui sa-i faca pe toti cei care se ocupa de management sa se gandeasca de doua ori cand vine vorba de alocarea unui anumit procent de timp in dezvoltarea personala a angajatului. Odata cu dezvoltarea lui, automat si firma va mai urca o serie de trepte. Plafonarea si folosirea acelorasi tehnologii luni sau chiar ani si ani duce la rutina, rutina ce devine apasatoare pentru oricine.

Cu siguranta ca, daca extrapolam, toate aceste notite se pot adresa si altor profesii si activitati. Un astfel de mediu de lucru poate parea fantezist dar este realizabil, atata vreme cat exista un management al resurselor optim.

INNOBYTE

Author INNOBYTE

More posts by INNOBYTE

Join the discussion 3 Comments

  • catalin says:

    Important este sa iti gasesti compania potrivita, care are destule resurse si le aloca corect. Firmele mici desi platesc bine, au intentia de a te munci pana la epuizare, dezvolta proiecte cu oameni putini, in timp record, si ca se se asigure ca te epuizeaza se folosesc de softuri de pontaj si iti impun deadline-uri, trebuie sa estimezi orice si nu ai voie sa estimezi prea mult. Firmele mari angajeaza personal suficient, ofera autonomie, nu cer estimari decat in mare, odata la intreg proiectul, nu grabesc lucrurile.
    Si ce este si mai important este sa lucrezi la firme ce vand soft in regim de licenta, ce au produse interne, nu la firme ce fac outsourcing care implementeaza proiecte pe banda rulanta. Acestea din urma se axeaza pe cantitate nu pe calitate.

  • Florin says:

    Foarte bine, Catalin, sunt perfect de acord cu tine. Din pacate (intr-un fel) lucrez intr-o firma mica unde am vazut mari prostii facute in graba si mie chiar imi place sa fac lucrurile cat mai ok(cat de calitativ pot) insa cand ei vad asta vin cu vorbe de genul: Sunteti platiti sa scrieti cod, nu trebuie sa ganditi :)) . Ma abtin de la comentarii deoarece imi vine sa zic lucruri apocaliptice cand aud fraza mai dinainte. PS: Si inca sunt mic, abia daca am 2 ani experienta.

  • Florin says:

    foarte bine zis catalin

Leave a Reply