重點摘要#
- 就像法官必須是律師、外科主任必須是外科醫生一樣,軟體架構師首先必須是開發者
- 獲得開發者信任最快的方式是展示你的程式碼能力 – 你的程式碼就是你的貨幣
- 架構師應該主動承擔一些複雜的開發任務,保持技術能力的敏銳
- 如果你設計了它,你就應該有能力寫出它
詳細內容#
架構師的開發者身份#
你聽過不是律師的法官嗎?或不是外科醫生的外科主任?即使他們到達了職業的頂峰,這些職位的人仍然被期望持續學習各自領域的新發展。作為軟體架構師,我們也應該被以同樣的標準要求。
程式碼就是貨幣#
無論設計得多好,實作成功的最重要因素之一是讓開發者認同並信任你的方案。獲得開發者信任最快的方式就是贏得他們的尊重。
你的程式碼就是你的貨幣(Your code is your currency)。如果你能向開發者展示你不只是一個空想家,而是真正能寫程式的人,他們就不會那麼抱怨你要求他們遵循的架構規範。
保持動手能力#
即使不是工作職責要求的一部分,架構師也應該經常承擔一些較複雜的開發任務。這有兩個目的:
- 第一,這很有趣,而且能保持開發技能的敏銳度
- 第二,它向開發者證明你不只是在說空話
設計即實作#
作為架構師,你的主要目標應該是創造一個可行的、可維護的解決方案,並且解決手邊的問題。了解什麼是可行的一部分,就是知道開發解決方案各元素所需的工作量。
如果你設計了它,你就應該有能力寫出它(If you design it, you should be able to code it)。不要在設計中使用你沒有親自實作過的模式、你沒有用過的框架、或你沒有配置過的伺服器。
— By Mike Brown