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