Szinte minden fejlesztő felteszi a kérdést, hogyan fejlesztheti képességeit és melyik növekedési irányt válassza: függőleges – azaz menedzseri pozíciót vállal, vagy vízszintes – full stack lehetőséget. A hosszú távú munkavégzés egy terméken, a mítoszok ellenére, nem korlátozás, hanem hasznos lehetőség. Ebben a cikkben megosztjuk Alexey backend fejlesztő tapasztalatait, aki 6 évet szentelt a tanúsítványoknak és ezen idő alatt építette fel pályafutását az architektúráig.

Ki az architektus?
Az IT architektus (tech lead) egy felsőbb szintű fejlesztő, aki globális kérdésekkel foglalkozik IT projekteken. Belemélyed a megrendelő üzleti folyamataiba, és segít megoldani az ő kihívásait technológiai eszközökkel, valamint meghatározza, hogyan fog felépülni az adott információs rendszer.
Egy ilyen szakembernek nemcsak az egyes szakterületekben kell jártasnak lennie, hanem az egész folyamatot is látnia kell:
- Üzleti feladatok meghatározása.
- Fejlesztés, beleértve a programozást, az adatok előkészítését, tárolását és feldolgozását.
- Infrastruktúra telepítése és támogatása.
- Tesztelés.
- Telepítés.
- Elemzés és üzemeltetési karbantartás.
Ez azt jelenti, hogy képesnek kell lennie minden szakember vagy csapat helyébe képzelni magát a fejlesztési ciklus során, belülről megérteni a rendszerek jelenlegi állapotát, feltárni a hibákat, és megfogalmazni a célokat. Néha pedig saját kezűleg kell beavatkozni.
A fejlesztőtől architektussá válás útja hosszú időt vesz igénybe – általában több évet. Ehhez a fejlesztőnek mind gyakorlati készségekre, mind pedig elméleti tudásra van szüksége, amelyet nemzetközi tanúsítványokkal lehet igazolni.
Több mint 5 év ugyanazon a projekten – rutin vagy a növekedés lehetősége?
Néhány évvel ezelőtt kezdtük el egy nagy orvosi IT rendszer fejlesztését egy külföldi megrendelő számára. Ebben a nagyszabású projektben bizonyos problémák merültek fel:
- korlátozott hozzáférések;
- stabilitás hiánya;
- hihetetlenül elnyújtott sprintek és hosszú jóváhagyási folyamatok.
Itt az ideje a szakmai fejlődésnek., — ezt a döntést hozta meg az egyik vezető fejlesztő, Alexey, hogy leküzdje az említett nehézségeket és jobban megértse a rendszert.
Alekszej megosztotta tapasztalatait arról, hogy mivel érdemes kezdeni a tanulást, milyen nyelvvizsgákat fontos megszerezni, hogyan és miért érdemes ezt megtenni.
Első lépés: fejleszd az angolt
A programozási nyelvek alapvető részei a fejlesztésnek, de a kommunikációhoz szükséges nyelvek éppolyan fontosak. Különösen az angolul beszélő megrendelőkkel való kommunikáció során!
A gyakorlat alapján
Egy szép napon Alekszejt felhívta egy megrendelő munkatársa. Akkoriban a fejlesztőnk még nem büszkélkedhetett sok tanúsítvánnyal — sem technológiai, sem vezetői, sem kommunikációs téren. Lehet, hogy ezekre nem is lett volna szüksége — hiszen egy szakképzett szakember lehet további rangok nélkül is. De a probléma így is felmerült.
Fontos megérteni, hogy a beszélt nyelv radikálisan eltér az írotttól. Ha nagyon jól eligibilizálod magad az angol nyelvű specifikációkban, de nem gyakorlod a hallást és a beszédet, akkor rossz híreink vannak számodra. Ebben az esetben a telefonos tárgyalások a partnerekkel zsákutcába futhatnak.
Alekszej a hívás során néhány ismerős szót észlelt, de kollégája beszéde annyira gyors volt és jelentősen eltért az audiovizsgálatoktól, hogy a kérdéseinek lénye a füléhez sem jutott el. Udvariasságból és hogy ne bonyolítsa a helyzetet, Alekszej gyorsan egyetértett az összes javaslattal.
Nem kell mondani, hogy a munka során kényelmetlen felfedezések történtek? A fejlesztőnk ilyenbe külön volna hajlandó belemenni, ha az ajánlat egyértelmű nyelven érkezett volna.
Abban a pillanatban világossá vált, hogy a hallás és beszéd készségek fejlesztése elengedhetetlen. A legjobb módszer a tanúsítványok megszerzése volt.
Angol nyelvvizsga
A kommunikációk javítása érdekében az orvosi projektünk keretében Alekszej több programban is tanult. Ennek eredményeként sikeresen letette az FCE — First Certificate in English vizsgát. Ez segített abban, hogy elkezdje hallani a megrendelőt és közölni a gondolatait vele.
Tippek:
Kerüld a klasszikus angol nyelv tanulmányozására vonatkozó programokat. A készségeknek célzottaknak kell lenniük. Ha üzleti kommunikációhoz szükséges az angol, akkor ezt kell tanulni. Csak ne ess túlzásokba, és ne tedd le a CAE-t (Certificate in Advanced English). Az a sajátossága, hogy bonyolult szavakat és specifikus kifejezéseket tartalmaz, amelyeket a nemzetközi kommunikáció során szinte soha nem használnak.

Második lépés: a technológiai stack minden szintjének tanúsítása
A projekt alapját eredetileg az objektum-relációs leképezési (ORM) technológia alkotta. A megrendelő fejlesztőcsapata büszke volt az alkotására, hiszen mindent korszerű koncepciók alkalmazásával valósítottak meg, nehezen és látványosan.
Ennek ellenére a termelésbeli problémák — különösen a folyamatosan lefagyó SQL-szerver — nem voltak ritkák. Olyan súlyos helyzetek is előfordultak, amikor a probléma megoldásának tipikus módja a szolgáltatás újraindítása volt. A megrendelő felhívta a csapatvezetőt, és közölte, hogy itt az ideje az újraindításnak. Végül úgy döntöttünk, hogy véget vetünk ennek.
A megrendelő azt kérte, hogy dolgozzunk a rendszer teljesítményén — ezért be kellett vezetni a profilozást és rendszeresen optimalizálni kellett. A profilozási eszköznek az akkori időszakban — körülbelül 2015 körül — az Ants Profiler-t választottuk, de az gyengén teljesített. Alacsony részletesség mellett nehéz volt információt kapni a kritikus kódblokkról. Maximális részletesség mellett az Ants Profiler olyan módon módosította a kódot, hogy a rendszerek működése veszélybe került — ahol a profilozást beállították, ott minden egyszerűen összeomlott. Ezért megváltoztattuk a megközelítést.
Statisztikaelemzéssel kezdtük
A termelésbeni statisztikaelemzés során világossá vált, hogy a szerveren végzett munkák 95%-a primitív üzleti logikával rendelkezik, mindössze 4 sorban. Ezekhez elegendő volt egy SQL-lekérdezés, nem pedig a teljes lekérdezéscsoport, amelyet az üzleti logika ORM-mel generált.
Alexej javasolta és megvalósította a munkák ORM nélküli áthelyezésére szolgáló tárolt eljárást. Az ötlet ellentmondott a megszokott projekti paradigmának, a csapatvezető óvatosan fogadta, de a megrendelő mindent elfogadott és kérte a bevezetést. Ez nem meglepő, hiszen az új módszer lehetővé tette, hogy a termelésbeli feldolgozási késlekedések négy óráról néhány percre csökkenjenek — átlagosan 98-szor.
Mégis, voltak kétségeink: ez helyes döntés vagy a személyes preferenciák kérdése? A mindentudó C#-ban és ORM-ben való hitünket megingatta a véletlen, amely megmutatta az egyszerű megoldások erejét.
Második eset
A csapat egy ORM paradigmában végzett adatokkal való munkára írt lekérdezést, amely megfelelt minden szabálynak, hibák nélkül. A feldolgozása 2-3 percet vett igénybe, és ezek a paraméterek elfogadhatónak tűntek. Azonban egy alternatív megvalósítás a legegyszerűbb kiválasztások és nézetek segítségével gyorsabb eredményt biztosított — mindössze 2 másodperc alatt.
Kiderült, hogy ideje szakembert választani, aki a projekt teljes stack-jén végigmegy a tanúsításon, hogy megértse az összes részletet és megtalálja az optimális módszert. Ezt a feladatot Alekszej vállalta magára.
Első tanúsítványok
A lényeg megértéséhez Alekszej több , amelyek a projekt teljes technológiai stack-jét felölelték:
- TS: Windows alkalmazások fejlesztése Microsoft .NET Framework 4-tel
- TS: Adatok elérése Microsoft .NET Framework 4 programozás C#-ban
- TS: Microsoft .NET Framework 3.5 Windows Forms alkalmazásfejlesztés
- PRO: Windows alkalmazások tervezése és fejlesztése Microsoft .NET Framework 3.5 segítségével
- PRO: Windows alapú alkalmazások tervezése és fejlesztése Microsoft .NET Framework felhasználásával
- TS: Microsoft .NET Framework 2.0 — Windows-alapú kliensfejlesztés
Az új projekten végzett munka optimalizálása érdekében a csapat a következő következtetésekre jutott:
- A rendszerek működéséhez be kell tartani a kódírás szabályait: nem a behúzások és megjegyzések, hanem a technikai jellemzők — az adatbázisokhoz való kapcsolatok száma, a szerver terhelése és még sok más.
- Ellentmondásos fogalmak alkalmazása kellemetlenségeket okozhat. Az adatbázisok fogalma — halmazelmélet, míg az ORM — műveletek fogalma.
- Azok az ötletek, amelyek megsértik a megszokott rendet, ellenállásba ütközhetnek a csapatban. A fejlesztés a kapcsolatok és az érvelés képességéről is szól.
- A tanúsítványok szélesítik a látókört és segítenek megérteni, hogy mit érdemes használni, és mit nem.

Harmadik lépés: tanulmányozd a kódot
Nagy léptékű IT megoldások kidolgozásakor számos tényezőt figyelembe kell venni. Például nem minden fejlesztő figyel a hálózati paraméterekre — de még a sávszélesség is befolyásolhatja az üzleti feladatok megoldását.
Ezt az 98-as sorozatú tanúsítványok adhatják meg:
Ezek szélesebb perspektívát adnak, és segítenek kilépni a „csak kód” korlátolt gondolkodásból. Ezek az alapok, de fontosak ahhoz, hogy mindent mélyebb szinten értsünk.
A 98-as sorozatú tanúsítványok kis teszteket jelentenek — 30 kérdés 45 perc alatt.
Negyedik lépés: folyamatmenedzsment
A klinikákkal való munka felelősségteljesebb tevékenység, mint például egy mobil játék létrehozása. Itt nem lehet egyszerűen új funkciót hozzáadni és kiadni, fontos betartani a jóváhagyási folyamatot és a megrendelő által végzett számos módosítást, hiszen emberek egészsége és élete forog kockán.
A tipikus Agile nem hozta a kívánt eredményeket ebben a projektben, és minden sprünthöz viszonylag hosszú időre volt szükség. A telepítések között 6 hónaptól egy évig terjedt az idő.
Ráadásul tisztán technikai szempontból lehetetlen volt a tíz kezelt klinika folyamatait közös nevezőre hozni.
Ahhoz, hogy ezekben a körülmények között gyorsabban érjék el az eredményeket, a fejlesztőknek személyes felelősségvállalásra és széleskörű folyamatlátásra volt szükségük - ez pedig állandó figyelmet és magasan képzett szakembereket igényel.
Amikor egy szakember belemerül a folyamatba, világosan látja az eredményeket, okokat és következményeket, valamint az egységes képet. Ez egyszerre motiváló tényező, tájékozottságot biztosít és javítja a problémamegoldási képességet.
Jól megtervezett infrastruktúra, megfelelő architektúra és optimalizált kód mellett egy ember sok folyamatot képes átvenni. Ez azonban nem jelenti azt, hogy univerzális katonákat kellene nevelni, akik egyedül vezetik a projektet. A kommunikációk és a csapatmunka kiemelten fontosak.
A csapatban minden fejlesztő tudja, hogy a kollégák függenek a cselekedeteitől. Az 5 perces időmegtakarítás a fejlesztési szakaszban akár 5 órányi plusz tesztelést is jelenthet. Ennek megértéséhez fontos a kommunikációk megszervezése.
A mi projektünkben a folyamatok elsajátításában Alekszeynek segítséget nyújtottak :
- M_o_R Alapító Tanúsítvány a Kockázatkezelésben
- Agile Scrum Alapítvány
- IT Szolgáltatásmenedzsment Alapítvány
- EXIN Üzleti Információmenedzsment Alapítvány
- PRINCE2 Alapító Tanúsítvány a Projektek Menedzsmentjében
- Tesztmérnöki Tanúsítvány
- Microsoft Műveleti Keretrendszer Alapítvány
- Agile Szolgáltatási Projektek
Az edX platformon olyan kurzusokat végeztek, amelyek segítettek statisztikai és lean programozási szempontból nézni a rendszert, és később az építész tanúsítvány megszerzésére ösztönöztek. építész tanúsítvány:
- Lean Termelés
- Six Sigma: Elemzés, Fejlesztés, Ellenőrzés
- Six Sigma: Meghatározás és Mérési
A 'Six Sigma' elv szerint a statisztikai ellenőrzés rendkívül magas valószínűséggel biztosítja a minőségi eredményeket.
A fejlesztők, amikor emelik a szintjüket, általában a következő következtetésekre jutnak:
- Ne dolgozzanak sokat, hanem hatékonyan.
- Ne bonyolítsák az életüket a külső tényezők hajszolásában: a bonyolult technológiák nem feltétlenül oldják meg a problémákat jobban.
- Ismerkedjen meg a ciklus minden szakaszában dolgozó szakemberekkel, és derítse ki a fájdalmaikat. Az építésznek ismernie kell a folyamatokat: a probléma azonosítása, a feladat megfogalmazása, a hálózat topológiájának megtervezése, fejlesztés, tesztelés, támogatás, üzemeltetés.
- Ellenőrizze minden funkciót a kezdetektől a végéig.
- Előfordulhat, hogy az IT-folyamatok nem felelnek meg az üzleti folyamatoknak, és ezzel foglalkozni kell.

Ötödik lépés: az architektúra megérteni a Big Data szempontjából
A projekt során meglehetősen nagy adatbázisokkal kellett foglalkoznunk. Legalábbis így tűnt egy bizonyos ideig. Amikor Alexei elkezdte tanulmányozni a nagy adatokat az edX-en, kiderült, hogy a 1,5 Tb adat egy projektben kicsi adatbázisnak számít. A komoly méretek a 10 Tb-tól kezdődnek, és ott más módszerek szükségesek.
A következő lépés a tanúsítvány megszerzéséhez a nagy adatokkal kapcsolatos kurzus volt. Segített megérteni az adatfolyamok megszervezését és felgyorsítani a műveleteket a termelésben. Ezen kívül felhívta a figyelmet a kisebb eszközökre, például elkezdte használni az Excelt egyes mikrófeladatok megoldására.
Tanúsítvány:
Microsoft Professional Program: Big Data Certificate

Hatodik lépés: a fejlesztőtől az építészig
Minden felsorolt tanúsítvány megszerzése után, még fejlesztőként, Alexei elkezdte megérteni, hogy az így szerzett információk magas absztrakciós szinttel bírnak, ami nem is rossz.
A folyamatok átfogó látásmódja az építész szintjére emel, ami a tanúsítványok egyik legmagasabb szintje.
Az építész tanúsítvány megszerzése érdekében Alexei eljutott a a Sundblad & Sundblad-tól. Ez egy Microsoft által elismert program, amelynek fejlesztése már 14 évvel ezelőtt kezdődött a vállalat központi és svéd irodája közötti együttműködés során. A program a .NET Frameworkra, a követelmények gyűjtésére, az információáramlás kezelésére és sok más kérdésre terjed ki magas szinten, és komoly megerősítése az építész készségeinek.
A program keretében kiemelt kurzusok álltak rendelkezésre. A tanúsítvány rendszerezte a tudást és lehetővé tette, hogy Alexei új fejlődési szakaszba lépjen — a fejlesztőtől az építészig.

Összefoglalva
Ahogy Alexei megjegyzi, a nagy léptékű IT-rendszerekkel való munka során fontos emlékezni arra, hogy a programozás nem drága szórakozás, hanem eszköz az üzleti problémák megoldására. Amikor szembe kell nézni egy bizonyos kihívással, mindenképpen érdemes üzleti értéket rögzíteni, hogy a projekt ne kerüljön zsákutcába.
Az építész különös nézőponttal bír a programozásra és annak alapvető összetevőire:
- Adatfolyam létrehozása és/vagy fenntartása
- Információs áram kinyerése az adatfolyam alapján
- Értékfolyam kinyerése az információs áram alapján
- Az értékfolyam monetizálása
Ha az építész szemével nézünk a projektre, akkor a végével kell kezdeni: megfogalmazni az értéket, és ezután az adatfolyamon keresztül eljutni hozzá.
Az építész betartja a fejlesztési szabályokat, miközben globális látásmóddal rendelkezik a projektről. Gyakorlat és saját hibák által eljutni ehhez szinte lehetetlen — pontosabban, lehetséges, de nagyon hosszú időt igényel. A tanúsítvány lehetőséget ad a látókör szélesítésére és arra, hogy teljes kontextusban megismerjük minden kérdést, találkozzunk ezer szakember tapasztalataival, és kialakítsuk a hatékony problémamegoldás készségét.
Jelenleg több mint öt éve dolgozunk a fent említett egészségügyi rendszeren, és jelentős javulásokat értünk el. Ez idő alatt Alex több mint 20 tanúsítványvizsgát tett:
- TS: Windows alkalmazások fejlesztése Microsoft .NET Framework 4-tel
- TS: Adatok elérése Microsoft .NET Framework 4 programozás C#-ban
- TS: Microsoft .NET Framework 3.5 Windows Forms alkalmazásfejlesztés
- PRO: Windows alkalmazások tervezése és fejlesztése Microsoft .NET Framework 3.5 segítségével
- PRO: Windows alapú alkalmazások tervezése és fejlesztése Microsoft .NET Framework felhasználásával
- TS: Microsoft .NET Framework 2.0 — Windows-alapú kliensfejlesztés
- 98-361: Szoftverfejlesztési alapok
- 98-364: Adatbázis-alapok
- M_o_R Alapító Tanúsítvány a Kockázatkezelésben
- Agile Scrum Alapítvány
- IT Szolgáltatásmenedzsment Alapítvány
- EXIN Üzleti Információmenedzsment Alapítvány
- PRINCE2 Alapító Tanúsítvány a Projektek Menedzsmentjében
- Tesztmérnöki Tanúsítvány
- Microsoft Műveleti Keretrendszer Alapítvány
- Agile Szolgáltatási Projektek
- Lean Termelés
- Six Sigma: Elemzés, Fejlesztés, Ellenőrzés
- Six Sigma: Meghatározás és Mérési
- Microsoft Professional Program: Big Data Certificate
- Certified Software Architect — Microsoft Platform

Miután letette az összes vizsgát, Alex a vezető fejlesztőtől a projektépítész lett. A tanúsítás hatékony eszközként szolgált mind a szakmai fejlődés, mind a megbízók szemében a hírnév kiépítése szempontjából.
A “tanúsítványos eszköz” hozzáférést biztosított olyan kritikus folyamatokhoz, amelyek ellenőrzést és kidolgozást igényeltek. Az európai IT-megoldás megrendelők általában nagyra értékelik a tanúsítvánnyal rendelkező szakembereket és hajlandóak nagyobb mozgásteret adni számukra.
Köszönjük a figyelmet! Reméljük, hogy a cikk hasznos volt az Ön számára.
Forrás: habr.com
