> For the complete documentation index, see [llms.txt](https://weekly-essay.mikey.wang/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://weekly-essay.mikey.wang/zh-hant/2022/w02-cai-chaos-ten-year-reflections-on-architecture.md).

# W02-蔡超十年架構感悟

週末聽了蔡超的一個講座，主題是他近十年的架構工作感悟，蔡超是前亞馬遜中國的首席架構師。我總結了一下核心內容，其實都是“常識”，複雜的事物抽絲剝繭後露出的就是“常識”。

**“問題”與“技術”。**&#x7B2C;一層是講“釘子”與“錘子”的關係。從“問題”開始，而不是“技術”。蔡老師舉了一個例子，多年前一個團隊的RD為了技術熱情，將一個小項目的MySQL改為了當時AWS剛出的一個NoSQL數據庫——DynamoDB。由於沒有考慮到NoSQL不太擅長的事務、數據一致性等問題，硬生生把這個小項目的維護成本從1個人變成一個團隊。第二層是將架構設計中，“提出問題”往往難於“解決問題”。 引用《設計原本》裡的一句話，“設計最難的部分就是去設計我們要設計什麼樣的問題” 。

**“簡單”與“容易”。**&#x67B6;構是把交付變簡單的過程，而非追求複雜化。簡單（simple）與容易（easy）不同，容易是把複雜交給用戶，簡單是把複雜留給自己。正的簡單其實是來自於不容易的，複雜才容易，簡單蘊含了巧妙在裡面。引用喬布斯的一句話，“簡單可以比複雜更難。你必須非常努力的把你的想法想清楚之後你才有可能把事情做的很簡單。但是這個努力是值得的，因為一旦你達到了這個目的，它會給你帶來排山倒海的能量。為了能達到真正的簡單，你必須思考的足夠深入。”

**“實踐”與“學習”。**&#x904E;度繁忙使人落後，因為你沒有時間去更新你的知識。最可怕的噩夢是，工作中面對的問題越來越複雜，你會覺得越來越難以應付，只有通過不斷加班來解決，而越加班越沒有時間學習，這是一個惡性循環。721學習法成立的前提是，事兒要有挑戰，人要有優秀對標，1/10的輸入分量要在不同的階段做適當調整。拿健身舉例，越到後期，訓練量的提升所帶來的收益越小，飲食營養、作息時間會越來越重要，可以與訓練相當。“實踐”與“學習”就如同“訓練”與“營養”，輸入結構需要及時調整。
