Nejlepší odpověď
Myslím si, že název softwarového architekta je trochu nadužíván a často zaměňován s návrhářem softwaru ( což je další matoucí pojem, protože nemá nic společného s designem jako uměleckou snahou.)
Moje definice by byla:
Softwarový architekt – tato osoba se zabývá bloky na vysoké úrovni. Propojení mezi systémy, výběr nejlepších technologií pro samotné systémy a mapování obchodních požadavků na technické požadavky. Má dostatek zkušeností, aby pochopil, kdy je třeba použít push / pull vs. pub / sub, nebo kdy je místo databáze SQL přijatelná databáze NoSQL. Rozumí také nákladům na výslednou technologii (z hlediska výkonu a skutečných provozních nákladů). A konečně, architekt musí rozumět podnikání, nejen technologii.
Softwarový designér – jakmile je vytvořena architektura, je zodpovědný za vytvoření skutečného softwarového designu. Může vytvořit návrh pro každý architektonický blok modelováním příslušných tříd nebo databázových vztahů. Může také definovat protokoly, formáty souborů atd.
Softwarový programátor – jakmile je návrh vytvořen, vývojář softwaru návrh implementuje .
V pořadí podle důležitosti jsou rozhodnutí učiněná na architektonické úrovni kritická a je často velmi těžké a nákladné je je změnit, pokud dojde k chybě. Chyba architektury může ve složitých systémech stát roky. Chyba designu může stát několik sprintů. Chyba programování může být opravena, jakmile je identifikována.
Nezapomeňte také, že neexistuje žádný požadavek, aby jedna osoba nemohla plnit více než jednu roli. Ve formálních organizacích můžete mít softwarového architekta jako starší osobu (nebo dokonce jako manažera), přičemž designér je nějaký druh týmu a programátor individuální přispěvatel do tohoto týmu. V praxi však softwarový architekt obvykle projekt neopustí, jakmile je práce na architektuře dokončena a jakmile se práce na architektuře zpomalí, obvykle se zapojí do designu a programování.
architekt je však odpovědný za výběr technologických bloků na základě jejich zásluh, a nikoli na základě jeho známosti, v takovém případě může skončit s volbou, do které může na úrovni kódu přispět jen málo. V takových případech by měl vědět nejlépe a odejít implementace odborníkům na doménu.
To je jen můj názor, jsem si však jist, že existuje mnoho dalších interpretací. Čím je aplikace jednodušší, tím jsou některé role nadbytečné. Pro jednoduchou aplikaci nepotřebujete architekta. Pokud je aplikace dostatečně jednoduchá, možná nemáte ani designéra. Vždy ale potřebujete někoho, kdo by ji implementoval.
Odpovědět
Vím, že je to neslušné, a je mi líto, ale nemohu uvěřit, že lidé (kromě Edwarda Guy Capriola) napsali zdlouhavé odpovědi vysvětlující rozdíl mezi dvěma tituly. „Softwaroví architekti“ existují pouze ve sci-fi filmech jako Matrix.
Titul vynalezli korporátní byrokrati, aby vytvořili novou platovou skupinu bez vedení, kde by někdo bez MBA mohl vydělat šest číslic. Hodilo se to během „outsourcingu“, protože několik zbývajících „offshore“ nebo Vývojáři H1B / L1 by mohli být povýšeni na „architekty“, aby si udrželi plat, protože všichni „běžní“ inženýři byli pověřeni „slevovými zdroji“.
Další věc, kterou je třeba mít na paměti: zbytečné pozice poradců jsou vyplněni příbuznými a přáteli, takže není potřeba se učit žádné oficiální dovednosti. Hodnota „architekta“ je vágní a subjektivní přinejmenším. TOGAF je možná konečným popisem odpovědnosti „architekta“. Studoval jsem to kecy dobře, abych to předvedl na „architektonických“ rozhovorech. V normálním životě je však mojí specializací zahajování několika milionů projektů. A oživení mnohomilionových selhání. Dělá ze mě „architekta“? Zahrnuje to hodně kódování, víte. A nulové „rámce“ „podnikové architektury“.
Stačí upravit svůj životopis, který nahradí všechny předchozí pracovní pozice, a ukázat tak „roky zkušeností“. Potom v průběhu životopisu velkoryse posypte „podnikovou architekturou“ žargon. Podívám se na architektovu verzi mého (jinak vývojářského) životopisu. Tady. Zkopírujte to doslovně:
„Vyvinuli jsme vizi pokročilých technologií a robustní funkce podnikové architektury v IT. Definovaný společný obsah plánu. Vyvinuli a implementovali strategii pro podnikovou architekturu skládající se z principů, referenčních architektur, glosářů a taxonomií. Udržovaná průběžná analýza průmyslových, technologických a tržních trendů za účelem stanovení potenciálních dopadů na podnik. “
Gratulujeme! Byl jste oficiálně povýšen na „Enterprise Architect“.Jediné, co musíte udělat, je zaslat svůj nově důstojný životopis zaměstnavatelům, kteří tvoří velký IT Consulting Food Chain – „post-sell“, cokoli, co prodávají: Oracle, IBM, Microsoft atd. Prostřednictvím „diagramů architektury“: barevné bloky balíčky prodejců propojené imaginární „integrací“. Nedělejte si starosti s „technickým mumbo-jumbo“. Jste architektem na vysoké úrovni a předkládáte strategickou vizi stejně důstojným a vysoce netechnickým „zúčastněným stranám na úrovni C“.