架構思維:從程序員到CTO

郭東白

  • 出版商: 人民郵電
  • 出版日期: 2024-03-01
  • 定價: $539
  • 售價: 8.5$458
  • 語言: 簡體中文
  • 頁數: 282
  • ISBN: 7115632758
  • ISBN-13: 9787115632753
  • 下單後立即進貨 (約2週~3週)

  • 架構思維:從程序員到CTO-preview-1
  • 架構思維:從程序員到CTO-preview-2
架構思維:從程序員到CTO-preview-1

商品描述

本書以架構師工作中的痛點問題為導向,結合大量真實、復雜的案例,幫助架構師提高架構設計能力,規劃職業成長路徑。本書共4部分,第一部分“架構師的思維模式”介紹3種架構師的思維定式和4種架構活動中常見的思維模式;第二部分“架構師的生存法則”介紹影響架構活動成敗的6個要素,以及由其引出的架構師的6條生存法則;第三部分“架構活動中的挑戰、根因和應對”介紹架構師在整個架構活動中持續發揮的作用以及架構活動不同階段常見的問題;第四部分“架構師的職業規劃和能力成長”介紹架構師的成長地圖和對應角色的關鍵能力,以及提升思考力的方法。

作者簡介

郭东白,布朗大学博士,当前担任Coupang副总裁,兼任浙江大学计算机学院兼职教授和博导。他先后在甲骨文、微软、Amazon、阿里巴巴、车好多等公司任职。他是云计算和国际化电商平台领域的资深专家,分别为Amazon、阿里巴巴和Lazada搭建每秒上万次成交、年成交额超百亿美金的大型电商平台,使平台覆盖数字、跨境和本地3种电商商业模式,支持内容化、社交化、游戏化、私域化等一系列创新技术,为企业带来了巨大的商业成功和生存优势。

目錄大綱

第 一部分 架構師的思維模式

第 1章 互聯網時代的架構師 3

1.1 架構師的定義 3

1.2 架構師的職責定位 4

1.3 互聯網軟件架構的特點 5

1.4 看壓力,人人都是架構師 8

1.5 小結 9

1.6 思維拓展:通過領域模型提升思考的結構性 9

1.7 思考題 9

第 2章 互聯網架構師的思維定式 10

2.1 最大化企業生存的王道 10

2.2 從企業生存的王道到架構師的價值思維 10

2.3 從個人生存的王道到架構師的思維定式 12

2.3.1 實證思維 12

2.3.2 成長思維 14

2.4 成長思維、實證思維和價值思維的關系 16

2.5 小結 17

2.6 思維拓展:以去中心化的工作方式踐行實證思維 17

2.7 思考題 19

第3章 架構活動中的思維模式 20

3.1 架構活動的生命周期 20

3.2 想法形成階段——全方位思維 21

3.3 架構規劃階段——批判思維 22

3.4 實施階段——實用主義思維 23

3.5 復盤階段——分析思維 24

3.6 架構活動不同階段的思維模式組合 26

3.7 小結 27

3.8 思維拓展:學習切換思維模式 27

3.9 思考題 28

第二部分 架構師的生存法則

第4章 互聯網架構活動的抽象模型 31

4.1 架構活動領域模型 31

4.2 影響架構活動成敗的 6 個要素 32

4.3 架構師的 6 條生存法則 34

4.4 小結 36

4.5 思維拓展:永遠不能犯同樣的錯誤 36

4.6 思考題 37

第5章 生存法則一:有唯一且正確的目標 38

5.1 架構活動中的目標 38

5.1.1 業務目標和技術目標對一個軟件系統的價值 38

5.1.2 研發資源充足的環境更需要精準的目標 40

5.2 目標缺失的根因 40

5.2.1 技術場景之一:單純由好奇心驅動的技術探索 41

5.2.2 技術場景之二:出於個人原因發起架構活動 41

5.2.3 技術場景之三:個人決策失誤導致設錯目標 42

5.2.4 業務場景之一:決策者遠見不足導致目標太多 42

5.2.5 業務場景之二:企業內部鬥爭導致目標搖擺不定 44

5.2.6 業務場景之三:企業缺乏立項流程而導致目標缺失 44

5.3 架構師如何幫助團隊逼近正確目標 44

5.3.1 價值思維:對目標正確性的判斷 45

5.3.2 架構師如何影響技術項目的目標 46

5.3.3 架構師如何影響業務項目的目標 48

5.4 如果有一個正確但太過超前的目標該怎麽辦 50

5.5 小結 51

5.6 思維拓展:從反抗權威中獲取決策自信心 52

5.7 思考題 53

第6章 生存法則二:架構設計要順應人性 54

6.1 理解人性,從馬斯洛的動機躍遷理論講起 54

6.1.1 不是需求有層次,而是動機有優先級 54

6.1.2 一個人任何時候只有一個主導動機 56

6.1.3 主導動機會搶占一個人的全部意識 56

6.2 架構設計中對人性因素的考慮 57

6.2.1 案例一:沒有人性的技術架構就沒有生存空間 58

6.2.2 為什麽會有人設計和堅持沒有人性的架構 60

6.2.3 案例二:從研發人員心理安全感的角度來思考微服務的粒度 61

6.3 從用戶心智開始架構設計 62

6.3.1 案例三:從人性角度來分析拼多多是怎麽趕超阿裡的 63

6.3.2 從用戶心智角度理解增長飛輪 63

6.3.3 案例四:心智定位是長期戰略,不是靠直接的統計 65

6.4 遠離邪惡的心智 66

6.5 小結 67

6.6 思維拓展:從源頭學習,縮短認知差距 67

6.7 思考題 68

第7章 生存法則三:最大化經濟價值 70

7.1 關於商業模式和經濟價值 70

7.2 每個人都要有自己的商業模式 72

7.3 理解一家企業或一個團隊的商業模式 73

7.3.1 深度理解一家企業的商業模式 73

7.3.2 一種商業模式公式化表達 73

7.3.3 商業模式的本質 75

7.4 架構師是如何創造經濟價值的 76

7.4.1 通過合理取捨保證商業模式的構建 76

7.4.2 優化商業模式的效率 76

7.4.3 加速一種商業模式的收斂速度 78

7.5 從一個性能優化案例看最大化經濟價值 80

7.5.1 案例背景與分析 80

7.5.2 案例剖析 82

7.5.3 故事的番外 84

7.6 小結 84

7.7 思維拓展:認知之旅是基於實證主義的知行合一 85

7.8 思考題 85

第8章 生存法則四:架構選型必須順應技術趨勢 87

8.1 消除阻礙自己探索新技術的性格弱點 87

8.2 如何發現顛覆性的技術趨勢 89

8.2.1 通過技術成熟度曲線看技術生命周期 89

8.2.2 從經濟角度看軟件技術增長的推動力 91

8.3 由硬件技術突破推動的軟件技術進化 91

8.3.1 硬件技術革新是軟件技術革新的前置指標 91

8.3.2 從出貨量預測硬件廠商中的贏家 92

8.4 軟件行業的常見演化過程 92

8.5 由商業模式突破拉動的軟件技術進化 94

8.6 全力投到一個顛覆性的技術上 95

8.7 小結 96

8.8 思維拓展:在大尺度上思考問題 97

8.9 思考題 98

第9章 生存法則五:通過架構手段為企業註入外部適應性 99

9.1 什麽是外部適應性 99

9.1.1 架構師獨立為企業註入外部適應性的手段 101

9.1.2 研發活動的 3 個層次 102

9.2 削弱一個軟件系統外部適應性的因素 103

9.3 架構師如何為企業註入外部適應性 104

9.3.1 業務嘗試和產品嘗試:以最小的架構代價獲得有效結論 104

9.3.2 架構改造和戰略轉型:徹底改造,不留後患 106

9.3.3 技術產品抽象:讓架構抽象為一個理智行為 106

9.3.4 一個架構師註入外部適應性的具體案例 107

9.4 做一個比業務人員更懂業務的架構師 109

9.4.1 建立業務、產品和技術的平權世界 109

9.4.2 認知的突破靠持續的競爭對抗 111

9.5 小結 112

9.6 思維拓展:以成長思維來最大化認知的提升 112

9.7 思考題 113

第 10章 生存法則六:在一個友善的企業文化中成長 114

10.1 為什麽企業文化對架構師很重要 114

10.1.1 架構師視角的企業文化 114

10.1.2 識別企業的真實企業文化 115

10.1.3 架構師的烏托邦:一個可以踐行實證主義的企業文化 116

10.2 如何在小範圍內打造一種友善的企業文化 117

10.2.1 靠良知換取決策機會 118

10.2.2 踐行過程正義 118

10.2.3 有勇氣做違反共識的決策 119

10.3 拼圖的最後一塊:一致的價值理念 120

10.4 良禽擇木而棲 120

10.5 小結 121

10.6 思維拓展:實踐從發現行動點開始 122

10.7 思考題 122

第三部分 架構活動中的挑戰、根因和應對

第 11章 架構師持續發揮的作用 125

11.1 建立共識 125

11.1.1 如何在利益沖突的情況下建立共識 126

11.1.2 如何在不同視角的一群人中間建立共識 127

11.1.3 如何在不同知識背景的人群中建立共識 128

11.1.4 建立長期共識靠長期的投入和信用 128

11.2 控制風險 129

11.2.1 對風險逐漸形成量化認知 129

11.2.2 在有準備的情況下首先選擇冒險 129

11.2.3 在風險失控的情形下迅速溝通 130

11.3 註入理性思考 130

11.4 小結 131

11.5 思維拓展:從僵化到內化的學習過程 132

11.6 思考題 132

第 12章 環境搭建 134

12.1 為什麽要做環境搭建 134

12.2 環境搭建前的準備工作 134

12.3 如何搭建一個安全、高效且有針對性的決策環境 135

12.4 以最小必需原則獲取環境資源 137

12.5 對環境的持續監控 138

12.6 小結 138

12.7 思維拓展:從換位思考到換心思考 138

12.8 思考題 139

第 13章 目標確認 140

13.1 目標確認的 3 種不同視角 140

13.2 目標確認前的準備工作 141

13.3 架構師在目標確認過程中的工作 142

13.3.1 確認核心角色 142

13.3.2 對正確目標的逼近過程 143

13.3.3 在模糊的場景下發現正確的目標 144

13.3.4 目標的合理性和可達性的初步驗證 146

13.4 完成目標確認 147

13.5 小結 147

13.6 思維拓展:天下沒有免費的午餐 148

13.7 思考題 148

第 14章 可行性探索 149

14.1 什麽是可行性探索 149

14.2 可行性探索前的準備工作 150

14.3 可行性探索的過程 151

14.3.1 重大風險發掘 151

14.3.2 風險敞口預估 152

14.3.3 風險溝通 154

14.3.4 風險決策 154

14.4 完成可行性探索 155

14.5 小結 155

14.6 思維拓展:用好風險這個籌碼 156

14.7 思考題 156

第 15章 規劃確認 158

15.1 統一語義:追求不同角色間的無損交流 158

15.1.1 為什麽要統一語義 158

15.1.2 由語境差異帶來架構挑戰的示例 159

15.1.3 語境的差異的認知根源 161

15.1.4 架構師在統一語義過程中的價值 162

15.1.5 如何在分佈式的工作狀態下消除語義的分歧 163

15.2 建立架構信條:建立一個安全的決策環境 164

15.2.1 信條一:任務劃分可以打破現有執行團隊的組織邊界 164

15.2.2 信條二:通過客觀的判斷標準比較多個候選方案 164

15.2.3 信條三:最小化架構目標之外的技術投入 164

15.2.4 信條四:最大化系統的靈活性 165

15.2.5 信條五:架構決策要面向未來最優 165

15.3 確認需求:驗證需求的充要性 166

15.3.1 從問題域到執行域的映射 166

15.3.2 最小必要需求的篩選 167

15.3.3 需求的充分性驗證 167

15.3.4 處理問題域和執行域中的沖突 168

15.4 劃分邊界:在架構活動中重組執行域邊界 170

15.4.1 市場競爭決定最優執行域邊界 170

15.4.2 任務分配過程中要關註系統最軟肋 171

15.4.3 鎖定所有最小必要需求的交付資源 171

15.5 確認規劃:通過建設反饋閉環提升交付確定性 172

15.5.1 通過保障文檔到現實映射的真實性提升交付確定性 172

15.5.2 通過用例文檔保障分解和傳遞的無損 173

15.5.3 通過提升項目數據的及時性來保障交付節奏 174

15.5.4 通過統一的領域模型來保障需求側語義無損 174

15.5.5 通過正式的 API Spec 提升軟件架構的長期合理性 174

15.5.6 通過優化數據流轉提升項目結果的可觀測性 175

15.5.7 通過測試用例梳理確保最終的交付質量 176

15.5.8 通過文檔的完整性保障整體交付的確定性 176

15.6 小結 177

15.7 思維拓展:從細節上做宏觀決策 177

15.8 思考題 178

第 16章 項目啟動 180

16.1 項目啟動前的準備工作 180

16.1.1 架構方案的正式確認 181

16.1.2 核心資源的官方確認 182

16.1.3 問題預警機制和沖突解決機制建設 182

16.2 項目啟動 183

16.3 小結 184

16.4 思維拓展:用合同來保障命運 184

16.5 思考題 184

第 17章 價值交付 185

17.1 什麽是原子價值單元 185

17.2 以用戶價值為終極目標的交付方式 186

17.3 階段性價值交付面臨的挑戰 187

17.4 從價值交付的角度做原子價值單元拆分 188

17.4.1 依照用戶價值點拆分交付目標 188

17.4.2 以實用主義思維發現最短交付路徑 189

17.4.3 從結構性和成本出發優化的交付路徑 190

17.4.4 交付進度反饋和交付路徑調整 191

17.5 完成階段性交付 192

17.6 小結 192

17.7 思維拓展:持續發現並交付原子價值單元 193

17.8 思考題 193

第 18章 總結復盤 194

18.1 復盤的目的和視角 194

18.2 復盤的三大誤區 195

18.3 建設一個包容且視角平衡的復盤環境 196

18.4 明確復盤的目標 197

18.5 從多個平衡的視角回放整個架構活動 198

18.6 以發掘有效行動點為目標來引導復盤路徑 198

18.7 挖掘根因 200

18.8 尋找新的模式與機制 201

18.9 產出跟進項 202

18.10 完成復盤和整個架構活動,釋放資源 202

18.11 小結 202

18.12 思維拓展:從實踐發現新的理論 203

18.13 思考題 203

第四部分 架構師的職業規劃和能力成長

第 19章 結構化設計的能力 207

19.1 結構化設計的能力是架構師成長的必要條件 207

19.2 如何提升程序員的結構化設計的能力 208

19.2.1 意識到結構化的價值 208

19.2.2 培養對軟件結構性的鑒別能力 209

19.2.3 找到結構化的客觀度量和邏輯 209

19.2.4 做到在業務成長周期下思考合理取捨 210

19.3 日常研發中的結構化設計行為規範 212

19.4 小結 213

19.5 思維拓展:成長的關鍵在於發現障礙 213

19.6 思考題 214

第 20章 解決橫向問題的能力 215

20.1 跨越執行域到基礎域的障礙 215

20.2 程序員提升基礎域能力的策略 216

20.2.1 架構師成長策略:先優化寬度還是先優化深度 216

20.2.2 學習解決橫向問題,該從哪裡開始 216

20.3 從穩定性開始提升自己的橫向能力 217

20.4 小結 217

20.5 思維拓展:從興趣中放大自己的稀缺性 217

20.6 思考題 218

第 21章 解決跨領域沖突的能力 219

21.1 跨域架構師的緣起 219

21.2 從背鍋來分析跨域架構師面臨的領域沖突 221

21.3 如何為割裂的多個子域註入全局架構視角 223

21.4 尾聲:這個鍋誰來背 225

21.5 小結 226

21.6 思維拓展:社交能力對架構師也很重要 226

21.7 思考題 227

第 22章 構築技術壁壘的能力 228

22.1 總架構師的核心能力:構築技術壁壘 228

22.2 跨越不確定性的障礙 229

22.3 通過正確的職業選擇獲取高質量的決策機會 230

22.3.1 從技術型企業的生命周期來思考職業選擇 230

22.3.2 從行業的生命周期來思考職業選擇 234

22.4 小結 235

22.5 思維拓展:要不停地看機會 236

22.6 思考題 236

第 23章 為企業創造生存優勢的能力 237

23.1 CTO 到底是做什麽的 237

23.2 成長為 CTO 要跨越的障礙 238

23.3 CTO 的雙重人格 239

23.4 如何提升自己的商業嗅覺 240

23.5 小結 241

23.6 思維拓展:提升自己對人才的判斷力 241

23.7 思考題 242

第 24章 架構師的職業成長 243

24.1 架構師成長過程的 5 個階段 243

24.2 貫穿架構師職業生涯的結構性 244

24.3 架構師成長的必要條件 246

24.3.1 必要條件一:獨立思考的能力 246

24.3.2 必要條件二:信息優勢的內化能力 247

24.3.3 必要條件三:適應力 248

24.4 架構師成長的充分條件 250

24.4.1 充分條件一:大量高風險的決策機會 250

24.4.2 充分條件二:對架構師友善的企業文化 251

24.4.3 充分條件三:正確的目標 252

24.5 架構師成長的充分條件和必要條件的思考 252

24.6 小結 254

24.7 思維拓展:職業成長也需要戰略取捨 254

24.8 思考題 255

第 25章 提升獨立思考的能力 256

25.1 獨立思考 256

25.1.1 否定現有假設或者設立新的假設 256

25.1.2 尋找獨特的視角 257

25.1.3 尋找獨特的證據組合 257

25.1.4 嘗試獨特的思維方式 257

25.1.5 對獨立思考過程的正確性保障 258

25.2 如何判斷一個人的思考質量 258

25.3 如何判斷一個尚未驗證的思考案例的質量 259

25.4 發現身邊的獨立思考者 260

25.4.1 想提升自己的思考圈,先要做一個伯樂 260

25.4.2 要能容忍一個思考者的性格缺陷 261

25.4.3 往來無白丁 261

25.5 小結 261

25.6 思維拓展:建立思考者間的信任網絡 262

25.7 思考題 262

第 26章 關於中台的思考 264

26.1 為什麽選擇中台案例 264

26.1.1 什麽是中台 265

26.1.2 中台的歷史 266

26.1.3 業務中台被寄予的厚望 267

26.1.4 中台被詬病的地方 267

26.2 從不同維度繼續剖析中台 269

26.2.1 從價值創造的角度看中台 269

26.2.2 從競爭角度看中台 270

26.2.3 從成本角度看中台 271

26.2.4 從構築企業壁壘的角度看中台 272

26.3 中台失敗的最大根因在於分封機制 273

26.3.1 中台在演進慢和通用性高的場景中的失敗案例分析 274

26.3.2 國內中台各種弊端的根因 275

26.4 關於建設中台的正確路徑的思考 276

26.4.1 中台的正確組織和運行機制 276

26.4.2 中台的啟動時間和環境 277

26.4.3 中台的質量保障和交付要求 278

26.4.4 中台的退出機制 279

26.5 小結 281

26.6 思維拓展:從日常生活中尋找思考案例 281

26.7 思考題 282