内容简介 · · · · · ·
软件工程师是一群用代码改变世界的人。过去二三十年,互联网可以说改变了整个世界:我们的联络方式从延续数百年的写信,到后来发邮件,再到现在的即时通信;我们查询信息的方式从一本一本翻书,到现在随时随地使用搜索引擎;我们的购物方式从去商场超市到去亚马逊、淘宝、京东直接下单,再到一小时就能送达手上的盒马;我们的出行方式从站在路边拦出租车到坐在家里叫滴滴……可以说生活工作的方方面面,都发生了巨大的变化。而这些变化的背后站着一个职业,那就是软件工程师。正是软件工程师,通过一行一行的代码,让这一切得以实现。本书就来带你认识这个改变了世界的职业。翻开这本书你会发现——· 软件工程师不是只会搬砖的码农,而是一群简单务实、热爱创新的人· 软件工程师薪酬高,但很多不是利益驱动型的,而是成就感驱动型的&m...
软件工程师是一群用代码改变世界的人。过去二三十年,互联网可以说改变了整个世界:我们的联络方式从延续数百年的写信,到后来发邮件,再到现在的即时通信;我们查询信息的方式从一本一本翻书,到现在随时随地使用搜索引擎;我们的购物方式从去商场超市到去亚马逊、淘宝、京东直接下单,再到一小时就能送达手上的盒马;我们的出行方式从站在路边拦出租车到坐在家里叫滴滴……可以说生活工作的方方面面,都发生了巨大的变化。而这些变化的背后站着一个职业,那就是软件工程师。正是软件工程师,通过一行一行的代码,让这一切得以实现。本书就来带你认识这个改变了世界的职业。翻开这本书你会发现——· 软件工程师不是只会搬砖的码农,而是一群简单务实、热爱创新的人· 软件工程师薪酬高,但很多不是利益驱动型的,而是成就感驱动型的· 996不是软件工程师工作的必需,而是行业特定发展阶段和公司管理不力的结果· 35岁的坎儿不是年龄的坎儿,而是能力的坎儿· 软件工程师不是一个可以“吃老本”的职业,终身学习是硬性要求· 代码写得漂亮只是第一步,真正的高手必须在抽象能力、设计能力、取舍能力上下功夫
作者简介 · · · · · ·
本书系访谈而成,内容来自以下4位行业高手多年的从业智慧和心法——
郄小虎:前谷歌全球高级技术总监、谷歌中国研究院副院长、小红书CTO、滴滴出行副总裁,现任腾讯公司副总裁。主导设计的系统包括Google AdWords、滴滴出行交易平台等,曾两次获得谷歌创始人奖。
陈皓: 网名“左耳朵耗子”。前阿里云资深架构师、亚马逊高级研发经理,拥有20多年互联网和金融行业从业经验。现为MegaEase创始人,致力于为企业提供Cloud Native和行业头部企业(亚马逊/阿里)标准的高可用、高性能和高并发架构的技术产品。
陈智峰:谷歌大脑首席工程师。曾参与开发谷歌搜索和邮件系统使用的大规模分布式存储系统;近年来参与设计并实现了被广泛应用的机器学习开源系统TensorFlow,以及谷歌的新一代机器翻译系统和语音识别系统。
鲁鹏俊:前谷歌主任架构师(因QueST项目获...
本书系访谈而成,内容来自以下4位行业高手多年的从业智慧和心法——
郄小虎:前谷歌全球高级技术总监、谷歌中国研究院副院长、小红书CTO、滴滴出行副总裁,现任腾讯公司副总裁。主导设计的系统包括Google AdWords、滴滴出行交易平台等,曾两次获得谷歌创始人奖。
陈皓: 网名“左耳朵耗子”。前阿里云资深架构师、亚马逊高级研发经理,拥有20多年互联网和金融行业从业经验。现为MegaEase创始人,致力于为企业提供Cloud Native和行业头部企业(亚马逊/阿里)标准的高可用、高性能和高并发架构的技术产品。
陈智峰:谷歌大脑首席工程师。曾参与开发谷歌搜索和邮件系统使用的大规模分布式存储系统;近年来参与设计并实现了被广泛应用的机器学习开源系统TensorFlow,以及谷歌的新一代机器翻译系统和语音识别系统。
鲁鹏俊:前谷歌主任架构师(因QueST项目获谷歌创始人奖)、百度高级总监、欢聚时代CTO,现任唯品会联席CTO。
目录 · · · · · ·
01 特质:简单务实,极致创新 4
02 薪酬:高薪职业里的“常青树” 7
03 底层:一个成就感驱动的职业 11
04 选择:一线和次一线城市,机会巨大 13
05 现实:为什么会有996 18
· · · · · · (更多)
01 特质:简单务实,极致创新 4
02 薪酬:高薪职业里的“常青树” 7
03 底层:一个成就感驱动的职业 11
04 选择:一线和次一线城市,机会巨大 13
05 现实:为什么会有996 18
06 进阶:软件工程师的四大台阶 22
07 周期:是否存在35 岁的坎儿 25
08 挑战:持续学习是刚性要求 31
09 机会:工种多,且新工种频繁出现 33
10 趋势:软件工程师即将遍布各行各业 36
第二部分 新手上路
◎入行前
01 基本储备:入门必学的语言和工具 40
02 选择平台:去面向未来、技术驱动的公司 43
03 认识自己:找到适合自己的路线 46
◎编码
04 编码规范:不要逆着规范做事 50
05 公司差异:即使没有规范,也得自我要求 53
06 优质代码:好代码没有止境 57
07 整洁代码:不是写出来的,而是读出来的 60
08 代码注释:像说明书一样清晰 62
09 编程原则:教科书没有告诉你的“为什么” 65
10 解决问题:别把原则当教条 70
◎测试
11 全面思考:做测试比写代码难 71
12 程序测试:对软件工程师的基本要求 75
◎改Bug
13 执行任务:从改Bug 开始 79
14 定位Bug:像侦探一样发现问题 81
15 修复Bug:务必小心谨慎 84
◎成长论
16 拆分任务:动手工作前,先做任务分解 86
17 阅读代码:重要的不是写代码,而是读代码 89
18 找到捷径:通读牛人代码 91
19 追本溯源:多读文档,多读书 94
20 重在过程:学习牛人的方法,别抄答案 96
21 潜移默化:和优秀的人一起工作 98
22 亦师亦友:和身边的人搭伴学 100
第三部分 进阶通道
◎设计程序
01 需求分析1:避免X-Y问题 105
02 需求分析2:明确模糊不清的问题 107
03 设计程序:学会谋篇布局 109
04 高度抽象:设计需要抽象能力 111
05 原型设计1:从最难的做起 116
06 原型设计2:原型设计的关键是接口 118
07 架构设计1:分而治之,理清思路 120
08 架构设计2:考虑异常情况和极限情况 123
09 技术调研:寻找最优解决方案 125
◎项目管理
10 软件工程:不同的开发模式 127
11 流程管控:用火车头模式避免研发延期 130
12 验证效果:做A/B test,用数据说话 133
13 监控打磨:上线前做好监控与压测 135
◎团队合作
14 外部沟通:知道怎么“规训”业务 138
15 内部协作:平衡前台团队和中后台团队 141
◎学习进阶
16 直击内核:打牢基础,以不变应万变 143
17 搭建体系:用知识树系统学习 146
18 主动学习:提高你的学习效率 149
第四部分 高手修养
◎分岔路的选择
01 上升通道:技术路线和管理路线 154
◎业务上的精进
02 预见未来:软件工程师要有前瞻能力 156
03 权衡利弊:软件工程师要有取舍能力 159
04 攻克难题1:主动寻找技术难题 162
05 攻克难题2:尝试不同的解决方案 164
06 关键决策:技术选型的六大要素 168
07 代码评审:不是“做出来”,而是“做漂亮” 172
08 评审清单:代码评审怎么做 174
09 评审误区:代码评审是为了找Bug 吗 176
◎带团队的心法
10 实力服众:工程师宁愿被lead,不愿被manage 178
11 敢于放手:从工程师变成管理者 180
12 善于说服:相对于下指令,还是要讲道理 181
13 招聘面试:考察一个人的元能力 183
14 员工激励:让工程师更有成就感 185
15 团队建设:做好人才布局 187
16 布局长远:关注长期目标 189
17 平衡需求:判断紧急与重要 191
18 协同机制:保持公开透明的信息协同 193
19 团队合作:一加一大于二 195
20 合作共赢:找到利益共同点 198
第五部分 行业大神
01 丹尼斯·里奇:保持简洁 203
02 林纳斯·托瓦兹:只是为了好玩 206
03 吉多·范罗苏姆: 允许不完美、保持开放 208
04 玛格丽特·汉密尔顿: 拯救人类登月计划 211
05 杰夫·迪恩: 开创分布式系统 215
06 法布里斯·贝拉: 一个人就是一支队伍 219
第六部分 行业清单
01 行业大事记 224
02 推荐资料 231
03 行业术语 255
· · · · · · (收起)
原文摘录 · · · · · ·
-
发展的高峰期 你可能会问 具体怎 做 量呢?我的建议 以我们公司对员工的 为所在公 重 或 为 求为例 模化、平台化。 公司核 类型,这些成员具备的各项能力,是你要着重培养的 成 贡者( Contributor) 1。创始人( Founder)/合伙人( Partner) 这类人是公司的腰部力量,他们对要做的事有热情,并 会想各种方法推动工作的进展,他们需要有如下能 人合伙人是公司的顶梁 能力 需要有 1)探路能力。只要方向没问题,即使没有 體出路来。 (1)做出贡献。为公司带来资源、吸引人才、来益、 在实施过程中提出更好、更简单的 其中既包括经济效益,也包括社会效益。 方法以及相关创意 (2)带动团队 人就是一支军队,能够自驱为公司 难题。方法总比题多,能够带动团队解决 切拦路的问题。 团队制订方向和实施计,并能解决执行时的所有问题,具 备推动落地的能力 高标准。能够不断发现不足并弥 题,提高标准 (3)创新优化。能够对现有的东西提出小而美的创新和 3。行家( Expert)优化,并将其推动和执行。 这类人是公司的手足力量,他们要对所做的事情有很丰 (4)前瞻能力。能够感知行业变化,技术潮流,并依 的经验,能够正确判断和决策,这类人有如下能力思考行业和公司的未来,为应对未来做好准备。 (1)降低成本。为公司在执行层面上降低 成本(时间 金钱、人力、物力)。 抓重点,简化,标准化。只有抓住重点、简化向题 (查看原文) —— 引自章节:06 进阶:软件工程师的四大台阶 22 -
进阶:软件工程师的四大台阶 第一部分1行业图23 06 但不会告诉你怎么做。相当于他给你的只是一个问题,你需 要自己把具体的题抽象、拆解,并独立设计解决方案。 软件工程师这一行有很多“英雄出少年”的子、比如 高手阶段则需要融会贯通的能力。这个能力对应的其实 比尔・盖茨、扎克伯格,年纪轻轻就做出了开创性的研发与 是我们通常讲的架构师,也就是软件项目的总设计师。假设 设计。看起来,这一行颇有些“出名要趁早”的特性。 你是架构师,你不仅要看到系统从过去到今天是怎么变化的 还要看到是外界哪些需求、内部哪些技术导致了这些变化 但其实 出手就站在金字塔塔尖的年轻人只是极少数、 并且预判系统未来要朝什么方向发展。你需要把技术的演进 可以说是风毛麟角。大多数的软件工程师,都是需要在金字 需求的变化、系统的发展等多个维度综合起来考虑。 塔里,一个台阶一个台阶往上走的。 大神阶段需要沉淀方法论。在这个阶段,大家都公认你 是这方面的权威,你对这个方向的判断是非常准确的。同时 如果我们把软件工程师的金字塔分为四大台阶,那它们 你还能够沉淀出一个方法,这个方法不只适用于当前的领域分别是:新手阶段、进阶阶段、高手阶段和行业大神阶段 别人把你这套东西拿过来,还可以解决另外的问题。这四个阶段分别对应这样几种能力:执行力、设计能力、 大神中最顶尖的,还能开创新领域。这些新领域的开创会贯通的能力、沉淀方法论和开创新领域的能力。 都是革命性的。可以说,几乎计算机、互联网领域出现的每 新手阶段强调执行力。你刚刚进公司是新人的时候,会 个重大里程碑,都是软件工程师开创新领域的结果。比如业被分配一些任务,... (查看原文) —— 引自章节:06 进阶:软件工程师的四大台阶 22
丛书信息
· · · · · ·
喜欢读"这就是软件工程师"的人也喜欢的电子书 · · · · · ·
喜欢读"这就是软件工程师"的人也喜欢 · · · · · ·
-
- “前途丛书”这就是保险代理人 7.3
-
- 这就是电竞选手 7.7
-
- 这就是投资人 7.7
-
- 软件困局 7.2
-
- 这就是会计师 7.4
-
- 这就是建筑师 7.7
-
- 软件工程的事实与谬误 9.0
-
- 程序开发心理学 8.0
-
- 程序员的成长课 7.4
-
- 从零开始学架构 8.1
这就是软件工程师的书评 · · · · · · ( 全部 10 条 )
![](https://img1.doubanio.com/icon/u155986211-8.jpg)
我把这本书推荐给了我的父母,收获了一些理解和尊重
![](https://img1.doubanio.com/icon/u131859991-8.jpg)
它山之石:略读感想及部分内容的思维导图
这篇书评可能有关键情节透露
机械工程师有代码工程师的心,略读感想: 局外人进局内的引路人,作者都是大神,讲的还是行业的基本常识,局外人受用 它山之石可以攻玉,原则具有相通性,尽管是不同领域的工程师,代码领域有更多关注、更大曝光度、更多方法论的总结和分享,值得学习借鉴 领域内优秀书籍推荐 ... (展开)![](https://img3.doubanio.com/icon/u240340797-2.jpg)
又一年毕业季,《初入职场的我们》应如何快速成长?
![](https://img3.doubanio.com/icon/u237151673-2.jpg)
“35岁危机”软件工程师,是“瞎扯“吗!
![](https://img2.doubanio.com/icon/u241403134-1.jpg)
软件工程师改变了世界,你有必要知道的三个理由
![](https://img2.doubanio.com/icon/u236141865-1.jpg)
软件工程师,你必须知道的三个真相
> 更多书评 10篇
论坛 · · · · · ·
在这本书的论坛里发言以下书单推荐 · · · · · · ( 全部 )
- 工作后购书目录 (张小国)
- 图书 (AIR)
- 软件正向设计 (杨威)
- 计算机、互联网和人工智能 (谭孟孝)
- 职业规划 (沐雨)
谁读这本书? · · · · · ·
二手市场
· · · · · ·
- 在豆瓣转让 有311人想读,手里有一本闲着?
订阅关于这就是软件工程师的评论:
feed: rss 2.0
0 有用 жξ 2022-03-03 16:49:23
整本书的架构很不错,目录部分做得挺用心。本书简要介绍了关于软件工程师的各种“正道”,适合我这个小菜鸟。快速概览一遍,需要时再回来翻一翻。
0 有用 BlaCk 2022-05-02 22:36:46
泛泛而谈。
0 有用 吕畅九 2022-09-19 06:11:36 加拿大
有的部分和极客时间专栏内容重复了
0 有用 Jintao 2022-04-23 20:38:06
关于学习的金字塔对自己特别有用,听说读写,更重要的是如何去输出,学会去教别人,才是真正自己学会。
0 有用 swanix 2024-02-19 22:55:17 北京
写的比较杂,访谈内容之间也没太多对比联系。总的来说有参考价值,但很不系统,看过就忘。
0 有用 谢小漫 2024-07-02 16:22:32 广东
就是文章少了点
0 有用 swanix 2024-02-19 22:55:17 北京
写的比较杂,访谈内容之间也没太多对比联系。总的来说有参考价值,但很不系统,看过就忘。
0 有用 走小月 2024-01-21 20:52:34 北京
通俗易懂,言简意赅,一到两个小时大致理解软件开发的相关工作
0 有用 天马行空·错话连篇 2023-06-27 22:46:31 北京
因为陈皓所以读了这本书,书很浅显,并不深入,但对于入门或者还在门外的人来说,体系挺完整的,是一本很好的目录,相关专业的大学生应该看看,会有帮助。
0 有用 闲人 2023-06-20 22:09:10 广东
技术门槛太高了,终生学习,工作压力大,如果不是真爱,这行确实不适合干一辈子,如果干一半要考虑转行就有点鸡肋了。