Sunday, February 4, 2018

Cariera de programator

A lămuri câteva aspecte esențiale din activitatea de programare, este necesar acum, din moment ce calculatoarele sunt la îndemâna tuturor și producția de tehnici și instrumente are un ritm atât de mare încât nu este valorificată deplin o tehnică și o alta cu mult mai eficientă îi ia locul.
Programatorul modern trăiește într-o altă dimensiune decât programatorii de acum două sau trei decenii, pentru că acum nu mai există niciun fel de restricții. Totul depinde de fiecare persoană în parte și tocmai de aceea este important ca fiecare decizie să fie luată în cunoștință de cauza.
Rolul acestei lucrări este acela de a prezenta  elementele absolut necesare oricărei persoane care este fie la început de drum, fie dorește să înceapă un nou drum și acesta este de a practica profesia de programator.
A face carieră în programare se impune îndeplinirea unor condiții și parcurgerea unor etape, lucruri despre care se vorbește în continuare.
Așa cum vara nu e ca iarna, tot așa programatorul scrie programe. Nu este programator cel care nu scrie linii sursă, nu le rulează și nu vede că ceea ce a făcut este bun sau rău.
Un programator este o persoană care trebuie să aibă o serie de calități, pentru ca munca lui să fie plăcută, sa-i aducă satisfacții și mai ales să se finalizeze printr-un element numit salariu, atât de necesar traiului de la o lună la alta și mai ales pentru asigurarea unui anumit nivel de confort.
În programare nu există criterii exacte din care să rezulte cine este și cine nu este programator, înainte de a se apuca de scris programe. Există bărbați excelenți programatori, există femei foarte bune programatoare, există elevi care scriu programe deosebit de bine, dar există și puști care  uimesc cu programele scrise. Așa ca vârsta și sexul nu contează pentru a fi un programator apreciat. Contează în activitatea de programare felul de a fi al fiecărei persoane, capacitatea de a se adapta și mai ales forța de a privi cu obiectivitatea propria evolutei.
Obiectivul lucrării este de a clarifica principalele aspect ale carierei de programator. Una este ca persoana să fie programator și alta este ca persoana respectivă să facă o frumoasă carieră în programare.
Trebuie văzută în detaliu activitatea de programare, trebuie aprofundat ce este un program și trebuie stabilit ce face un programator. Întrucât este vorba de cariera de programator, toate aceste elemente sunt dezvoltate din unghiul dezvoltării personalității unei persoane care dorește să fie într-o poziție specială în raport cu calculatorul. Daca se discută despre programator, programare și programe, fără a lua în calcul pe beneficiarul muncii complexe a cărei finalitate este programul, se produce o abordare abstractă, nefirească. Programatorul este în serviciul beneficiarului, iar gradul în care beneficiarul este satisfăcut, da calitatea muncii desfășurate de programator. Nu există activitate de programare de înaltă calitate din care rezultă un program slab. Așa că un programator bun, desfășoară activități de calitate, respectând reguli, standarde și rezultă programe de calitate care îi satisfac pe beneficiari. Acum când aplicațiile distribuite presupun colectivități largi de utilizatori, problema calității produselor software se pune cu și mai mare stringență. Așa că numai o activitate de programare din care rezultă programe bune care să-i satisfacă pe beneficiari, conduce la idea că programatorul care și-a adus contribuția, urmează o carieră de succes.
Mai întâi sunt analizate calitățile ce trebuie să le aibă cel ce-și propune să intre în programare și să urmeze pașii specifici unei cariere în această profesie. Este vorba de caracteristici obișnuite, pe care le au marea majoritate a oamenilor, dar cel care alege să fie programator, trebuie să se autoanalizeze, să vadă măsura în care acele caracteristici le are și crede ca le dezvoltă sau nu le are și posedă altele cu care compensează. Există și programatori geniali, dar masa mare a programatorilor este formată din oameni obișnuiți, dispuși să lucreze într-un anume fel, care acceptă să interacționeze zi de zi cu calculatorul și să dezvolte activități pentru atingerea unui obiectiv, scriind programe care se rulează pe calculator. Programatorul este o persoana, dar el trebuie să devină o personalitate. Asemeni poeților, programatorul are un stil al său de programare, folosește anumite resurse, are ritmul său de lucru. Așa cum degetele de la o mână nu seamănă între ele, nici programatorii nu seamănă între ei. Unii au câteva trăsături comune, în sensul că folosesc același tip de calculator, lucrează cu același limbaj de programare, au rezolvat aceleași tipologii de probleme. Dar este foarte greu de găsit doi programatori care să fie puși să scrie un program de 200 linii sursă, din care primele 100 să le scrie unul, iar celelalte 100 să le scrie al doilea. Puse cap la cap, să dea un program care să meargă de la prima rulare. Acest lucru este imposibil.
În carte este tratat contextul în care o persoană începe să lucreze în programare și parcurge etapele necesare atingerii unui nivel de măiestrie recunoscut de cei cu care lucrează. Astfel, se zice despre acesta că este un foarte bun programator sau se zice că este cel mai bun. Trebuie spus că drumul nu este simplu, dar în nicio meserie nu se progresează de la sine. Aici, rezultatele sunt vizibile, întrucât diferențele sunt date de calculator. Cu cât crește performanța unui programator, cu atât el este implicat în realizarea de proceduri mai complexe. Cu atât el oferă soluții dintre cele mai elegante și toata lumea vede aceste lucruri pentru că programele lui se rulează de mai puține ori, durata de realizare este mai redusa și erorile de execuție după lansare sunt foarte reduse, dacă nu inexistente. Programatorul trebuie să cunoască o serie de secrete ale meseriei, pentru a merge cât mai departe în a se perfecționa.
Programatorii lucrează la dezvoltarea de proiecte IT, unele mai mari, altele mai mici dar toate se bucură de apartenența la una din doua mulțimi adică, un proiect este bun și aparține mulțimii proiectelor de succes sau un proiect este prost, nu funcționează sau a fost întreruptă realizarea lui și aparține mulțimii proiectelor ce reprezintă insuccese pentru programator. Este important ca programatorul care urmărește o carieră în dezvoltarea de software să fie extrem de atent și să participe la proiecte cu șanse de succes importante, mai ales pentru faptul că nici 3% dintre proiectele IT&C concretizate prin sisteme software nu intră în procese de reinginerie.
Toți  programatorii sunt pândiți de riscuri la tot pasul și tocmai de aceea pentru a dezvolta o carieră de succes trebuie să știe care sunt acestea și mai ales, trebuie să le gestioneze, adică să le elimine sau să diminueze cel puțin acțiunea factorilor favorizanți. Chiar elemente care par la prima vedere a fi avantaje pentru dezvoltarea carierei de programator, dacă depășesc un anumit prag, se transformă în contrariul. 
Dacă programatorul are educația reutilizării  de programe, de proceduri, de secvențe de instrucțiuni, reușește cu șanse și mai mari în cariera sa, pentru că a reutiliza înseamnă a economisi, știut fiind faptul că produsele software nu au uzură fizică. Dacă ele nu sunt afectate de uzura morala, reutilizarea de componente în noi programe este un lucru benefic. Numai că acele componente destinate reutilizării, trebuie gândite și realizate în acest scop. În niciun caz nu se reutilizează o componentă fără un nivel de generalitate ridicat și mai ales dacă nu a fost testată și în orice moment prin erorile conținute compromite întregul produs în care ea este parte.
Promovarea programatorilor este momentul așteptat de fiecare dintre ei. Această promovare se realizează fie în cadrul aceleiași companii, dar în cele mai multe situații obținerea unei noi poziții se produce prin concursul dat la o alta companie. Continuitatea activității într-o aceeași companie este benefica până la un punct. Acumularea de experiență trebuie înțeleasă dincolo de apariția rutinei și stagnării profesionale. Un programator care și-a definit obiective clare pe termen scurt, mediu și lung, știe cu exactitate cât timp trebuie sa promoveze într-o firmă și care este momentul optim de a face saltul calitativ în meserie, dar într-o altă firmă. Numai că o astfel de abordare presupune cunoașterea tendințelor de dezvoltare profesională și realizarea concordanței între nivelul propriu de performanta și companiile dezvoltatoare de software care au condiții de implementare a tehnicilor, metodelor, instrumentelor, limbajelor pe care programatorul le consideră condițiile lui de promovare.
După citirea cărții, știind care sunt tipologiile de programatori, un tânăr la început de drum știe ce i se potrivește, iar un programator matur, știe ce are de făcut în continuare, dacă nu a făcut totul în meseria lui, lucru foarte greu mai ales în ziua de azi.
Încheierea are rolul de a puncta în câteva cuvinte ceea ce înseamnă o carieră de succes în programarea calculatoarelor, căci atât timp cât sunt calculatoare, vor trebui să existe și programatori. Este demonstrat că un automat, indiferent cât de complicat este el, nu proiectează și realiza un alt automat cu o complexitate mai mare decât a lui. Asta înseamnă că niciodată o revoluție în dezvoltarea software nu este realizată prin programarea automata sau cu generatoare de programe. Tot omul este cel care duce pe trepte superioare utilizarea computerelor, a căror perfecțiune este  dată de acei specialiști ce se ocupa de hardware. Cariera de succes se construiește tot așa cum se construiește o casa, cărămidă cu cărămidă. Așa cum casa fără temelie solidă are probleme de rezistență, tot așa și cariera  programatorului, fără soliditatea abordării încă de la început, devine fragilă, până la epuizare.
Au fost folosite numeroase lucrări, incluse în bibliografia de la final.
Cartea se referă prin:
Ion IVAN, Alin ZAMFIROIU - Cariera de programator, Editura ASE, Bucuresti, 2017, 236pg, ISBN: 978-606-34-0154-1

(04 februarie 2018)

No comments:

Post a Comment