sobota 15. září 2007

O architektech...

Občas přemýšlím o tom, co děla rozdíl mezi architekty a co by měl takový architekt umět a jaké by měl mít vlastnosti. Je dobrou praktikou rozdělovat architekty do rodin, minimálně do dvouch zásadních: funkční architekt a technický architekt. Občas to sice bývá spojené, ale na tom z pohledu tohoto článku nezáleží. Protože mi je bližší práce technického architekta, tak budu dále v textu mluvit v kontextu jeho práce.

Za svou praxi jsem spolupracoval s třemi architekty, které mojí práci ovlivnili a nebo ovlivňují zásadním způsobem. Dva z nich nebudu jmenovat, protože s nimi stále spolupracuji a oni určitě vědí o koho se jedná. Tím třetím do party je můj exkolega Jirka Kotal, který mě hodně ovlivnil a jsem mu věčný za spoustu věcí. Ještě jednou díky.

Jestli tyto architekty něco spojovalo, pak to byly následující vlastnosti, které já osobně považuji za nejdůležitější pro práci architekta.

  • pragmatismus
  • vizionářství
  • analytické myšlení
  • zkušenosti
  • obecný rozhled

Pragmatik vs Vizionář

Je to tak trochu zvláštní, že jsem vedle sebe vypíchnul pragmatismus a vizionářství. Ten důvod je takový, že architekt musí být dostatečný vizionář, ale zároveň musí být dostatečně pragmatický smýšlející, aby ty vize byly vůbec realizovatelné. Výrazná převaha jedné či druhé vlastnosti je spíše na škodu. Prostě a jednoduše musí to být vyvážený mix.

Analytické myšlení

Propracované analýzy, smysl pro detail, schopnost nahlížet na problém z několika úhlů pohledu. Málokdy jsem v analýzách těchto lidí našel bílé místo. Pokud architekt nedokáže problém zanalyzovat, pak je celkem k ničemu. Z hlediska analýz bych ještě vypíchnul fakt, že architekt musí být schopen závěry analýzy obhájit před developmentem. Pokud to nedokáže, tak se mu může prostě stát, že si to vývojáři udělají po svém.

Zkušenosti

Nejhorší je technický architekt, který sice zná "všechno" teoreticky, ale prakticky nic nevyzkoušel a nebo nepoužil. Pokud jsem se nedávno obouval do certifikací, tak to je přesně ten případ, kdy je člověk certifikovaný architekt, ale v praxi nejsou jeho názory podpořený praktickou zkušeností a nebo s ní nekorespondují. Do jisté míry to také souvisí s výše zmiňovaným pragmatismem. Na druhou stranu zkušenosti nejsou všechno a je to opět jenom jedna z ingrediencí.

Obecný rozhled

Architekt musí mít obecný rozhled a povědomí i o technologiích, které zrovna nepoužívá. To platí i o oblastech, které s jeho prací souvisí jak přímo tak nepřímo. Obrazně řečeno architekt musí umět vidět za roh, to tak trochu souvisí se zmiňovaným vizionářstvím. Ono se to nezdá, ale ve výsledku to dává docela solidní škálu informaci, které musí absorbovat.

Nikde v článku nezmiňuji technologie, protože to je podružný detail. To že někdo zná například J2EE, z něj nedělá automatický kandidáta na pozici architekta. Znalost konkrétních technologií je dobrá, ale ve výsledku to nemusí vůbec nic znamenat. Protože právě v oblasti technologií se začnou projevovat výše uvedené vlastnosti: Pragmatismus, Vizionářství, Ananlytické myšlení, Zkušenosti a Obecný rozhled.