Cesta architekta: Certifikace a ponoření do produktu

Téměř každý vývojář si klade otázky, jak by měl rozvíjet své dovednosti a jaký směr růstu zvolit: vertikální – tedy stát se manažerem, nebo horizontální – full stack. Mnoho let práce na jednom produktu se v rozporu s mýty nestává omezením, ale užitečnou příležitostí. V tomto článku sdílíme zkušenosti našeho backendového vývojáře Alexeyho, který se certifikacím věnoval 6 let a během této doby se vypracoval na architekta.

Cesta architekta: Certifikace a ponoření do produktu

Kdo je architekt

IT architekt (tech lead) je vývojář na vysoké úrovni, který se zabývá globálními problémy v IT projektech. Ponoří se do podnikových procesů zákazníka a pomáhá řešit jeho problémy pomocí technologií a také určuje, jak bude ten či onen informační systém strukturován.

Takový profesionál potřebuje nejen porozumět jednotlivým oborům, ale také vidět celý proces:

  • Nastavení obchodního problému.
  • Vývoj včetně programování, přípravy, ukládání a zpracování dat.
  • Nasazení a podpora infrastruktury.
  • Testování.
  • Nasadit.
  • Analytické a provozní služby.

To znamená schopnost vžít se do kůže jakéhokoli specialisty nebo týmu v životním cyklu vývoje, porozumět aktuálnímu stavu systémů zevnitř, identifikovat chyby a formulovat cíle. Někdy musíte provést operaci sami.

Cesta profesního rozvoje od developera k architektovi trvá dlouho – obvykle několik let. K tomu potřebuje vývojář jak praktické dovednosti, tak teoretické znalosti, které může potvrdit mezinárodní certifikace.

Více než 5 let na jednom projektu – rutina nebo příležitost k růstu?

Před několika lety jsme začali pracovat na rozsáhlém medicínském IT systému pro zahraničního zákazníka. V tomto rozsáhlém projektu byly určité problémy:

  • omezený přístup;
  • nestabilní prod;
  • neuvěřitelně dlouhé sprinty a zdlouhavé schvalování.

„Je čas zlepšit své dovednosti““, - jeden z předních vývojářů Alexey dospěl k tomuto rozhodnutí, aby překonal uvedené potíže a lépe porozuměl systému.

Alexey se podělil o své zkušenosti, kde je lepší začít s výcvikem, jaké certifikáty je důležité získat, jak a proč to udělat.

První krok: zdokonalte se v angličtině

Programovací jazyky jsou základní součástí vývoje, ale stejně důležité jsou jazyky pro komunikaci. Zejména v komunikaci s anglicky mluvícím zákazníkem!

Z praxe

Jednoho krásného dne Alexey obdržel hovor od zaměstnance ze strany zákazníka. Náš vývojář se tehdy ještě nemohl pochlubit hromadou certifikátů – ani v technice, ani v managementu, ani v komunikaci. Možná by nebyly užitečné - koneckonců můžete být kompetentním specialistou bez dalších ozdob. Problém ale stále vyvstal.

Musíme pochopit, že mluvený jazyk se radikálně liší od psaného jazyka. Pokud se dobře orientujete v anglických specifikacích, ale neprocvičujete poslech a mluvení, pak pro vás máme špatnou zprávu. Telefonické rozhovory s partnery mohou v tomto případě vést do slepé uličky.

Alexey během hovoru zachytil několik známých slov, ale řeč jeho kolegy byla tak rychlá a na rozdíl od klasické výslovnosti z audio lekcí, že hlavní podstata jejích otázek šla někam pryč. Ze zdvořilosti a neochoty komplikovat situaci Alexey rychle souhlasil se všemi návrhy.

Musím říkat, že během práce došlo k nepříjemným objevům? Náš vývojář se přihlásil k něčemu, co by zcela záměrně odmítl, kdyby nabídka přišla ve srozumitelném jazyce.

V tu chvíli bylo jasné, že je prostě potřeba zlepšit poslech a řeč. Nejlepší způsob, jak toho dosáhnout, byly certifikace.

Certifikace anglického jazyka

Aby se zlepšila komunikace v rámci našeho lékařského projektu, Alexey studoval několik programů najednou. Díky tomu složil certifikaci FCE – First Certificate in English. To mi pomohlo začít naslouchat zákazníkovi a sdělit mu své myšlenky.

Life hacking:

Vyhněte se základním anglickým programům. Dovednost musí být cílená. Pokud potřebujete angličtinu pro obchodní komunikaci, měli byste si ji vzít. Jen nechoďte do extrémů a vezměte si CAE (Certificate in Advanced English). Jeho zvláštností jsou sofistikovaná slova, specifické výrazy, které se v mezinárodní komunikaci téměř nepoužívají.

Cesta architekta: Certifikace a ponoření do produktu

Krok XNUMX: certifikace napříč celou řadou technologií

Zpočátku byl projekt založen na technologii objektově-relačního mapování ORM. Vývojový tým na straně zákazníka byl hrdý na svůj nápad, protože vše bylo provedeno pomocí pokročilých konceptů, komplexní a cool.

Problémy ve výrobě – zejména neustále zamrzající SQL server – však nebyly neobvyklé. Dostalo se to do bodu, kdy typickým řešením problému bylo restartování služby. Zákazník zavolal vedoucímu týmu a řekl, že je čas restartovat. Nakonec jsme se rozhodli to ukončit.

Zákazník chtěl zpracovat výkon systému – k tomu bylo nutné zavést profilování a pravidelně provádět optimalizaci. V té době, kolem roku 2015, byl jako profilovací nástroj vybrán Ants Profiler, který však fungoval špatně. S nízkými detaily bylo obtížné získat informace o kritickém bloku kódu. Ants Profiler začal na maximální detaily měnit kód tak, že byla ohrožena funkčnost systémů – tam, kde bylo nakonfigurováno profilování, prostě všechno spadlo. Takže jsme změnili přístup.

Začali jsme analýzou statistik

Při analýze statistik prodeje vyšlo najevo, že 95 % práce na serveru má primitivní obchodní logiku o 4 řádcích. Pro ně stačil jeden SQL dotaz a ne kompletní sada dotazů generovaných blokem obchodní logiky s ORM.

Alexey navrhl a implementoval uloženou proceduru pro přesun práce bez ORM. Myšlenka byla v rozporu s obvyklým projektovým paradigmatem, vedoucí týmu ji uvítal opatrně, ale zákazník vše akceptoval a požadoval realizaci. Nebylo to překvapivé, protože nová metoda umožnila zkrátit zpoždění ve výrobě ze čtyř hodin na několik minut - v průměru 98krát.

Přesto jsme měli pochybnosti: je to správné rozhodnutí, nebo věc osobních preferencí? Víra ve všemocné C# a ORM byla otřesena nehodou, která ukázala plnou sílu jednoduchých řešení.

Případ dva

Tým napsal dotaz pro práci s daty v rámci paradigmatu ORM, sestavený podle všech pravidel, bez chyb. Jeho zpracování trvalo 2-3 minuty a tyto parametry se zdály přijatelné. Alternativní implementace využívající jednoduché selektory a pohledy však poskytla výsledky rychleji – za 2 sekundy.

Bylo zřejmé, že nastal čas vybrat si specialistu, který projde certifikací napříč celým projektem, aby pochopil všechny nuance a zvolil optimální metodu. Alexey se tohoto úkolu ujal.

První certifikáty

Aby pochopil podstatu, Alexey prošel několik certifikací společnosti Microsoft, pokrývající celý technologický zásobník projektu:

  • TS: Vývoj aplikací pro Windows s Microsoft .NET Framework 4
  • TS: Přístup k datům pomocí programování Microsoft .NET Framework 4 v C#
  • TS: Microsoft .NET Framework 3.5 Windows Forms Application Development
  • PRO: Navrhování a vývoj aplikací pro Windows pomocí Microsoft .NET Framework 3.5
  • PRO: Navrhování a vývoj aplikací pro Windows pomocí Microsoft .NET Framework
  • TS: Microsoft .NET Framework 2.0 – vývoj klientů pro Windows

Ve snaze optimalizovat práci na novém projektu tým dospěl k následujícím závěrům:

  • Aby systémy fungovaly, je nutné dodržovat pravidla psaní kódu: nikoli odsazení a komentáře, ale technické vlastnosti - počet volání do databází, zatížení serveru a mnoho dalšího.
  • Použití protichůdných konceptů může vést k potížím. Koncept databází je teorie množin, zatímco ORM je koncept operací.
  • Nápady, které narušují obvyklý řád věcí, mohou v týmu narazit na odpor. Rozvoj je také o vztazích a schopnosti argumentovat svým názorem.
  • Certifikace rozšiřuje vaše obzory a umožňuje vám pochopit, co lze použít a co nelze.

Cesta architekta: Certifikace a ponoření do produktu

Krok tři: Naučte se více než jen kód

Při práci na rozsáhlých IT řešeních je důležitých mnoho faktorů. Například ne každý vývojář věnuje pozornost parametrům sítě, ale i její šířka pásma může ovlivnit řešení obchodního problému.

Pochopení tohoto je dáno Certifikace řady 98:

Umožňují vám podívat se na věci šířeji a vyjít z omezeného konceptu „pouze kód“. Toto jsou Základy, základy, ale jsou důležité pro pochopení všeho na hlubší úrovni.

Certifikace Series 98 jsou krátké testy – 30 otázek po dobu 45 minut.

Krok čtyři: Řízení procesů

Spolupráce s klinikami je důležitější než třeba vytváření mobilní hry. Zde nemůžete přidat funkci a zavést ji do výroby – je důležité sledovat proces schvalování a provádění četných úprav od zákazníka, protože jde o zdraví a životy lidí.

Typical Agile na tomto projektu nepřinesl požadované výsledky a každý sprint trval poměrně dlouho. Mezi nasazeními to trvalo od 6 měsíců do roku.

Navíc bylo technicky nemožné přivést procesy deseti obsluhovaných klinik k nějakému společnému jmenovateli.

Aby se za těchto podmínek dostavily výsledky rychleji, potřebovali vývojáři osobní zodpovědnost a rozsáhlou vizi procesů – což znamená neustálou koncentraci a vysokou kvalifikaci.

Když je specialista ponořen do procesu, jasně vidí výsledky, příčiny a důsledky, celý obraz. To je zároveň faktorem dodatečné motivace a uvědomění, zlepšujícího schopnost řešit problémy a problémy.

S dobře fungující infrastrukturou, dobře vybudovanou architekturou a optimálním kódem může jeden člověk převzít mnoho procesů. To však neznamená, že je nutné vychovávat univerzální vojáky, kteří jsou schopni projekt vést sami. Důležitá je komunikace a týmová práce.

V týmu každý vývojář chápe, že jeho kolegové jsou závislí na jeho činech. Úspora 5 minut ve fázi vývoje znamená možná 5 hodin testování navíc. Abychom to pochopili, je důležité navázat komunikaci.

V našem projektu dostal Alexey pomoc při zvládnutí procesů certifikáty od EXIN:

  • Základní certifikát M_o_R v řízení rizik
  • Agile Scrum Foundation
  • Nadace správy IT služeb
  • EXIN Business Information Management Foundation
  • Základní certifikát PRINCE2 v projektovém řízení
  • Certifikát zkušebního inženýra
  • Microsoft Operations Framework Foundation
  • Agilní servisní projekty

Na edX byly absolvovány kurzy, které pomohly podívat se na systém z pohledu statistiky a štíhlého programování a později se dostaly k získání certifikát architekta:

  • Štíhlá výroba
  • Six Sigma: Analyzujte, vylepšujte, kontrolujte
  • Six Sigma: Definuj a měř

Statistická kontrola zajišťuje podle principu Six Sigma vysoce kvalitní výsledek s extrémně vysokou pravděpodobností.

Zvyšováním své úrovně dospívá vývojář zpravidla k následujícím závěrům:

  • Nepracujte tvrdě, ale pracujte efektivně.
  • Nekomplikujte si život pronásledováním vnějšku: luxusní technologie nemusí nutně řešit problémy lépe.
  • Spřátelte se se specialisty ve všech fázích cyklu a zjistěte jejich bolestivá místa. Architekt musí ovládat procesy: identifikace problému, nastavení problému, návrh topologie sítě, vývoj, testování, podpora, provoz.
  • Zkontrolujte všechny funkce uvnitř i vně.
  • Stává se, že IT procesy nekorespondují s obchodními procesy a s tím je třeba se vypořádat.

Cesta architekta: Certifikace a ponoření do produktu

Krok XNUMX: Pochopte architekturu optikou velkých dat

V průběhu projektu jsme se zabývali poměrně rozsáhlými databázemi. Alespoň to tak do určité chvíle vypadalo. Když Alexey začal studovat velká data na edX, ukázalo se, že 1,5 Tb na projektu je malá databáze. Vážné váhy - od 10 Tb a tam jsou vyžadovány další metody.

Dalším krokem k certifikaci byl kurz o velkých datech. Pomohl pochopit organizaci toku dat a zrychlit výrobní operace. A také pozor na drobné nástroje, začněte například používat Excel k řešení jednotlivých mikroúloh.

Osvědčení:
Microsoft Professional Program: Big Data Certificate

Cesta architekta: Certifikace a ponoření do produktu

Krok šest: od vývojáře k architektovi

Poté, co Alexey obdržel všechny uvedené certifikáty, ještě jako vývojář, začal chápat, že obdržené informace mají vysokou úroveň abstrakce, a to zdaleka nebylo špatné.

Rozsáhlá vize procesů vede k úrovni architekta, jedné z nejvyšších úrovní certifikace.

Při hledání certifikace architekta přišel Alexey Certifikovaný softwarový architekt – platforma Microsoft od Sundblad & Sundblad. Jedná se o program uznávaný Microsoftem, jeho vývoj začal před 14 lety ve spolupráci šéfa společnosti a švédských kanceláří. Pokrývá .NET Framework, shromažďování požadavků, řízení toku informací a mnoho dalších témat na vysoké úrovni a je považováno za silný důkaz dovedností architekta.

V rámci programu byly kurzy ke studiu. Certifikace systematizovala znalosti a umožnila nám vstoupit do nové etapy vývoje – od developera po architekta.

Cesta architekta: Certifikace a ponoření do produktu

Shrnutí

Jak poznamenává Alexey, při práci s rozsáhlým IT systémem je důležité si uvědomit, že programování není drahá zábava, ale nástroj pro řešení obchodních problémů. Když stojíte před tou či onou výzvou, rozhodně si musíte zapsat obchodní hodnotu, aby se projekt nedostal do slepé uličky.

Architekt má zvláštní pohled na programování a jeho základní součásti:

  • Vytváření a/nebo udržování toku dat
  • Extrahování toku informací z toku dat
  • Extrahování hodnotového toku z toku informací
  • Zpeněžení toku hodnot

Pokud se na projekt díváte očima architekta, musíte začít od konce: zformulovat hodnotu a pak k ní přejít tokem dat.

Architekt se řídí pravidly vývoje a má globální vizi projektu. Je téměř nemožné toho dosáhnout praxí a vlastními chybami – nebo spíše je to možné, ale bude to trvat velmi dlouho. Certifikace vám umožňuje rozšířit si obzory a podívat se na celý kontext každé problematiky, seznámit se se zkušenostmi tisíců profesionálů a rozvíjet dovednost efektivního řešení problémů.

K dnešnímu dni pracujeme s výše popsaným zdravotnickým systémem již více než pět let a dosáhli jsme významných zlepšení. Během této doby Alexey složil více než 20 certifikačních zkoušek:

  1. TS: Vývoj aplikací pro Windows s Microsoft .NET Framework 4
  2. TS: Přístup k datům pomocí programování Microsoft .NET Framework 4 v C#
  3. TS: Microsoft .NET Framework 3.5 Windows Forms Application Development
  4. PRO: Navrhování a vývoj aplikací pro Windows pomocí Microsoft .NET Framework 3.5
  5. PRO: Navrhování a vývoj aplikací pro Windows pomocí Microsoft .NET Framework
  6. TS: Microsoft .NET Framework 2.0 – vývoj klientů pro Windows
  7. 98-361: Základy vývoje softwaru
  8. 98-364: Základy databáze
  9. Základní certifikát M_o_R v řízení rizik
  10. Agile Scrum Foundation
  11. Nadace správy IT služeb
  12. EXIN Business Information Management Foundation
  13. Základní certifikát PRINCE2 v projektovém řízení
  14. Certifikát zkušebního inženýra
  15. Microsoft Operations Framework Foundation
  16. Agilní servisní projekty
  17. Štíhlá výroba
  18. Six Sigma: Analyzujte, vylepšujte, kontrolujte
  19. Six Sigma: Definuj a měř
  20. Microsoft Professional Program: Big Data Certificate
  21. Certifikovaný softwarový architekt – platforma Microsoft

Cesta architekta: Certifikace a ponoření do produktu

Po složení všech zkoušek se Alexey dostal z hlavního vývojáře na projektového architekta. Certifikace se zároveň stala silným nástrojem jak pro profesní rozvoj, tak pro budování reputace v očích zákazníka.

„Certification Ram“ pomohl získat přístup k jednotlivým kritickým procesům, které vyžadovaly kontrolu a rozpracování. Evropští zákazníci IT řešení zpravidla vysoce oceňují certifikované specialisty a jsou připraveni poskytnout jim větší svobodu jednání.

Děkuji za pozornost! Doufáme, že pro vás byl článek užitečný.

Zdroj: www.habr.com

Přidat komentář