软件工程师进阶导航

978-7-115-67907-9
作者: 盖尔盖伊·奥罗斯(Gergely Orosz)
译者: 荣耀
编辑: 佘洁

图书目录:

第一部分 开发者职业生涯基础 13

第1章 职业路径 14

1.1 科技公司的类型 14

1.2 典型的软件工程职业道路 18

1.3 薪酬与公司“层级” 21

1.4成本中心与利润中心 25

1.5 思考职业进步的另类视角 26

第2章 掌控你的职业生涯 28

2.1你的职业生涯由你自己主宰 28

2.2 成为他人眼中“能成事”的人 29

2.3 记录工作日志 30

2.4 主动寻求并给予反馈 31

2.5 让你的上司成为盟友 33

2.6 保持自己的节奏 35

第3章 绩效评估 37

3.1 提早开始:收集背景信息并设定目标 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 长期职业观 54

第5章 在不同的环境中蓬勃发展 56

5.1 产品团队与产品思维工程师 56

5.2平台团队 57

5.3 “和平时期”与“战争时期” 59

5.4 公司类型 62

第6章 跳槽 66

6.1 探索新机会 66

6.2 等待晋升vs跳槽 67

6.3 准备技术面试 69

6.4 降级跳槽 73

6.5 升级跳槽 75

6.6 新公司入职 76

要点总结 77

第二部分 称职的软件开发者 79

第7章 高效完成任务 80

7.1 专注于最重要的工作 80

7.2自主解决问题 81

7.3分解工作 86

7.4预估工作时间 87

7.5寻求导师 90

7.6 保持“好感余额”充足 91

7.7 主动出击 92

第8章 编程 94

8.1 大量练习编程 94

8.2 编写可读代码 97

8.3编写高质量代码 99

第9章 软件开发 102

9.1 精通一门编程语言 102

9.2调试 105

9.3重构 107

9.4测试 109

第10章 高效开发者的工具 111

10.1 本地开发环境 111

10.2 常用工具 113

10.3快速迭代的方法 115

要点总结 118

第三部分 全面发展的高级工程师 120

第11章 高效完成工作 123

11.1 完成工作:认知与现实 123

11.2你的个人工作 125

11.3 完成工作要做到“真正完成” 128

11.4你的团队 132

11.5全局视野 133

第12章 协作与团队合作 135

12.1代码评审 135

12.2结对编程 137

12.3指导与辅导 139

12.4提供反馈 143

12.5 与其他工程团队协作 144

12.6影响他人 145

第13章 软件工程 148

13.1 语言、平台和领域知识 148

13.2调试技能 150

13.3技术债务管理 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 在生产环境中的测试 167

14.7自动化测试的优势与劣势 168

第15章 软件架构 169

15.1设计文档、RFC和架构文档 169

15.2原型开发与概念验证 171

15.3领域驱动设计 172

15.4面向交付的软件架构 173

要点总结 176

第四部分 务实的技术负责人 178

第16章 项目管理 181

16.1 工程师主导项目的公司 181

16.2 为何需要项目管理 182

16.3 项目启动与里程碑 183

16.4“软件项目物理学” 186

16.5日常项目管理 188

16.6风险与依赖关系 190

16.7 项目收尾 193

第17章 发布到生产环境 195

17.1发布到生产环境的极端做法 195

17.2不同公司中的典型的发布流程 197

17.3 负责任地发布到生产环境的原则与工具 199

17.4额外的验证层和保护措施 201

17.5为加速发布做出务实的风险决策 204

17.6定义发布流程时的其他考虑因素 205

17.7选择合适的发布方法 206

第18章 利益相关者管理 208

18.1 利益相关者管理的真正目标 208

18.2 利益相关者的类型 209

18.3 确定谁是你的利益相关者 211

18.4 保持与利益相关者信息同步 212

18.5应对棘手的利益相关者 213

18.6向利益相关者学习 214

第19章 团队结构 216

19.1 角色与头衔 216

19.2 团队流程 217

19.3 提升团队专注力 219

第20章 团队动态 221

20.1 健康的团队 221

20.2 不健康的团队 222

20.3面临成长阵痛的团队 225

20.4 改善团队动态 226

20.5 与其他团队的关系 228

要点总结 229

第五部分 典范级资深工程师与首席工程师 230

第21章 理解业务 232

21.1 北极星指标、关键绩效指标和目标与关键结果 232

21.2你的团队与产品 235

21.3你的公司 238

21.4上市公司 242

21.5初创公司 243

21.6你所在的行业 243

第22章 协作 245

22.1内部政治 245

22.2 影响他人 247

22.3 与管理者合作 251

22.4与资深及以上级别同事的协作 252

22.5拓展你的人脉网络 253

22.6帮助他人 254

第23章 软件工程 256

23.1 你依然参与的编码工作 256

23.2 有益的工程流程 258

23.3快速迭代的工程实践 261

23.4 提升工程师效率的工具 264

23.5合规性与隐私 268

23.6安全开发 269

第24章 可靠的软件系统 271

24.1可靠性责任 271

24.2日志记录 271

24.3 监控 273

24.4 告警管理 275

24.5值班机制 277

24.6事件管理 281

24.7构建弹性系统 283

第25章 软件架构 285

25.1尽可能保持简单 285

25.2掌握行话,但切勿滥用 286

25.3架构债务 287

25.4单向门决策与双向门决策 288

25.5决策的波及范围 290

25.6可扩展架构 291

25.7架构决策与业务优先级 292

25.8紧密贴近工作实际 293

25.9软件架构师的特质 294

第六部分 结语 301

第26章 终身学习 301

26.1 保持好奇心 301

26.2持续学习 304

26.3不断挑战自我 306

26.4紧跟行业动态 309

26.5适当休息 309

第27章 延伸阅读 311

详情

这是一本由资深软件工程师撰写的职业发展指南,融合了作者丰富的行业经验和指导智慧。全书分为六部分,系统介绍开发者职业关键环节。本书从职业路径、绩效评估、晋升策略等基础内容起步,为新手软件工程师指明方向;随后聚焦称职的软件开发者所需的核心能力,揭示高效完成任务与编程的独到秘诀。第三部分进入高级工程师层级,读者将学习软件工程、测试与架构设计等高级技能,为职业发展注人强劲动力。第四部分则转向技术负责人的角色,解析项目管理精髓、团队协作艺术及与利益相关者沟通之道,助力工程师向管理角色转型。第五部分描绘资深工程师与首席工程师的蓝图,探讨业务理解、软件工程创新与领导力培养,为工程师的终极职业目标提供指引。第六部分强调终身学习的重要性,并提供延伸阅读建议,鼓励工程师们不断追求卓越。 书中全面覆盖“软”“硬”技能,结构严谨、层次分明。无论你是刚踏人软件工程领域的新手,还是寻求职业突破的资深工程师,本书都是你的良师益友,可助你在职业生涯中不断攀登新高峰,成就辉煌的未来。

图书摘要

相关图书

DeepSeek原理与项目实战大模型部署、微调与应用开发
DeepSeek原理与项目实战大模型部署、微调与应用开发
软件工程3.0:大模型驱动的研发新范式
软件工程3.0:大模型驱动的研发新范式
图机器学习
图机器学习
大模型工程化:AI驱动下的数据体系
大模型工程化:AI驱动下的数据体系
AI辅助编程实战
AI辅助编程实战
HarmonyOS应用开发实战:基础篇
HarmonyOS应用开发实战:基础篇

相关文章

相关课程