Gati çdo zhvillues bën pyetjet se si duhet të zhvillojë aftësitë e tij dhe cilin drejtim rritjeje të zgjedhë: vertikal — domethënë, të bëhet menaxher, ose horizontal — full-stack. Puna për shumë vite në një produkt, përkundër miteve, nuk është një kufizim, por një mundësi e dobishme. Në këtë artikull ne ndajmë përvojën e zhvilluesit tonë backend, Aleksej, i cili i ka kushtuar 6 vite çertifikimeve dhe gjatë kësaj periudhe ka arritur të bëhet arkitekt.

Kush është arkitekti
Arkitekti në IT (tech lead) është një zhvillues me nivel të lartë, i cili merret me çështje globale në projektet IT. Ai bën një analizë të thellë të proceseve biznesore të klientëve dhe ndihmon në zgjidhjen e problemeve të tyre përmes teknologjive, si dhe përcakton se si do të strukturohet një sistem informatik.
Ky profesionist duhet jo vetëm të kuptojë fushat përkatëse, por edhe të shohë procesin erësor:
- Formulimi i detyrave biznesore.
- Zhvillimi, duke përfshirë programimin, përgatitjen, ruajtjen dhe përpunimin e të dhënave.
- Dispozitimi dhe mbështetje e infrastrukturës.
- Testimi.
- Depo.
- Analizë dhe mirëmbajtje operacionale.
Kjo nënkupton aftësinë për t'u vënë në vendin e çdo specialisti apo ekipi në ciklin e jetës së zhvillimit, për të kuptuar nga brenda gjendjen aktuale të sistemeve, për të zbuluar të metat e bëra, për të formuluar objektivat. Ndonjëherë — për të kryer ndihmën operacionale vetë.
Rruga e zhvillimit profesional nga zhvilluesi deri në arkitekt merr një kohë të gjatë — zakonisht disa vjet. Për këtë, zhvilluesi ka nevojë për si aftësi praktike ashtu edhe për njohuri teorike, të cilat mund të konfirmohen me çertifikata ndërkombëtare.
Më shumë se 5 vjet në një projekt – rutinë apo mundësi për rritje?
Disa vjet më parë filluam punën mbi një sistem të madh mjekësor IT për një klient të huaj. Në këtë projekt të gjerë ekzistonin disa probleme:
- qasje të kufizuara;
- prodhim të paqëndrueshëm;
- sprint të jashtëzakonshëm të shtrirë dhe miratime të gjata.
"Koha për të përmirësuar kualifikimin", — deri në këtë vendim erdhi një nga zhvilluesit kryesor, Aleksej, për të tejkaluar të gjitha dështimet e përmendura dhe për të kuptuar më mirë sistemin.
Alexi ndau me përvojën e tij se nga të fillosh më së miri mësimin, cilat certifikata janë të rëndësishme për t'u marrë, si dhe pse duhet t'i kemi ato.
Hapi i parë: përmirëso anglishten
Gjuha të programimit është një komponent themelor i zhvillimit, por gjuhët për komunikim janë po aq të rëndësishme. Sidomos në komunikimet me klientët anglishtfolës!
Nga praktika
Një ditë të bukur, një punonjëse nga klienti e telefonoi Alexin. Atëherë, zhvilluesi ynë nuk kishte asnjë certifikatë për teknologjitë, as për menaxhimin, as për komunikimin. Ndoshta ato nuk do t'i duhej — pasi të jesh një specialist i aftë është e mundur edhe pa regalia të tjera. Por problemi gjithsesi u shfaq.
Duhet të kuptoni se gjuha në biseda është radikalisht ndryshe nga ajo e shkruar. Nëse jeni të shkëlqyer në specifikimet anglishtfolëse, por nuk praktikoni dëgjimin dhe të folurin, kemi lajm të keq për ju. Në këtë rast, telefonatat me partnerët mund t'ju çojnë në një ngërç.
Alexi në telefonatën e tij dëgjonte disa fjalë të njohura, por fjalimi i kolegut ishte kaq i shpejtë dhe ndryshe nga shqiptimi klasik nga mësimet audio, saqë thelbi i pyetjeve të saj kaloi diku jashtë. Nga mirësia dhe mos dëshira për të komplikuar situatën, Alexi shpejt pranoi të gjitha propozimet.
Nuk ka nevojë të themi se gjatë procesit të punës u zbuluan disa hapje të pakëndshme? Zhvilluesi ynë nënshkroi për diçka që do ta refuzonte krejtësisht nëse do t'i kishte ardhur një ofertë në një gjuhë të kuptueshme.
Në atë moment u kuptua se përmirësimi i aftësive të dëgjimit dhe të folurit ishte thelbësor. Mënyra më e mirë për këtë wasin certifikatat.
Certifikata në gjuhën angleze
Për të përmirësuar komunikimin në kuadër të projektit tonë mjekësor, Alexi studioi menjëherë disa programet. Si rezultat, ai kaloi certifikimin FCE — Certifikata e Parë në Anglisht. Kjo e ndihmoi të fillojë të dëgjojë klientin dhe të shprehë mendimet e tij ndaj tij.
Hack i dobishëm:
Shmangni programet e mësimit të anglishtes së bazuar. Aftësia duhet të jetë me qëllim. Nëse nevojitet anglisht për komunikim të biznesit — atëherë duhet të merret. Por mos duhet të jeni të tepruar dhe të jepni CAE (Certifikata në Anglisht të Avancuar). Karakteristika e saj është fjalët e sofistikuara, shprehjet specifike që përdoren shumë pak në komunikimin ndërkombëtar.

Hapi i dytë: certifikimi në tërë teknologjinë.
Fillimisht, projekti ishte i bazuar në teknologjinë e hartimit objekt-relacional (ORM). Ekipi i zhvilluesve nga ana e porositësit ishte krenar për krijesën e tij, pasi gjithçka ishte bërë me konceptet më të avancuara, komplekse dhe të sofistikuara.
Megjithatë, problemet në prodhim — veçanërisht serveri SQL që ngelte vazhdimisht, nuk ishin të pazakonta. Ndonjëherë, zgjidhja tipike ishte ri-startimi i shërbimit. Porositësi telefononte liderin e ekipit dhe njoftonte se ishte koha për të rifilluar. Më në fund, ne vendosëm të vija një fund kësaj situate.
Porositësi dëshironte të punonte mbi performancën e sistemit — për këtë ishte e nevojshme të implementohej profilizimi dhe të kryeheshin rregullisht optimizime. Si një mjet profilizimi, atëherë — rreth vitit 2015 — u zgjodh Ants Profiler, por ai e tregoi veten dobët. Me detaje të vogla, ishte e vështirë të merrje informacion mbi bllokun kritik të kodit. Me detaje maksimale, Ants Profiler fillonte të ndryshonte kodin në mënyrë që funksionaliteti i sistemeve të ishte në rrezik — aty ku ishte konfigurimi i profilizimit, gjithçka thjesht binte. Prandaj ne ndryshuam strategjinë.
Ne filluam me analizën e statistikave.
Gjatë analizës së statistikave të prodhimit doli në pah se 95% e punëve në server kishin logjikë biznesi primitive prej 4 rreshtash. Për to, mjaftonte një SQL-kërkesë, e JO tërë grumbulli i kërkesave të gjeneruara nga blloku i logjikës biznesore me ORM.
Aleksei propozoi dhe implementoi një procedurë të ruajtur për të lëvizur punët pa ORM. Ideja e tij ishte e kundërt me paradigmën e zakonshme të projektit, lideri i ekipit e priti me kujdes, por porositësi e pranoi dhe kërkoi implementim. Kjo nuk ishte e habitshme, pasi metoda e re lejonte të reduktonte vonesat në procesim në prodhim nga katër orë në disa minuta — mesatarisht në 98 herë.
Megjithatë, ne ende kishim dyshime: është kjo zgjidhja e duhur apo thjesht një çështje preferencash personale? Besimi në të fuqishmin C# dhe ORM u lëkund nga një rastësi që tregoi të gjithë fuqinë e zgjidhjeve të thjeshta.
Rasti i dytë
Ekipi shkroi një kërkesë për punën me të dhënat në kuadër të paradigmas ORM, e formuar sipas të gjitha rregullave, pa gabime. Trajtimi i saj zgjaste 2-3 minuta, dhe këto parametra dukeshin të pranueshme. Megjithatë, një implementim alternativ me ndihmën e zgjedhjeve më të thjeshta dhe pamjeve ofroi rezultat më shpejt — brenda 2 sekondash.
U bë e qartë se ishte koha të zgjidhnim një specialist i cili do të kalonte një certifikim në të gjithë grumbullin e projektit, për të kuptuar të gjitha nuancat dhe për të zgjedhur metodën optimale. Këtë detyrë e mori përsipër Aleksi.
Certifikatat e para
Për të kuptuar thelbin, Aleksi kreu , duke përfshirë të gjithë grumbullin teknologjik të projektit:
- TS: Zhvillimi i Aplikacioneve Windows me Microsoft .NET Framework 4
- TS: Qasja në të Dhënat me Programimin në C# në Microsoft .NET Framework 4
- TS: Zhvillimi i Aplikacioneve Windows në Microsoft .NET Framework 3.5
- PRO: Projektimi dhe Zhvillimi i Aplikacioneve Windows duke përdorur Microsoft .NET Framework 3.5
- PRO: Projektimi dhe Zhvillimi i Aplikacioneve të Bazuar në Windows duke përdorur Microsoft .NET Framework
- TS: Microsoft .NET Framework 2.0 — Zhvillimi i Klientëve të Bazuar në Windows
Duke u përpjekur të optimizojnë punën mbi projektin e ri, ekipi arriti në përfundimet e mëposhtme:
- Për funksionimin e sistemeve është e nevojshme të respektohen rregullat e shkruarjes së kodit: jo hapësira dhe komente, por karakteristikat teknike — numri i thirrjeve në baza të dhënash, ngarkesa në server dhe shumë të tjera.
- Përdorimi i koncepteve kontradiktore është i rrezikshëm. Koncepti i bazave të të dhënave — teoria e grupeve, ndërsa ORM — koncepti i operacioneve.
- Idetë që shkelin rendin e zakonshëm mund të takojnë rezistencë në ekip. Zhvillimi është gjithashtu marrëdhënie dhe aftësia për të argumentuar pikëpamjen tuaj.
- Certifikimi zgjeron horizontet dhe lejon të kuptosh se çfarë mund të përdorësh, si dhe çfarë nuk mund të përdorësh.

Hapi i tretë: studio vetëm kodin
Kur punoni mbi zgjidhje të mëdha IT, janë të rëndësishme shumë faktorë. Për shembull, jo çdo zhvillues i kushton vëmendje parametrave të rrjetit — por edhe kapaciteti i tij mund të ndikojë në zgjidhjen e problemit të biznesit.
Kjo kuptohet nga certifikatat e serisë 98:
Ato lejojnë një këndvështrim më të gjerë dhe dalin nga koncepti i kufizuar “vetëm kod”. Këto janë Themellet, baza, por janë të rëndësishme për të kuptuar gjithçka në një nivel më të thellë.
Certifikatat e serisë 98 janë teste të vogla — 30 pyetje për 45 minuta.
Hapi i katërt: menaxhimi i proceseve
Puna me klinikat është një aktivitet më i përgjegjshëm se, për shembull, krijimi i një loje mobile. Këtu nuk mund të shtoni një veçori dhe ta nxirrni në prodhim — është e rëndësishme të respektohet procesi i miratimit dhe futjes së shumë rregullimeve nga ana e klientit, pasi në lojë janë shëndeti dhe jeta e njerëzve.
Agile tipikisht nuk ofronte rezultatet e dëshiruara në këtë projekt, dhe çdo sprint zgjati mjaft gjatë. Ndërmjet deploy-ve kalonin nga 6 muaj deri në një vit.
Për më tepër, teknologjikisht ishte e pamundur të ndërtoheshin proceset e dhjetë klinikave në një të përbashkët.
Për të marrë rezultate më të shpejta në këto kushte, zhvilluesit kërkonin përgjegjësi personale dhe një vizion të gjerë për proceset - që do të thoshte, përqendrim të vazhdueshëm dhe kualifikim të lartë.
Kur një specialist është i angazhuar në proces, ai sheh qartë rezultatet, arsyet dhe pasojat, si dhe pamjen e plotë. Kjo është njëkohësisht një faktor motivimi shtesë dhe njohjeje, duke përmirësuar aftësitë për të zgjidhur probleme.
Me një infrastrukturë të mirë të shkallëzuar, arkitekturë të ndërtuar mirë dhe kod optimal, një person mund të marrë përsipër shumë procese. Megjithatë, kjo nuk do të thotë se duhet të krijohen ushtarë universale që të udhëheqin projektin nga vetja. Komunikimi dhe puna në ekip janë thelbësore.
Në një ekip, çdo zhvillues e kupton se kolegët e tij varen nga veprimet e tij. Kursimi i 5 minutave në fazën e zhvillimit mund të jetë, ndoshta, 5 orë shtesë testimi. Për ta kuptuar këtë, është e rëndësishme të vendosen komunikime.
Në projektin tonë, mbështetje në përsosjen e proceseve për Aleksin i shërbyen :
- 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
Në edX janë ndjekur kurse që ndihmuan në shikimin e sistemit nga këndvështrimi i statistikës dhe programimit të kujdesshëm dhe më vonë nxitur për të marrë diplomën e arkitektit:
- Lean Production
- Six Sigma: Analyze, Improve, Control
- Six Sigma: Define and Measure
Sipas parimit të “Gjashtë Sigmave” (Six Sigma), kontrolli statistikor siguron një rezultat cilësor me një probabilitet jashtëzakonisht të lartë.
Duke rritur nivelin e tyre, zhvilluesit zakonisht arrijnë në përfundime të tilla:
- Puna bëhet në mënyrë efikase, jo shumë.
- Mos e kompliko jetën në kërkim të pamjes së jashtme: teknologjitë moderne nuk e sigurojnë domosdoshmërisht një zgjidhje më të mirë për problemet.
- Bashkëpunoni me specialistët në të gjitha fazat e ciklit dhe identifikoni dhimbjet e tyre. Arkitekti duhet të ketë zotërim mbi proceset: identifikimi i problemit, formulimi i detyrës, projektimi i topologjisë së rrjetit, zhvillimi, testimi, mbështetja, operimi.
- Kontrolloni çdo veçori nga fillimi deri në fund.
- Ndonjëherë, proceset IT nuk përputhen me proceset e biznesit, dhe kjo duhet të luftohet.

Hapi i pestë: kuptoni arkitekturën përmes prizmit të Big Data.
Në projekt, kishim të bëjmë me baza të dhënash mjaft të mëdha. Të paktën, kështu dukej deri në një moment të caktuar. Kur Aleksei filloi të studiojë të dhënat e mëdha në edX, u zbulua se 1,5 Tb në projekt ishin një bazë e vogël të dhënash. Masat serioze fillojnë nga 10 Tb, dhe aty kërkohen metoda të tjera.
Hapi tjetër në rrugën për certifikimin ishte kursi mbi të dhënat e mëdha. Ai ndihmoi në kuptimin e organizatës së fluxit të të dhënave dhe në përshpejtimin e operacioneve në prodhim. Po ashtu, vuri në dukje veglat e vogla, për shembull, filloi të përdorë Excel për të zgjidhur disa mikrodetyra.
Certifikata:
Programi Profesional i Microsoft: Certifikata mbi Të Dhënat e Mëdha.

Hapi i gjashtë: nga zhvilluesi në arkitekt.
Pasi mori të gjitha certifikatat e përmendura, akoma si zhvillues, Aleksei filloi të kuptojë se informacioni i marrë kishte një nivel të lartë abstraksioni, dhe kjo nuk është aspak negative.
Vizioni i gjerë mbi proceset e çon në nivelin e arkitektit, një nga shkallët më të larta të certifikimit.
Në kërkimin e certifikimit të arkitektit, Aleksei arriti te nga Sundblad & Sundblad. Ky është një program i njohur nga Microsoft, zhvillimi i tij filloi 14 vjet më parë në bashkëpunim me zyrën qendrore dhe atë suedeze të kompanisë. Ai mbulon .NET Framework, mbledhjen e kërkesave, menaxhimin e fluxit të informacionit dhe shumë çështje të tjera në nivel të lartë dhe konsiderohet një konfirmim të fuqishëm të aftësive të arkitektit.
Brenda programit ishin kurse për studim. Certifikimi sistematizoi njohuritë dhe e lejoi të kalonte në një nivel të ri zhvillimi — nga zhvillues në arkitekt.

Duke përmbledhur
Siç thekson Aleksei, në procesin e punës me një sistem IT të madh, është e rëndësishme të mbani mend se programimi nuk është një argëtim i shtrenjtë, por një mjet për zgjidhjen e detyrave të biznesit. Duke u përballur me një sfidë të caktuar, është e domosdoshme të shkruhet vlera biznesi, që projekti të mos shkojë në një qorrsokak.
Arkitektët kanë një shikim të veçantë për programimin dhe elementet e tij themelore:
- Krijimi dhe/ose mbështetja e fluxit të të dhënave
- Ekstraktimi i fluxit të informacionit në bazë të fluxit të të dhënave
- Ekstraktimi i fluxit të vlerës mbi bazën e fluxit të informacionit
- Monetizimi i fluxit të vlerës
Nëse shihen projektet me sytë e arkitektit, duhet të fillohet nga fundi: të formulohet vlera dhe pastaj të shkohet drejt saj përmes fluxit të të dhënave.
Arkitektët ndjekin rregullat e zhvillimit, duke pasur një vizion global për projektin. Arritja në këtë vizion përmes praktikës dhe gabimeve personale është pothuajse e pamundur — për më saktë, është e mundur, por shumë e gjatë. Certifikimi ndihmon në zgjerimin e horizontit dhe në shikimin e kontekstit të plotë të çdo çështjeje, duke njohur përvojën e mijëra profesionistëve dhe duke zhvilluar aftësi për zgjidhjen efektive të problemeve.
Sot, ne po punojmë me sistemin e përshkruar të shëndetësisë për më shumë se pesë vjet dhe kemi arritur përmirësime të konsiderueshme. Gjatë kësaj kohe, Aleksei ka kaluar më shumë se 20 provime certifikimi:
- TS: Zhvillimi i Aplikacioneve Windows me Microsoft .NET Framework 4
- TS: Qasja në të Dhënat me Programimin në C# në Microsoft .NET Framework 4
- TS: Zhvillimi i Aplikacioneve Windows në Microsoft .NET Framework 3.5
- PRO: Projektimi dhe Zhvillimi i Aplikacioneve Windows duke përdorur Microsoft .NET Framework 3.5
- PRO: Projektimi dhe Zhvillimi i Aplikacioneve të Bazuar në Windows duke përdorur Microsoft .NET Framework
- TS: Microsoft .NET Framework 2.0 — Zhvillimi i Klientëve të Bazuar në Windows
- 98-361: Themellet e Zhvillimit të Softuerit
- 98-364: Themellet e Bazave të Dhënash
- 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
- Programi Profesional i Microsoft: Certifikata mbi Të Dhënat e Mëdha.
- Arkitekt i Certifikuar i Softuerit — Platforma Microsoft.

Pas kalimit të të gjitha provimeve, Aleksei u ngrit nga zhvilluesi kryesor në arkitektin e projektit. Ndërkohë, certifikimi u bë një mjet i fuqishëm për zhvillimin profesional dhe për ndërtimin e reputacionit në sytë e klientit.
“Tari” i certifikimit ndihmoi në fitimin e qasjes në disa procese kritike, që kishin nevojë për kontroll dhe përpunim. Klientët europeanë të zgjidhjeve IT, zakonisht vlerësojnë shumë specialistët e certifikuar dhe janë gati t'u ofrojnë atyre më shumë liri veprimi.
Faleminderit për vëmendjen! Shpresojmë që ky artikull ishte i dobishëm për ju.
Burimi: habr.com
