Practically every developer wonders how to develop their skills and which growth direction to choose: vertical — that is, to become a manager, or horizontal — a full stack developer. Years of work on a single product, contrary to myths, become not a limitation, but a valuable opportunity. In this article, we share the experience of our backend developer Alexey, who dedicated 6 years to certifications and has progressed to architect during this time.

Who is an architect
An IT architect (tech lead) is a high-level developer who deals with global issues in IT projects. They immerse themselves in the client's business processes and help solve their problems through technology, and also determine how a particular information system will be structured.
Such a professional must not only understand specific subject areas but also see the entire process:
- Setting up business tasks.
- Development, including programming, preparation, storage, and processing of data.
- Deployment and support of infrastructure.
- Testare.
- Deployment.
- Analytics and operational maintenance.
This means being able to put oneself in the shoes of any specialist or team in the development life cycle, to internally understand the current state of systems, identify errors made, and formulate goals. Sometimes, it involves personally conducting operational interventions.
The path of professional development from developer to architect takes a considerable amount of time — usually several years. For this, a developer needs both practical skills and theoretical knowledge, which can be confirmed by international certification.
More than 5 years on a single project — routine or opportunity for growth?
Several years ago, we began work on a large medical IT system for a foreign client. In this large-scale project, there were certain problems:
- limited accesses;
- unstable production;
- incredibly stretched sprints and lengthy approvals.
"It's time to upgrade my qualifications", — this conclusion was reached by one of the leading developers, Alexey, to overcome the listed challenges and better understand the system.
Alexei a împărtășit experiența sa despre cum să începi studierea, ce certificări sunt importante de obținut, cum și de ce să faci asta.
Pasul întâi: îmbunătățește-ți limba engleză
Limbile de programare sunt o componentă fundamentală a dezvoltării, dar limbile de comunicare nu sunt mai puțin importante. În special în comunicarea cu clienții anglofoni!
Din practică
Într-o zi minunată, Alexei a fost sunat de o angajată de la client. Atunci, dezvoltatorul nostru nu putea încă să se laude cu un teanc de certificări — nici în tehnologii, nici în management, nici în comunicare. Poate că acestea nu ar fi fost necesare — pentru că poți fi un specialist competent și fără regalii suplimentare. Dar totuși, a apărut o problemă.
Trebuie să înțelegem că limba vorbită diferă radical de cea scrisă. Dacă te descurci excelent cu specificațiile în limba engleză, dar nu exersezi listening și speaking, atunci avem vești proaste pentru tine. În acest caz, negocierile telefonice cu partenerii pot deveni complicate.
Alexei, în timpul apelului, auzea câteva cuvinte familiare, dar discursul colegului său era atât de rapid și diferit de pronunția clasică din lecțiile audio, încât esența întrebărilor a trecut pe lângă el. Din politețe și din dorința de a nu complica situația, Alexei a fost de acord rapid cu toate propunerile.
Nu trebuie să spunem că, pe parcursul muncii, au fost făcute descoperiri neplăcute? Dezvoltatorul nostru s-a abonat la ceva de care ar fi renunțat cu absolută conștiință dacă oferta ar fi fost formulată într-o limbă pe care o înțelege.
În acel moment, a devenit clar că este absolut necesar să îmbunătățim abilitățile de ascultare și vorbire. Cea mai bună modalitate de a face asta a fost certificarea.
Certificare în limba engleză
Pentru a îmbunătăți comunicările în cadrul proiectului nostru medical, Alexei a studiat în cadrul mai multor programe. Ca rezultat, a obținut certificarea FCE — First Certificate in English. Asta l-a ajutat să înceapă să audă clientul și să-și transmită gândurile către el.
Sfaturi utile:
Evitați programele de studiu pentru limba engleză de bază. Abilitatea trebuie să fie orientată. Dacă este necesară limba engleză pentru comunicare în afaceri, aceasta ar trebui să fie studiată. Totuși, nu trebuie să mergeți la extrem și să dați examenul CAE (Certificate in Advanced English). Specificitatea acestuia constă în cuvinte sofisticate, expresii specifice care nu sunt aproape deloc folosite în comunicarea internațională.

Pasul doi: certificare pe întreaga stivă tehnologică
Inițial, baza proiectului a fost tehnologia de mapare obiect-relationala ORM. Echipa de dezvoltare din partea clientului se mândrea cu creația lor, deoarece totul a fost realizat cu utilizarea unor concepte avansate, complicate și impresionante.
Cu toate acestea, problemele în producție — în special serverul SQL care se bloca constant, erau frecvente. Ajungea până acolo încât soluția typică era repornirea serviciului. Clientul suna liderul echipei și anunța că este timpul să se repornească. În cele din urmă, am decis să punem capăt acestei situații.
Clientul a dorit să îmbunătățească performanța sistemului — pentru asta era necesară implementarea profilării și realizarea periodică a optimizării. Ca instrument de profilare, în acel moment — aproximativ în 2015 — am ales Ants Profiler, dar acesta a fost puțin eficient. La o detaliere mică, era greu să obținem informații despre blocul critic de cod. La o detaliere maximă, Ants Profiler începea să modifice codul astfel încât funcționarea sistemelor să fie pusă în pericol — acolo unde era configurată profilarea, totul pur și simplu cădea. De aceea, am schimbat abordarea.
Am început cu analiza statisticilor
Analizând statisticile din producție, a devenit evident că 95% din lucrările de pe server au o logică de business primitivă în 4 linii. Pentru acestea era suficient un singur SQL, nu un întreg set de interogări generate de blocul de logică de business cu ORM.
Alexei a propus și implementat o procedură stocată pentru mutarea lucrărilor fără ORM. Ideea a contrazis paradigma obișnuită a proiectului, iar liderul echipei a primit-o cu precauție, dar clientul a acceptat-o și a solicitat implementarea. Nu a fost surprinzător, deoarece noua metodă a permis reducerea latenței în procesare în producție de la patru ore la câteva minute — în medie, o reducere de 98 de ori.
Și totuși, aveam îndoieli: este aceasta o soluție corectă sau o chestiune de preferințe personale? Credința în all-powerful C# și ORM a fost zdruncinată de o întâmplare, care a arătat puterea soluțiilor simple.
Cazul doi
Echipa a scris o interogare pentru lucrul cu datele în cadrul paradigmei ORM, formulată conform tuturor regulilor, fără erori. Procesarea acesteia dura 2-3 minute, iar aceste parametrii păreau acceptabili. Cu toate acestea, o implementare alternativă folosind cele mai simple selecturi și view a oferit un rezultat mai rapid — în 2 secunde.
A devenit evident că este timpul să alegem un specialist care va obține certificarea pe întreaga gamă a proiectului, pentru a înțelege toate nuanțele și a alege metoda optimă. Această sarcină a fost preluată de Alexey.
Primele certificate
Pentru înțelegerea esenței, Alexey a trecut , care au acoperit întreaga tehnologie a proiectului:
- TS: Dezvoltare de aplicații Windows cu Microsoft .NET Framework 4
- TS: Accesarea datelor cu Microsoft .NET Framework 4 Programare în C#
- TS: Dezvoltarea aplicațiilor Windows Forms cu Microsoft .NET Framework 3.5
- PRO: Proiectarea și dezvoltarea aplicațiilor Windows folosind Microsoft .NET Framework 3.5
- PRO: Proiectarea și dezvoltarea aplicațiilor bazate pe Windows utilizând Microsoft .NET Framework
- TS: Microsoft .NET Framework 2.0 — Dezvoltarea clientului bazat pe Windows
Cautând să optimizeze munca la noul proiect, echipa a ajuns la următoarele concluzii:
- Pentru buna funcționare a sistemelor, trebuie respectate regulile de scriere a codului: nu indentări și comentarii, ci specificații tehnice — numărul de accesări la baze, sarcina pe server și multe altele.
- Aplicarea conceptelor contradictorii este riscantă. Conceptul de baze de date — teoria mulțimilor, în timp ce ORM — conceptul de operațiuni.
- Ideile care încalcă ordinea obișnuită pot întâmpina opoziție în echipă. Dezvoltarea este, de asemenea, despre relații și abilitatea de a argumenta punctul de vedere.
- Certificarea lărgește orizonturile și permite înțelegerea a ceea ce poate fi folosit, dar și ce poate fi evitat.

Pasul trei: studiați nu doar codul
Atunci când lucrați la soluții IT de amploare, sunt importanți numeroși factori. De exemplu, nu fiecare dezvoltator ia în considerare parametrii rețelei — dar chiar și lățimea de bandă poate influența soluția unei probleme de afaceri.
Aceasta este oferită de certificările seria 98:
Ele permit o viziune mai largă asupra lucrurilor și o ieșire din concepția limitată de „numai cod”. Acestea sunt Fundamentele, dar sunt importante pentru a înțelege totul la un nivel mai profund.
Certificările seria 98 constau în teste mici — 30 de întrebări în 45 de minute.
Pasul patru: gestionarea proceselor
Colaborarea cu clinicile este o activitate mai responsabilă decât, de exemplu, crearea unei joc mobil. Nu puteți adăuga o caracteristică și să o lansați în producție — este important să respectați procesul de aprobat și să integrați numeroasele modificări de la client, deoarece este vorba despre sănătatea și viața oamenilor.
Metoda Agile tipică nu a dat rezultatele dorite în acest proiect, fiecare sprint durând destul de mult. Între desfășurări au fost intervale de 6 luni până la un an.
În plus, din punct de vedere tehnic, era imposibil să aducem procesele celor zece clinici în concordanță cu un standard comun.
Pentru a obține rezultate mai rapide în aceste condiții, dezvoltatorii necesitau o responsabilitate personală și o viziune de ansamblu asupra proceselor — ceea ce înseamnă concentrare constantă și o înaltă calificare.
Când un specialist este implicat în proces, el vede clar rezultatele, cauzele și efectele, imaginea de ansamblu. Acest lucru constituie simultan un factor de motivație suplimentară și de conștientizare, îmbunătățind capacitatea de a rezolva sarcini și probleme.
Cu o infrastructură bine pusă la punct, o arhitectură bine construită și un cod optim, o singură persoană poate prelua multe procese. Totuși, asta nu înseamnă că trebuie să creștem soldați universali care să conducă singuri un proiect. Comunicația și munca în echipă sunt critice.
În echipă, fiecare dezvoltator înțelege că colegii depind de acțiunile sale. Economisirea a 5 minute în etapa de dezvoltare poate însemna, de fapt, 5 ore suplimentare de testare. Pentru a înțelege asta, este important să stabilim comunicații.
În proiectul nostru, facilitarea în învățarea proceselor pentru Alexey a fost contribuită de :
- M_o_R Foundation Certificate in Risk Management
- Agile Scrum Foundation
- IT Service Management Foundation
- EXIN Business Information Management Foundation
- PRINCE2 Foundation Certificate in Project Management
- Test Engineer Certificate
- Microsoft Operations Framework Foundation
- Agile Service Projects
Pe edX au fost parcurse cursuri care au ajutat la vizualizarea sistemului din perspectiva statisticii și a programării lean, ulterior determinând obținerea certificatului de arhitect:
- Lean Production
- Six Sigma: Analyze, Improve, Control
- Six Sigma: Define and Measure
Conform principiului „Șase Sigme” (Six Sigma), controlul statistic asigură un rezultat de calitate cu o probabilitate extrem de mare.
Pe măsură ce dezvoltatorul își înalță nivelul, de regulă, ajunge la următoarele concluzii:
- Lucrați nu mult, ci eficient.
- Nu complicati viața în căutarea aspectelor exterioare: tehnologiile sofisticate nu rezolvă neapărat problemele mai bine.
- Colaborați cu specialiști din toate etapele ciclului și descoperiți durerile lor. Arhitectul trebuie să stăpânească procesele: identificarea problemei, definirea sarcinii, proiectarea topologiei rețelei, dezvoltarea, testarea, suportul și exploatarea.
- Verificați fiecare caracteristică de la început până la sfârșit.
- Se întâmplă ca procesele IT să nu fie în conformitate cu procesele de afaceri și acest lucru trebuie combatut.

Pasul cinci: înțelegeți arhitectura prin prisma Big Data
În proiect am avut de-a face cu baze de date destul de mari. Cel puțin, așa părea până la un anumit moment. Când Alexey a început să studieze big data pe edX, a realizat că 1,5 Tb în proiect este o bază de date mică. Dimensiuni serioase încep de la 10 Tb, iar acolo sunt necesare alte metode.
Următorul pas pe drumul spre certificare a fost un curs de big data. Acesta a ajutat la înțelegerea organizării fluxului de date și la accelerarea operațiunilor în producție. De asemenea, a fost o oportunitate de a acorda atenție unor instrumente mai mici, de exemplu, de a începe să folosești Excel pentru a rezolva anumite micro-sarcini.
Certificat:
Microsoft Professional Program: Big Data Certificate

Pasul șase: de la dezvoltator la arhitect
După obținerea tuturor certificatelor menționate, încă fiind dezvoltator, Alexey a început să înțeleagă că informațiile dobândite au un nivel înalt de abstractizare, și că nu este deloc un lucru rău.
O viziune amplă asupra proceselor conduce la nivelul de arhitect, una dintre cele mai înalte etape de certificare.
În căutarea certificării de arhitect, Alexey a descoperit de la Sundblad & Sundblad. Aceasta este o programă recunoscută de Microsoft, dezvoltarea sa a început acum 14 ani în colaborare între biroul central și biroul suedez al companiei. Acoperă .NET Framework, colectarea cerințelor, managementul fluxului de informații și multe alte subiecte la un nivel înalt și este considerată o dovadă solidă a abilităților arhitectului.
În cadrul programului, au existat cursuri de studiu. Certificarea a sistematizat cunoștințele și a permis accesul la o nouă etapă de dezvoltare — de la dezvoltator la arhitect.

În concluzie
Așa cum subliniază Alexey, în procesul de lucru cu un sistem IT de mari dimensiuni, este important să ne amintim că programarea nu este un divertisment costisitor, ci un instrument pentru soluționarea problemelor de afaceri. Atunci când ne confruntăm cu o provocare sau alta, este esențial să definim valoarea de afaceri, pentru a evita ca proiectul să ajungă într-un impas.
Arhitectul are o viziune specială asupra programării și a componentelor sale fundamentale:
- Crearea și/sau menținerea unui flux de date
- Extracția fluxului de informații pe baza fluxului de date
- Extracția fluxului de valoare pe baza fluxului de informații
- Monetizarea fluxului de valoare
Dacă privim proiectul prin ochii arhitectului, trebuie să începem de la final: să formulăm valoarea și apoi să ne îndreptăm spre ea prin fluxul de date.
Arhitectul respectă regulile de dezvoltare, având o viziune globală asupra proiectului. A ajunge la aceasta prin practică și greșelile proprii este practic imposibil — adică, se poate, dar durează foarte mult. Certificarea permite extinderea orizontului și observarea întregului context al fiecărei probleme, familiarizându-se cu experiența a mii de profesioniști și dezvoltând abilități eficiente de rezolvare a problemelor.
În prezent, lucrăm cu sistemul medical descris mai sus de peste cinci ani și am realizat îmbunătățiri semnificative. În acest timp, Alexey a susținut mai mult de 20 de examene de certificare:
- TS: Dezvoltare de aplicații Windows cu Microsoft .NET Framework 4
- TS: Accesarea datelor cu Microsoft .NET Framework 4 Programare în C#
- TS: Dezvoltarea aplicațiilor Windows Forms cu Microsoft .NET Framework 3.5
- PRO: Proiectarea și dezvoltarea aplicațiilor Windows folosind Microsoft .NET Framework 3.5
- PRO: Proiectarea și dezvoltarea aplicațiilor bazate pe Windows utilizând Microsoft .NET Framework
- TS: Microsoft .NET Framework 2.0 — Dezvoltarea clientului bazat pe Windows
- 98-361: Fundamentele dezvoltării software-ului
- 98-364: Fundamentele bazelor de date
- M_o_R Foundation Certificate in Risk Management
- Agile Scrum Foundation
- IT Service Management Foundation
- EXIN Business Information Management Foundation
- PRINCE2 Foundation Certificate in Project Management
- Test Engineer Certificate
- Microsoft Operations Framework Foundation
- Agile Service Projects
- Lean Production
- Six Sigma: Analyze, Improve, Control
- Six Sigma: Define and Measure
- Microsoft Professional Program: Big Data Certificate
- Certified Software Architect — Microsoft Platform

După susținerea tuturor examenelor, Alexey a evoluat de la dezvoltator principal la arhitect de proiect. În același timp, certificarea a devenit un mijloc puternic atât pentru dezvoltarea profesională, cât și pentru crearea unei reputații în ochii clientului.
„Berbecul de certificare” a ajutat la obținerea accesului la anumite procese critice care necesitau control și analiză. Clienții europeni de soluții IT apreciază de obicei specialiștii certificați și sunt dispuși să le ofere mai multă libertate de acțiune.
Mulțumim pentru atenție! Sperăm că articolul a fost util pentru dumneavoastră.
Sursa: habr.com
