本書是IT與互聯(lián)網(wǎng)世界知名技術人陳皓生前文章精粹,既囊括程序員從起步到進階直至邁向卓越的優(yōu)選路徑及實現(xiàn)方法,也覆蓋工程師從開啟職業(yè)生涯到走向管理崗位直至創(chuàng)辦公司的能力突破與細節(jié)修煉,更完整描繪了作者其人的獨特經歷、個性主張、人生趣味與技術理念。內容包含如何通過理解編程本質和范式、優(yōu)質代碼與架構成為有競爭力的程序員,如何通過注重高效溝通、研發(fā)效率、科學管理、合理考核、有效招聘、工程師文化來打造技術領導力,以及如何通過正確面對三觀、技術變化、中年危機、他人評價、人生選擇、時間管理、有效學習來實現(xiàn)持續(xù)成長。
陳皓·網(wǎng)名左耳朵耗子,人稱耗子叔!ぶ毩⒓夹g博客酷殼網(wǎng)作者!O客時間APP“左耳聽風”專欄主理人!loud Native技術架構平臺公司MegaEase創(chuàng)始人!び20多年軟件開發(fā)及架構相關工作經驗!は群笤诎⒗锇桶汀嗰R遜、湯森路透等知名公司任職!T底層技術尤其大規(guī)模分布式系統(tǒng)基礎架構有深入研究!F隊管理、項目管理及程序員個人成長等方面有獨到見解。
01 我的三觀 / 1
面對世界 / 2
面對社會 / 3
面對人生 / 4
價值取向 / 6
02 我對技術的態(tài)度 / 10
對日新月異的技術該持什么態(tài)度 / 10
計算機科學教育的側重點 / 13
軟件開發(fā)是否越來越難 / 14
“35+”的程序員如何面對技術 / 15
工作經歷決定技術思維 / 18
享受技術帶來的快樂 / 19
03 中年危機 / 21
左耳朵耗子出道 / 21
博客與專欄 / 21
我的中年危機 / 22
用創(chuàng)業(yè)對抗危機 / 24
理性看待中年危機 / 26
04 做正確的事,等著被“開除” / 27
正確的事 / 27
自頂向下的局限性 / 29
嚴肅對待個人成長 / 32
真正的績效 / 33
如何避免長期妥協(xié) / 33
不被認可怎么辦 / 34
“強制分布”的績效考核 / 35
能力欠缺的員工 / 36
績效不能考評人 / 36
05 有競爭力的程序員 / 38
五步思考法 / 38
變得更好的竅門 / 40
提升個人競爭力的“最佳實踐” / 43
四步實現(xiàn)競爭力躍遷 / 45
06 成長中的問題 / 49
選廣度還是深度 / 49
如何保證工程進度 / 50
如何良性地工作 / 50
如何跟上技術迭代 / 51
技術人的創(chuàng)業(yè)賽道 / 52
算法面試之弊 / 53
做技術工作的基本修養(yǎng) / 55
如何選擇技術 / 56
ChatGPT的崢嶸未來 / 58
07 程序員修煉之道 / 61
準程序員應該知道的 / 61
有一個程序員的樣子 / 62
繞不開的硬核技術 / 64
編程知識圖譜 / 67
程序員升級“里程碑” / 70
程序員職業(yè)發(fā)展目標之一:職場 / 71
程序員職業(yè)發(fā)展目標之二:經歷 / 74
程序員職業(yè)發(fā)展目標之三:自由 / 75
08 高效學習 / 77
學習是一門學問 / 77
學習的終極目的 / 80
高效學習的八種方法 / 83
09 高效溝通 / 90
溝通的原理與Bug / 90
克服六種常見溝通障礙 / 93
簡單有效的溝通方式 / 97
無往不利的溝通技巧 / 98
10 編程的本質 / 101
編程領域的基礎知識 / 101
編程語言 / 103
從兩篇論文談起 / 109
理解編程的本質 / 111
11 優(yōu)質代碼 / 119
整潔代碼四原則 / 119
五種不當代碼注釋 / 121
優(yōu)質代碼的十誡 / 127
更優(yōu)的函數(shù)式編程 / 130
如何寫好函數(shù)式代碼 / 131
12 編程范式 / 139
從C語言到C++語言的泛型編程 / 139
再議函數(shù)式編程 / 142
面向對象編程 / 144
基于原型的編程 / 146
邏輯編程 / 148
程序世界里的編程范式 / 149
13 軟件開發(fā)與架構設計的原則 / 153
軟件開發(fā)的不重復原則 / 153
軟件開發(fā)的大道至簡原則 / 153
軟件開發(fā)的面向接口而非實現(xiàn)原則 / 154
軟件開發(fā)的命令查詢分離原則 / 154
軟件開發(fā)的按需設計原則 / 154
軟件開發(fā)的迪米特法則 / 155
軟件開發(fā)的面向對象SOLID原則 / 156
軟件開發(fā)的共同封閉原則 / 158
軟件開發(fā)的共同重用原則 / 159
軟件開發(fā)的“好萊塢”原則 / 159
軟件開發(fā)的高內聚低耦合原則 / 160
軟件開發(fā)的約定優(yōu)于配置原則 / 160
軟件開發(fā)的關注點分離原則 / 160
軟件開發(fā)的契約式設計原則 / 161
軟件開發(fā)的無環(huán)依賴原則 / 162
系統(tǒng)架構原則1:關注收益而不是技術 / 163
系統(tǒng)架構原則2:以服務和API為視角 / 164
系統(tǒng)架構原則3:選擇主流和成熟的技術 / 164
系統(tǒng)架構原則4:完備性比性能重要 / 166
系統(tǒng)架構原則5:制定并遵循標準規(guī)范 / 166
系統(tǒng)架構原則6:重視可擴展性和可維護性 / 168
系統(tǒng)架構原則7:對控制邏輯全面收口 / 168
系統(tǒng)架構原則8:不要遷就技術債務 / 169
系統(tǒng)架構原則9:不要依賴經驗 / 170
系統(tǒng)架構原則10:提防與應對“X?CY”問題 / 171
系統(tǒng)架構原則11:對新技術激進勝于保守 / 171
14 分布式架構 / 173
分布式系統(tǒng)的架構演進 / 173
核心使命與關鍵技術 / 177
分布式系統(tǒng)的綱 / 181
分布式系統(tǒng)典范:PaaS平臺 / 185
回顧分布式架構 / 188
15 時間管理 / 191
我的時間管理啟蒙 / 191
主動管理 / 192
學會說“不” / 193
加班和開會 / 195
時間的價值投資 / 196
規(guī)劃自己的時間 / 197
排除干擾項 / 199
養(yǎng)成好習慣 / 199
16 研發(fā)效率 / 201
效率的計算 / 201
“鎖式”軟件開發(fā) / 203
“接力棒式”軟件開發(fā) / 204
“保姆式”軟件開發(fā) / 205
“看門狗式”軟件開發(fā) / 207
“故障驅動式”軟件開發(fā) / 207
需求與效率:“T恤”估算法 / 208
加班思維 / 209
17 技術領導力 / 212
技術重要嗎 / 212
什么是技術領導力 / 213
如何擁有技術領導力 / 215
吃透基礎技術 / 216
提高學習能力 / 220
堅持做正確的事 / 221
高標準要求自己 / 221
18 管理方式 / 223
小商品工廠與電影工作組 / 223
行之有效的敏捷方法 / 225
影響軟件質量的潛在因素 / 227
細說分工 / 229
19 績效考核 / 232
績效考核的局限性 / 232
OKR與KPI / 233
績效溝通解惑 / 235
正確看待績效 / 236
我的“績效” / 237
20 關于招聘 / 238
分清四個考察方向 / 238
討厭的算法題和智力題 / 240
實戰(zhàn)模擬 / 241
把應聘者當成同事 / 242
向應聘者學習 / 243
面向綜合素質的面試 / 244
實習生招聘 / 245
面試題解析 / 246
21 工程師文化 / 248
為什么要倡導工程師文化 / 248
工程師文化的特征 / 249
工程師文化如何落地 / 253
22 遠程工作 / 254
宏觀管理 / 254
微觀管理 / 256
遠程工作協(xié)議 / 258
附錄A 工匠精神 / 262
技術人的執(zhí)著 / 263
回望初衷 / 265
發(fā)現(xiàn)更好的自己 / 265
細節(jié)是魔鬼 / 266
培養(yǎng)工匠精神 / 267
高質量分享 / 268
附錄B 創(chuàng)業(yè)者陳皓 / 271
速覽其人 / 271
闖蕩互聯(lián)網(wǎng) / 272
樂在創(chuàng)業(yè)中 / 274
踐行遠程辦公 / 277
花開云原生 / 277
守望國產基礎軟件 / 279