Napsal jsem a přeložil několik článků o stárnutí programátorů a změně jejich pozice. Završím to pohledem na kódujícího archi­tekta. Zatímco v článku Technický lídr si zoufám, že jednou z nejtěžších voleb technické hvězdy, ze které se stává lídr, je ztráta kontaktu s nejnovější technologií, tak kniha Software Archi­tec­ture for Develo­pers (Simon Brown) mi dává určitou naději. Podle autora je softwa­rový archi­tekt technická kariéra.

Kompetence

Archi­tekt se nemusí a ani by neměl vzdávat progra­mování, to je mi sympa­tické. Ale ani by neměl progra­movat celou dobu, je totiž potřeba udělat práci archi­tekta. Tedy někoho, kdo má širší pohled na věc, kdo bude pamatovat na nefun­kční požadavky: bezpeč­nost, rychlost, logování, údržba databáze, monitoring, zotavení z chyb, UX, risk manage­ment atd. Přistoupíme-li na dělení Kolonizátoři a správci kolonií, tak jsou archi­tekti spíš správci, než kolonizátoři.

Citace

V knize Software Archi­tec­ture for Develo­pers (Simon Brown) jsou uvedené myšlenky, se kterými souhlasím, intui­tivně jsem si k nim rovněž došel, ale neuměl jsem je tak pěkně formu­lo­vat. Proto si dovolím několik citací přeložit.

Termín nefun­kční požadavky nezní lákavě, ale to nezna­mená, že je to důvod je zanedbat.

Webde­ve­lo­per: „Prostě mi dejte data jako JSON a já si s nimi na webové vrstvě udělám, co potřebuju.“

Softwa­rová archi­tek­tura je platforma pro konverzaci

Softwa­rová archi­tek­tura hraje klíčovou roli v doručení úspěšného software, ale přesto je frust­rující, jak je mnoha týmy zanedbávaná.

Armáda je známá svou schop­ností vytvářet efektivní týmy ze skupiny cizích lidí.

Organi­zace mají tendenci vidět softwa­rového archi­tekta spíš jako hodnost než roli

Archi­tek­tura je o struk­tuře, je o dekom­po­zici produktu do několika kompo­nent či modulů a jejich interakce.

Archi­tek­tura je o porozumění, co je potřeba vybudo­vat, vytváří vizi a činí příslušná desig­nová rozhod­nutí. To musí být založeno na požadav­cích, protože ty řídí architekturu.

Softwa­rový archi­tekt, který progra­muje, je efektiv­nější a šťast­nější architekt.

Nemusíte být nejlepší programátor v týmu

Programátoři budou nejspíš ignorovat vaši zkuše­nost s progra­mováním, pokud s nimi na projektu nebudete programovat

Na rozdíl od středověkého stavi­tel­ského průmyslu postrádá softwa­rové inženýr­ství jasnou cestu, jak se z junior programátora stát softwa­rovým archi­tek­tem. Nemáme běžný učňovský model.

Tady bych si dovolil analogii z českého stavi­tel­ství. Jak zaznělo v pořadu Toulky českou minulostí (874. schůzka), Josef Zítek, archi­tekt Národ­ního divadla, si k diplomu archi­tekta pořídil i výuční list zedníka. Mícháním malty nebo vyvazováním zdi si opatřil řemes­lnou zručnost, která mu bude jednou k nezap­la­cení při projek­tování i při kontaktu s dělníky.

diagram ze strany 16

Jak se stát architektem

Jak už bylo řečeno, v IT nemáme učňovský model. Proto jsem se již několikrát rozplýval nad armádou, kde si lídry snaží vycho­vat. Co můžeme pro svou kariéru archi­tekta udělat? V článku Programátorem po čtyřicítce radili: Zapomeňte na trendy. V článku Úvahy „starého“ programátora zase zaznělo: Polovina toho, co programátoři znají, bude za deset let k ničemu. Je potřeba inves­tovat nejvíc do trvalých znalostí (algoritmy, bezpeč­nost aplikací, optima­li­zace výkonu a archi­tek­tu­ra). Archi­tek­turu je potřeba umět vizua­li­zovat (o tom by měl být druhý díl Visua­lise, document and explore your software architecture). To pomůže to vytvořit a udržet společné porozumění celkového kontextu.

Závěr

Kontro­verzní Erik Meijer v přednášce One Hacker Way říká, že programátoři by měli progra­movat jen do třiceti. Je v tom určitě kus pravdy. S věkem jistě bude klesat dravost, ale snad bude růst jejich zkuše­nost a rozvaha. Je tu role kódujícího archi­tekta, kterou by určitě mohli starší programátoři plnit. Já osobně už plán na dvě příští pětiletky mám.

Zakončím přáním z článku Trocha architektury: Požeh­naný tým, jehož archi­tekt se stará o to, co má skutečně smysl, a odkládá věci, které ho nemají.

Související