Szerintem ott van a kutya elásva, hogy nem ugyanazt értjük architect alatt. Az architect nálam egy szerepkör, aki azzal foglalkozik, hogy megmondja, távolról nézve hogy nézzen ki a rendszer, milyen komponensekből álljon, hogyan legyen biztosítva a skálázhatósága meg hasonlók. Amiket Te írtál, felismerni, hogy melyik design patternt lehet alkalmazni egy problémára az egy senior fejlesztői szerepkör. Szerintem viszonylag kevés kapcsolódási pont van a két szerepkör között (bár azon jól el tudnak vitatkozni, hogy a singleton az most éppen pattern (mert a fejlesztőnek jó, sokat egyszerűsít a kódon) vagy antipattern (mert az architectnek rossz, rontja a skálázhatóságot)).
Az egy másik kérdés, hogy az esetek többségében ezt a két szerepkört ugyanaz az ember látja el.
Egyébként falra tudok mászni azoktól az önképzéssel programozóvá vált fejlesztőktől, akik végigmászták a ranglétrát, architect pozícióban tetszelegnek és az olyan skálázási problémákat, amelyek elvi szűk keresztmetszetek miatt vannak a rendszerben megpróbálják úgy megoldani, hogy a mov ax,0-kat xor ax,ax-okra cserélik, mert az gyorsabb. Egész egyszerűen más szemléletmód kell a fejlesztéshez és a tervezéshez.