這是一本由資深軟件工程師撰寫的職業(yè)發(fā)展指南,融合了豐富的行業(yè)經(jīng)驗和指導(dǎo)智慧。全書分為六大模塊,系統(tǒng)涵蓋開發(fā)者職業(yè)關(guān)鍵環(huán)節(jié)。從職業(yè)規(guī)劃、績效評估、晉升策略等基礎(chǔ)內(nèi)容起步,為新手工程師指明方向;隨后聚焦稱職軟件開發(fā)者所需的核心能力,揭示高效完成任務(wù)與編程的獨到秘訣。第三部分進入高級工程師層級,讀者將學習軟件工程、測試與架構(gòu)設(shè)計等高級技能,為職業(yè)發(fā)展注入強勁動力。第四部分則轉(zhuǎn)向技術(shù)負責人的角色,解析項目管理精髓、團隊協(xié)作藝術(shù)與利益相關(guān)者溝通之道,助力工程師向管理角色轉(zhuǎn)型。第五部分描繪資深工程師與首席工程師的藍圖,探討業(yè)務(wù)深刻理解、軟件工程創(chuàng)新與領(lǐng)導(dǎo)力培養(yǎng),為工程師的終極職業(yè)目標提供指引。最終,第六部分強調(diào)終身學習的重要性,并提供延伸閱讀建議,鼓勵工程師們不斷追求卓越。
書中全面覆蓋 “軟”“硬” 技能,結(jié)構(gòu)嚴謹、層次分明。無論新手還是資深人士,本書都能助你夯實基礎(chǔ)、突破瓶頸、攀登職業(yè)高峰、成就輝煌未來。
·工程師實戰(zhàn)總結(jié),融合多年行業(yè)經(jīng)驗與指導(dǎo)智慧,直擊職業(yè)發(fā)展核心痛點
·覆蓋從新手到工程師全鏈路,分 6 大模塊拆解職業(yè)路徑、技能提升與角色轉(zhuǎn)型,適配不同階段需求
·兼顧 “軟”“硬” 技能,既講編程、架構(gòu)等技術(shù)能力,也授管理、溝通、領(lǐng)導(dǎo)力等職場素養(yǎng)
·結(jié)構(gòu)嚴謹、層次分明,從基礎(chǔ)指引到高階藍圖逐步深入,既是入門指南也是職業(yè)突破工具書
·提供終身學習方向與延伸閱讀建議,助力工程師持續(xù)成長,實現(xiàn)職業(yè)階梯式晉升
蓋爾蓋伊·奧羅斯(Gergely Orosz):一位軟件工程師、作家和顧問。他寫了一份時事通訊,名為《務(wù)實的工程師》,這是 Substack 上排名第一的技術(shù)通訊。他還出版了幾本書,并管理著一個人才集體以及一個針對工程師和工程經(jīng)理的招聘委員會。此前,他曾在 Uber、微軟、Skype 和 Skyscanner 等公司工作。他在推特上談?wù)撥浖こ、技術(shù)和他的工作。
第 一部分 開發(fā)者職業(yè)生涯基礎(chǔ) 13
第 1章 職業(yè)路徑 14
1.1 科技公司的類型 14
1.2 典型的軟件工程職業(yè)道路 18
1.3 薪酬與公司“層級” 21
1.4成本中心與利潤中心 25
1.5 思考職業(yè)進步的另類視角 26
第 2章 掌控你的職業(yè)生涯 28
2.1你的職業(yè)生涯由你自己主宰 28
2.2 成為他人眼中“能成事”的人 29
2.3 記錄工作日志 30
2.4 主動尋求并給予反饋 31
2.5 讓你的上司成為盟友 33
2.6 保持自己的節(jié)奏 35
第3章 績效評估 37
3.1 提早開始:收集背景信息并設(shè)定目標 37
3.2 習慣的力量 39
3.3 績效評估前的準備 41
3.4績效評估 43
第4章 晉升 46
4.1晉升的決定因素 46
4.2晉升流程的類型 47
4.3“終極職級” 48
4.4大科技公司的晉升之道 49
4.5晉升建議 51
4.6 長期職業(yè)觀 54
第5章 在不同的環(huán)境中蓬勃發(fā)展 56
5.1 產(chǎn)品團隊與產(chǎn)品思維工程師 56
5.2平臺團隊 57
5.3 “和平時期”與“戰(zhàn)爭時期” 59
5.4 公司類型 62
第6章 跳槽 66
6.1 探索新機會 66
6.2 等待晉升vs跳槽 67
6.3 準備技術(shù)面試 69
6.4 降級跳槽 73
6.5 升級跳槽 75
6.6 新公司入職 76
要點總結(jié) 77
第二部分 稱職的軟件開發(fā)者 79
第7章 高效完成任務(wù) 80
7.1 專注于最重要的工作 80
7.2自主解決問題 81
7.3分解工作 86
7.4預(yù)估工作時間 87
7.5尋求導(dǎo)師 90
7.6 保持“好感余額”充足 91
7.7 主動出擊 92
第8章 編程 94
8.1 大量練習編程 94
8.2 編寫可讀代碼 97
8.3編寫高質(zhì)量代碼 99
第9章 軟件開發(fā) 102
9.1 精通一門編程語言 102
9.2調(diào)試 105
9.3重構(gòu) 107
9.4測試 109
第 10章 高效開發(fā)者的工具 111
10.1 本地開發(fā)環(huán)境 111
10.2 常用工具 113
10.3快速迭代的方法 115
要點總結(jié) 118
第三部分 全面發(fā)展的高級工程師 120
第 11章 高效完成工作 123
11.1 完成工作:認知與現(xiàn)實 123
11.2你的個人工作 125
11.3 完成工作要做到“真正完成” 128
11.4你的團隊 132
11.5全局視野 133
第 12章 協(xié)作與團隊合作 135
12.1代碼評審 135
12.2結(jié)對編程 137
12.3指導(dǎo)與輔導(dǎo) 139
12.4提供反饋 143
12.5 與其他工程團隊協(xié)作 144
12.6影響他人 145
第 13章 軟件工程 148
13.1 語言、平臺和領(lǐng)域知識 148
13.2調(diào)試技能 150
13.3技術(shù)債務(wù)管理 152
13.4文檔編寫 155
13.5 在團隊中推廣最佳實踐 157
第 14章 測試 159
14.1單元測試 159
14.2集成測試 161
14.3 UI測試 161
14.4 自動化測試的思維模型 161
14.5 專用測試 164
14.6 在生產(chǎn)環(huán)境中的測試 167
14.7自動化測試的優(yōu)勢與劣勢 168
第 15章 軟件架構(gòu) 169
15.1設(shè)計文檔、RFC和架構(gòu)文檔 169
15.2原型開發(fā)與概念驗證 171
15.3領(lǐng)域驅(qū)動設(shè)計 172
15.4面向交付的軟件架構(gòu) 173
要點總結(jié) 176
第四部分 務(wù)實的技術(shù)負責人 178
第 16章 項目管理 181
16.1 工程師主導(dǎo)項目的公司 181
16.2 為何需要項目管理 182
16.3 項目啟動與里程碑 183
16.4“軟件項目物理學” 186
16.5日常項目管理 188
16.6風險與依賴關(guān)系 190
16.7 項目收尾 193
第 17章 發(fā)布到生產(chǎn)環(huán)境 195
17.1發(fā)布到生產(chǎn)環(huán)境的極端做法 195
17.2不同公司中的典型的發(fā)布流程 197
17.3 負責任地發(fā)布到生產(chǎn)環(huán)境的原則與工具 199
17.4額外的驗證層和保護措施 201
17.5為加速發(fā)布做出務(wù)實的風險決策 204
17.6定義發(fā)布流程時的其他考慮因素 205
17.7選擇合適的發(fā)布方法 206
第 18章 利益相關(guān)者管理 208
18.1 利益相關(guān)者管理的真正目標 208
18.2 利益相關(guān)者的類型 209
18.3 確定誰是你的利益相關(guān)者 211
18.4 保持與利益相關(guān)者信息同步 212
18.5應(yīng)對棘手的利益相關(guān)者 213
18.6向利益相關(guān)者學習 214
第 19章 團隊結(jié)構(gòu) 216
19.1 角色與頭銜 216
19.2 團隊流程 217
19.3 提升團隊專注力 219
第 20章 團隊動態(tài) 221
20.1 健康的團隊 221
20.2 不健康的團隊 222
20.3面臨成長陣痛的團隊 225
20.4 改善團隊動態(tài) 226
20.5 與其他團隊的關(guān)系 228
要點總結(jié) 229
第五部分 典范級資深工程師與首席工程師 230
第 21章 理解業(yè)務(wù) 232
21.1 北極星指標、關(guān)鍵績效指標和目標與關(guān)鍵結(jié)果 232
21.2你的團隊與產(chǎn)品 235
21.3你的公司 238
21.4上市公司 242
21.5初創(chuàng)公司 243
21.6你所在的行業(yè) 243
第 22章 協(xié)作 245
22.1內(nèi)部政治 245
22.2 影響他人 247
22.3 與管理者合作 251
22.4與資深及以上級別同事的協(xié)作 252
22.5拓展你的人脈網(wǎng)絡(luò) 253
22.6幫助他人 254
第 23章 軟件工程 256
23.1 你依然參與的編碼工作 256
23.2 有益的工程流程 258
23.3快速迭代的工程實踐 261
23.4 提升工程師效率的工具 264
23.5合規(guī)性與隱私 268
23.6安全開發(fā) 269
第 24章 可靠的軟件系統(tǒng) 271
24.1可靠性責任 271
24.2日志記錄 271
24.3 監(jiān)控 273
24.4 告警管理 275
24.5值班機制 277
24.6事件管理 281
24.7構(gòu)建彈性系統(tǒng) 283
第 25章 軟件架構(gòu) 285
25.1盡可能保持簡單 285
25.2掌握行話,但切勿濫用 286
25.3架構(gòu)債務(wù) 287
25.4單向門決策與雙向門決策 288
25.5決策的波及范圍 290
25.6可擴展架構(gòu) 291
25.7架構(gòu)決策與業(yè)務(wù)優(yōu)先級 292
25.8緊密貼近工作實際 293
25.9軟件架構(gòu)師的特質(zhì) 294
第六部分 結(jié)語 301
第 26章 終身學習 301
26.1 保持好奇心 301
26.2持續(xù)學習 304
26.3不斷挑戰(zhàn)自我 306
26.4緊跟行業(yè)動態(tài) 309
26.5適當休息 309
第 27章 延伸閱讀 311