架構思維:從程序員到 CTO
郭東白
買這商品的人也買了...
-
$880$695 -
$1,000$780 -
$806模型檢驗原理
-
$500設計應變 產品體驗設計實戰錄
-
$556高效能並行運行時系統:設計與實現
-
$551RTC 程序設計:實時音視頻權威指南
-
$551TypeScript + React Web 應用開發實戰
-
$474$450 -
$390$371 -
$1,188$1,129 -
$299$284 -
$580$458 -
$539$512 -
$534$507 -
$888$844 -
$650$507 -
$256軟件開發的藝術
-
$354$336 -
$588$559 -
$768$730 -
$768$730 -
$1,374$1,305 -
$880$695 -
$414$393 -
$850$672
相關主題
商品描述
本書以架構師工作中的痛點問題為導向,結合大量真實、復雜的案例,幫助架構師提高架構設計能力,規劃職業成長路徑。本書共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