programátor nikdy nemá dostatečný kontext, aby dokázal vidět souvislosti. Trochu jiné to je v open source komunitě, kde řada programátorů působí jako architekti daného SW či se o to starají jeho původní autoři.
Nejde jen o UML, ale třeba o udržení určité sady funkcí, konzistentní API, zvolené závislosti, kompatibilitu, plány rozvoje, způsob členění aplikace atd., to vše je také práce SW architekta.
V korpátech nejsou dobří SW architekti, aspoň ne v těch českých, drtivá většina těch co jsem potkal vyrostli z jedné technologie, mají dobré přesahy, ale často mají lepší znalosti interních procesů a formulářů než technologií, čest vyjímkám. To navštěvuji drtivou většinu velkých společností v ČR. Ono to není vyloženě špatně, bez znalosti formulářů nedoručí žádný SW.
Stačí se podívat po fórech jak to vypadá, programátoři si volí databáze podle svých preferencí aniž by tušili jak bude vypadat jejich produkční provoz, něco jako obnova, záloha, škálovatelnosti, bezpečnosti, ACL a dalších spoustů věcí, které prostě nezohledňují. Pak to vypadá tak, že člověk příjde do projektu, běží jim tam elasticsearch, mongodb, redis v jedné instanci, bez záloh, bez kontroly konzistencí, synchronizace je cronem bez monitoringu, nikdo nekouká na logy, problémy se řeší na stackoverflow až nastanou atd. Přitom řádně zvolená databáze je dobrý základ pro fungující projekt, to je také úloha SW architektů či DB architektů či enterprise architektů
