Az építész útja: tanúsítvány és a termékbe való merülés

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.

Az építész útja: tanúsítvány és a termékbe való merülés

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.

Az építész útja: tanúsítvány és a termékbe való merülés

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 Microsoft tanúsításon ment keresztül, 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.

Az építész útja: tanúsítvány és a termékbe való merülés

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 az EXIN által kiadott tanúsítványok:

  • 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.

Az építész útja: tanúsítvány és a termékbe való merülés

Ö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

Az építész útja: tanúsítvány és a termékbe való merülés

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 Certified Software Architect — Microsoft Platform 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.

Az építész útja: tanúsítvány és a termékbe való merülés

Ö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:

  1. TS: Windows alkalmazások fejlesztése Microsoft .NET Framework 4-tel
  2. TS: Adatok elérése Microsoft .NET Framework 4 programozás C#-ban
  3. TS: Microsoft .NET Framework 3.5 Windows Forms alkalmazásfejlesztés
  4. PRO: Windows alkalmazások tervezése és fejlesztése Microsoft .NET Framework 3.5 segítségével
  5. PRO: Windows alapú alkalmazások tervezése és fejlesztése Microsoft .NET Framework felhasználásával
  6. TS: Microsoft .NET Framework 2.0 — Windows-alapú kliensfejlesztés
  7. 98-361: Szoftverfejlesztési alapok
  8. 98-364: Adatbázis-alapok
  9. M_o_R Alapító Tanúsítvány a Kockázatkezelésben
  10. Agile Scrum Alapítvány
  11. IT Szolgáltatásmenedzsment Alapítvány
  12. EXIN Üzleti Információmenedzsment Alapítvány
  13. PRINCE2 Alapító Tanúsítvány a Projektek Menedzsmentjében
  14. Tesztmérnöki Tanúsítvány
  15. Microsoft Műveleti Keretrendszer Alapítvány
  16. Agile Szolgáltatási Projektek
  17. Lean Termelés
  18. Six Sigma: Elemzés, Fejlesztés, Ellenőrzés
  19. Six Sigma: Meghatározás és Mérési
  20. Microsoft Professional Program: Big Data Certificate
  21. Certified Software Architect — Microsoft Platform

Az építész útja: tanúsítvány és a termékbe való merülés

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

Megbízható hosting vásárlása weboldalak számára, DDoS védelemmel, VPS VDS szerverek. 🔥 Megbízható webtárhely vásárlása DDoS védelemmel, VPS VDS szerverek | ProHoster