Cesta architekta: Certifikácia a ponorenie sa do produktu

Takmer každý vývojár si kladie otázky, ako by mal rozvíjať svoje schopnosti a aký smer rastu zvoliť: vertikálny – teda stať sa manažérom, alebo horizontálny – plný zásobník. Mnoho rokov práce na jednom produkte sa v rozpore s mýtmi stáva nie obmedzením, ale užitočnou príležitosťou. V tomto článku zdieľame skúsenosti nášho backend developera Alexeyho, ktorý sa certifikáciám venoval 6 rokov a za ten čas sa vypracoval na architekta.

Cesta architekta: Certifikácia a ponorenie sa do produktu

Kto je architekt

IT architekt (tech lead) je vývojár na vysokej úrovni, ktorý sa zaoberá globálnymi problémami v IT projektoch. Ponorí sa do obchodných procesov zákazníka a pomáha riešiť jeho problémy pomocou technológií a tiež určuje, ako bude ten či onen informačný systém štruktúrovaný.

Takýto profesionál potrebuje nielen porozumieť jednotlivým tematickým okruhom, ale aj vidieť celý proces:

  • Nastavenie obchodného problému.
  • Vývoj vrátane programovania, prípravy, ukladania a spracovania dát.
  • Rozmiestnenie a podpora infraštruktúry.
  • Testovanie.
  • Nasadiť.
  • Analytické a prevádzkové služby.

To znamená schopnosť vžiť sa do kože akéhokoľvek špecialistu alebo tímu v životnom cykle vývoja, pochopiť aktuálny stav systémov zvnútra, identifikovať chyby a formulovať ciele. Niekedy musíte vykonať operáciu sami.

Cesta profesionálneho rozvoja od developera k architektovi trvá dlho – zvyčajne niekoľko rokov. Na to potrebuje vývojár praktické zručnosti aj teoretické znalosti, ktoré môže potvrdiť medzinárodná certifikácia.

Viac ako 5 rokov na jednom projekte – rutina alebo príležitosť na rast?

Pred niekoľkými rokmi sme začali pracovať na veľkom medicínskom IT systéme pre zahraničného zákazníka. V tomto rozsiahlom projekte sa vyskytli určité problémy:

  • obmedzený prístup;
  • nestabilný prod;
  • neskutočne dlhé šprinty a zdĺhavé schvaľovania.

„Je čas zlepšiť svoje zručnosti““, - jeden z popredných vývojárov Alexey dospel k tomuto rozhodnutiu, aby prekonal uvedené ťažkosti a lepšie porozumel systému.

Alexey sa podelil o svoje skúsenosti, kde je lepšie začať trénovať, aké certifikáty je dôležité získať, ako a prečo to urobiť.

Prvý krok: zdokonalte sa v angličtine

Programovacie jazyky sú základnou súčasťou vývoja, ale jazyky na komunikáciu sú rovnako dôležité. Najmä pri komunikácii s anglicky hovoriacim zákazníkom!

Z praxe

Jedného pekného dňa dostal Alexey hovor od zamestnanca zo strany zákazníka. Náš vývojár sa vtedy ešte nemohol pochváliť kopou certifikátov – ani v technike, ani v manažmente, ani v komunikácii. Možno by neboli užitočné - koniec koncov môžete byť kompetentným špecialistom bez ďalších regálií. Problém však stále nastal.

Musíme pochopiť, že hovorený jazyk sa radikálne líši od písaného jazyka. Ak sa dobre orientujete v anglických špecifikáciách, no necvičíte počúvanie a hovorenie, máme pre vás zlú správu. V tomto prípade môžu telefonické rozhovory s partnermi viesť do slepej uličky.

Alexey počas hovoru zachytil niekoľko známych slov, ale reč jeho kolegu bola taká rýchla a na rozdiel od klasickej výslovnosti zo zvukových lekcií, že hlavná podstata jej otázok sa minula. Zo zdvorilosti a neochoty skomplikovať situáciu Alexey rýchlo súhlasil so všetkými návrhmi.

Musím povedať, že počas práce došlo k nepríjemným objavom? Náš vývojár sa prihlásil k niečomu, čo by úplne úmyselne odmietol, ak by ponuka prišla v zrozumiteľnom jazyku.

V tej chvíli sa ukázalo, že je jednoducho potrebné zlepšiť počúvanie a rozprávanie. Najlepší spôsob, ako to dosiahnuť, boli certifikácie.

Certifikácia anglického jazyka

Aby sa zlepšila komunikácia v rámci nášho medicínskeho projektu, Alexey študoval v niekoľkých programoch naraz. Vďaka tomu zložil certifikáciu FCE – First Certificate in English. To mi pomohlo začať počúvať zákazníka a sprostredkovať mu svoje myšlienky.

Life hacking:

Vyhnite sa základným anglickým programom. Zručnosť musí byť cielená. Ak potrebujete angličtinu na obchodnú komunikáciu, mali by ste si ju vziať. Len nechoďte do extrémov a získajte CAE (Certificate in Advanced English). Jeho zvláštnosťou sú sofistikované slová, špecifické výrazy, ktoré sa v medzinárodnej komunikácii takmer vôbec nepoužívajú.

Cesta architekta: Certifikácia a ponorenie sa do produktu

Druhý krok: certifikácia v rámci celého technologického balíka

Spočiatku bol projekt založený na technológii objektovo-relačného mapovania ORM. Vývojový tím na strane zákazníka bol hrdý na svoje duchovné dieťa, pretože všetko bolo urobené pomocou pokročilých konceptov, komplexných a cool.

Problémy vo výrobe – najmä neustále zamrznutie SQL servera – však neboli nezvyčajné. Dostalo sa to do bodu, keď typickým riešením problému bolo reštartovanie služby. Zákazník zavolal vedúcemu tímu a povedal, že je čas reštartovať. Nakoniec sme sa rozhodli to ukončiť.

Zákazník chcel pracovať na výkone systému - na to bolo potrebné zaviesť profilovanie a pravidelne vykonávať optimalizáciu. V tom čase, okolo roku 2015, bol ako profilovací nástroj vybraný Ants Profiler, ktorý však fungoval zle. Pri nízkych detailoch bolo ťažké získať informácie o kritickom bloku kódu. Ants Profiler začal pri maximálnom detaile meniť kód takým spôsobom, že bola ohrozená funkčnosť systémov – tam, kde bolo nakonfigurované profilovanie, jednoducho všetko padalo. Tak sme zmenili prístup.

Začali sme analýzou štatistík

Pri analýze štatistík predaja sa ukázalo, že 95% práce na serveri má primitívnu obchodnú logiku 4 riadkov. Pre nich stačil jeden SQL dotaz a nie kompletná sada dotazov generovaných blokom obchodnej logiky s ORM.

Alexey navrhol a implementoval uloženú procedúru na presun práce bez ORM. Myšlienka bola v rozpore so zaužívanou paradigmou projektu, vedúci tímu ju privítal opatrne, ale zákazník všetko akceptoval a požadoval realizáciu. To nebolo prekvapujúce, pretože nová metóda umožnila skrátiť oneskorenie spracovania pri výrobe zo štyroch hodín na niekoľko minút - v priemere 98-krát.

Napriek tomu sme mali pochybnosti: je to správne rozhodnutie alebo vec osobných preferencií? Vieru vo všemocné C# a ORM otriasla nehoda, ktorá ukázala plnú silu jednoduchých riešení.

Prípad dva

Tím napísal dotaz na prácu s údajmi v rámci paradigmy ORM, zostavený podľa všetkých pravidiel, bez chýb. Jeho spracovanie trvalo 2-3 minúty a tieto parametre sa zdali prijateľné. Alternatívna implementácia využívajúca jednoduché selektory a zobrazenia však poskytla výsledky rýchlejšie – za 2 sekundy.

Ukázalo sa, že nastal čas vybrať si špecialistu, ktorý prejde certifikáciou naprieč celým balíkom projektov, aby pochopil všetky nuansy a zvolil optimálnu metódu. Tejto úlohy sa zhostil Alexey.

Prvé certifikáty

Aby pochopil podstatu, Alexey prešiel niekoľko certifikácií od spoločnosti Microsoft, ktorá pokrýva celý technologický balík projektu:

  • TS: Vývoj aplikácií pre Windows s Microsoft .NET Framework 4
  • TS: Prístup k údajom pomocou programovania Microsoft .NET Framework 4 v C#
  • TS: Microsoft .NET Framework 3.5 Vývoj aplikácií Windows Forms
  • PRO: Navrhovanie a vývoj aplikácií pre Windows pomocou Microsoft .NET Framework 3.5
  • PRO: Navrhovanie a vývoj aplikácií pre Windows pomocou Microsoft .NET Framework
  • TS: Microsoft .NET Framework 2.0 – vývoj klienta pre Windows

V snahe optimalizovať prácu na novom projekte tím dospel k týmto záverom:

  • Aby systémy fungovali, je potrebné dodržiavať pravidlá písania kódu: nie odsadenia a komentáre, ale technické vlastnosti - počet volaní do databáz, zaťaženie servera a oveľa viac.
  • Použitie protichodných konceptov môže viesť k problémom. Koncept databáz je teória množín, zatiaľ čo ORM je koncept operácií.
  • Nápady, ktoré narúšajú zaužívaný poriadok vecí, môžu v tíme naraziť na odpor. Rozvoj je aj o vzťahoch a schopnosti argumentovať svoj názor.
  • Certifikácia vám rozšíri obzory a umožní vám pochopiť, čo sa dá použiť a čo nie.

Cesta architekta: Certifikácia a ponorenie sa do produktu

Tretí krok: Naučte sa viac ako kód

Pri práci na rozsiahlych IT riešeniach je dôležitých veľa faktorov. Napríklad nie každý vývojár venuje pozornosť parametrom siete, ale aj jej šírka pásma môže ovplyvniť riešenie obchodného problému.

Pochopenie tohto je dané Certifikácia série 98:

Umožňujú vám pozrieť sa na veci širšie a dostať sa z obmedzeného konceptu „len kód“. Toto sú základy, základy, ale sú dôležité na pochopenie všetkého na hlbšej úrovni.

Certifikácie série 98 sú krátke testy – 30 otázok po dobu 45 minút.

Štvrtý krok: Riadenie procesov

Spolupráca s klinikami je dôležitejšia ako povedzme tvorba mobilnej hry. Tu nemôžete pridať funkciu a spustiť ju do výroby - je dôležité sledovať proces schvaľovania a vykonania mnohých zmien od zákazníka, pretože ide o zdravie a životy ľudí.

Typical Agile na tomto projekte nepriniesla požadované výsledky a každý šprint trval pomerne dlho. Medzi nasadeniami to trvalo 6 mesiacov až rok.

Navyše bolo technicky nemožné priviesť procesy desiatich obsluhovaných kliník k nejakému spoločnému menovateľovi.

Aby sa v týchto podmienkach dosiahli výsledky rýchlejšie, vývojári potrebovali osobnú zodpovednosť a rozsiahlu víziu procesov – čo znamená neustálu koncentráciu a vysokú kvalifikáciu.

Keď je špecialista ponorený do procesu, jasne vidí výsledky, príčiny a dôsledky, celý obraz. To je zároveň faktorom ďalšej motivácie a uvedomenia, zlepšujúceho schopnosť riešiť problémy a problémy.

S dobre fungujúcou infraštruktúrou, dobre vybudovanou architektúrou a optimálnym kódom môže jedna osoba prevziať mnoho procesov. To však neznamená, že je potrebné vychovávať univerzálnych vojakov, ktorí sú schopní projekt viesť sami. Komunikácia a tímová práca sú rozhodujúce.

V tíme každý vývojár chápe, že jeho kolegovia závisia od jeho akcií. Úspora 5 minút vo fáze vývoja znamená možno ďalších 5 hodín testovania. Aby sme to pochopili, je dôležité nadviazať komunikáciu.

V našom projekte dostal Alexey pomoc pri zvládnutí procesov certifikáty od EXIN:

  • Základný certifikát M_o_R v oblasti riadenia rizík
  • Agile Scrum Foundation
  • Nadácia riadenia IT služieb
  • EXIN Business Information Management Foundation
  • Základný certifikát PRINCE2 v projektovom manažmente
  • Certifikát skúšobného inžiniera
  • Microsoft Operations Framework Foundation
  • Projekty agilných služieb

Kurzy boli absolvované na edX, ktoré pomohli pozrieť sa na systém z pohľadu štatistiky a štíhleho programovania a neskôr presadili získanie certifikát architekta:

  • Štíhla výroba
  • Six Sigma: Analyzujte, vylepšujte, kontrolujte
  • Six Sigma: Definuj a meraj

Podľa princípu Six Sigma štatistická kontrola zabezpečuje kvalitný výsledok s extrémne vysokou pravdepodobnosťou.

Pri zvyšovaní svojej úrovne vývojár spravidla prichádza k týmto záverom:

  • Nepracujte tvrdo, ale pracujte efektívne.
  • Nekomplikujte si život honbou za vonkajškom: nóbl technológia nemusí nutne riešiť problémy lepšie.
  • Spriatelte sa so špecialistami vo všetkých fázach cyklu a zistite ich bolestivé body. Architekt musí ovládať procesy: identifikácia problému, nastavenie problému, návrh topológie siete, vývoj, testovanie, podpora, prevádzka.
  • Skontrolujte každú funkciu zvonku aj zvnútra.
  • Stáva sa, že IT procesy nekorešpondujú s obchodnými procesmi a treba to riešiť.

Cesta architekta: Certifikácia a ponorenie sa do produktu

Piaty krok: Pochopte architektúru cez optiku veľkých dát

Počas projektu sme sa zaoberali pomerne rozsiahlymi databázami. Aspoň do istého momentu to tak vyzeralo. Keď Alexey začal študovať veľké dáta na edX, ukázalo sa, že 1,5 Tb na projekte je malá databáza. Vážne váhy - od 10 Tb a tam sú potrebné iné metódy.

Ďalším krokom k certifikácii bol kurz o veľkých dátach. Pomohol pochopiť organizáciu toku dát a urýchliť výrobné operácie. A pozor aj na drobné nástroje, začnite napríklad používať Excel na riešenie jednotlivých mikroúloh.

certifikát:
Program Microsoft Professional: Certifikát pre veľké dáta

Cesta architekta: Certifikácia a ponorenie sa do produktu

Krok šiesty: od developera k architektovi

Po obdržaní všetkých uvedených certifikátov, ešte ako vývojár, Alexey začal chápať, že prijaté informácie majú vysokú úroveň abstrakcie, a to zďaleka nie je zlé.

Rozsiahla vízia procesov vedie k úrovni architekta, jednej z najvyšších úrovní certifikácie.

Pri hľadaní certifikácie architekta prišiel Alexey Certifikovaný softvérový architekt – platforma Microsoft od spoločnosti Sundblad & Sundblad. Ide o program uznávaný Microsoftom, jeho vývoj začal pred 14 rokmi v spolupráci šéfa spoločnosti a švédskych kancelárií. Zahŕňa .NET Framework, zhromažďovanie požiadaviek, riadenie toku informácií a mnoho ďalších tém na vysokej úrovni a považuje sa za silný dôkaz zručností architekta.

V rámci programu boli kurzy na štúdium. Certifikácia systematizovala znalosti a umožnila nám vstúpiť do novej etapy vývoja – od developera po architekta.

Cesta architekta: Certifikácia a ponorenie sa do produktu

Zhrnieme

Ako poznamenáva Alexey, pri práci s rozsiahlym IT systémom je dôležité mať na pamäti, že programovanie nie je drahá zábava, ale nástroj na riešenie obchodných problémov. Keď stojíte pred tou či onou výzvou, určite si musíte zapísať obchodnú hodnotu, aby sa projekt nedostal do slepej uličky.

Architekt má špeciálny pohľad na programovanie a jeho základné komponenty:

  • Vytváranie a/alebo udržiavanie toku údajov
  • Extrahovanie toku informácií z toku údajov
  • Extrahovanie toku hodnôt z toku informácií
  • Speňaženie toku hodnôt

Ak sa na projekt pozriete očami architekta, musíte začať od konca: sformulovať hodnotu a potom k nej prejsť cez tok dát.

Architekt sa riadi pravidlami rozvoja a má globálnu víziu projektu. Je takmer nemožné dosiahnuť to praxou a vlastnými chybami – alebo skôr, je to možné, ale bude to trvať veľmi dlho. Certifikácia vám umožňuje rozšíriť si obzory a pozrieť sa na celý kontext každej problematiky, zoznámiť sa so skúsenosťami tisícok profesionálov a rozvíjať zručnosť efektívneho riešenia problémov.

K dnešnému dňu pracujeme s vyššie popísaným medicínskym systémom už viac ako päť rokov a dosiahli sme výrazné zlepšenia. Počas tejto doby Alexey zložil viac ako 20 certifikačných skúšok:

  1. TS: Vývoj aplikácií pre Windows s Microsoft .NET Framework 4
  2. TS: Prístup k údajom pomocou programovania Microsoft .NET Framework 4 v C#
  3. TS: Microsoft .NET Framework 3.5 Vývoj aplikácií Windows Forms
  4. PRO: Navrhovanie a vývoj aplikácií pre Windows pomocou Microsoft .NET Framework 3.5
  5. PRO: Navrhovanie a vývoj aplikácií pre Windows pomocou Microsoft .NET Framework
  6. TS: Microsoft .NET Framework 2.0 – vývoj klienta pre Windows
  7. 98-361: Základy vývoja softvéru
  8. 98-364: Základy databázy
  9. Základný certifikát M_o_R v oblasti riadenia rizík
  10. Agile Scrum Foundation
  11. Nadácia riadenia IT služieb
  12. EXIN Business Information Management Foundation
  13. Základný certifikát PRINCE2 v projektovom manažmente
  14. Certifikát skúšobného inžiniera
  15. Microsoft Operations Framework Foundation
  16. Projekty agilných služieb
  17. Štíhla výroba
  18. Six Sigma: Analyzujte, vylepšujte, kontrolujte
  19. Six Sigma: Definuj a meraj
  20. Program Microsoft Professional: Certifikát pre veľké dáta
  21. Certifikovaný softvérový architekt – platforma Microsoft

Cesta architekta: Certifikácia a ponorenie sa do produktu

Po zložení všetkých skúšok sa Alexey dostal z hlavného vývojára na projektového architekta. Certifikácia sa zároveň stala silným nástrojom profesionálneho rozvoja a budovania dobrého mena v očiach zákazníka.

„Certifikačný baran“ pomohol získať prístup k jednotlivým kritickým procesom, ktoré si vyžadovali kontrolu a vypracovanie. Európski zákazníci IT riešení si spravidla vysoko cenia certifikovaných špecialistov a sú pripravení poskytnúť im väčšiu slobodu konania.

Ďakujem za tvoju pozornosť! Dúfame, že článok bol pre vás užitočný.

Zdroj: hab.com

Pridať komentár