重點摘要#

  • 好的架構師應該以身作則,能夠勝任團隊中的任何技術職位
  • 如果架構師不理解技術全貌,他充其量只是一個專案經理
  • 架構師就像航空機長 — 不一定隨時忙碌,但會在關鍵時刻立即行動
  • 架構師應從專案最早期就加入團隊,而非坐在象牙塔中

詳細內容#

好的架構師應該以身作則。他或她應該能夠勝任團隊中的任何職位 — 從網路配線、設定建置流程,到撰寫單元測試和執行效能測試。如果架構師對全面的技術範疇沒有良好的理解,那他充其量只是一個專案經理。

架構師是業務與技術團隊之間的介面。他必須理解技術的每個面向,才能在不需要不斷轉介他人的情況下,向業務端代表技術團隊。同樣地,他必須理解業務,才能引導團隊朝著服務業務的目標前進。

航空機長的比喻#

架構師就像一位航空機長 — 他可能看起來不是隨時都很忙,但他運用數十年的經驗持續監控狀況,在發現異常時立即採取行動。專案經理(副機長)負責日常管理任務,讓架構師免於瑣碎的事務和人員管理。

實際動手的重要性#

  • 好的架構師發現問題時,應該召集團隊,在不挑選「犧牲者」的情況下,讓大家理解問題並提供優雅的解決方案
  • 架構師應從專案最早期就加入團隊,而非坐在象牙塔中發號施令
  • 技術方向的問題應透過親手調查來務實解決,而非外包給獨立的研究專案

好的架構師至少應該是他們專業領域內一個工具的專家 — 軟體架構師應該精通 IDE、資料庫架構師應該精通 ER 工具、企業架構師應該能從用 Wireshark 監控網路到用 XMLSpy 建模金融訊息。沒有一個層級是太低或太高的。

架構師通常帶著漂亮的履歷和過去的成就,能讓業務和技術人員留下深刻印象。但除非他能展現親手動手的能力,否則很難贏得團隊的尊重,團隊也很難學習成長,最終幾乎不可能交付原本被雇來做的事情。

— By John Davies