这就是软件工程师

这就是软件工程师

作者:丁丛丛

出版社:新星出版社

出版年:2021-1-1

评分:7.6

ISBN:9787513342537

所属分类:行业好书

书刊介绍

内容简介

软件工程师是一群用代码改变世界的人。过去二三十年,互联网可以说改变了整个世界:我们的联络方式从延续数百年的写信,到后来发邮件,再到现在的即时通信;我们查询信息的方式从一本一本翻书,到现在随时随地使用搜索引擎;我们的购物方式从去商场超市到去亚马逊、淘宝、京东直接下单,再到一小时就能送达手上的盒马;我们的出行方式从站在路边拦出租车到坐在家里叫滴滴……可以说生活工作的方方面面,都发生了巨大的变化。而这些变化的背后站着一个职业,那就是软件工程师。正是软件工程师,通过一行一行的代码,让这一切得以实现。本书就来带你认识这个改变了世界的职业。翻开这本书你会发现——· 软件工程师不是只会搬砖的码农,而是一群简单务实、热爱创新的人· 软件工程师薪酬高,但很多不是利益驱动型的,而是成就感驱动型的· 996不是软件工程师工作的必需,而是行业特定发展阶段和公司管理不力的结果· 35岁的坎儿不是年龄的坎儿,而是能力的坎儿· 软件工程师不是一个可以“吃老本”的职业,终身学习是硬性要求· 代码写得漂亮只是第一步,真正的高手必须在抽象能力、设计能力、取舍能力上下功夫

作品目录

第一部分 行业地图
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
· · · · · ·

作者简介

本书系访谈而成,内容来自以下4位行业高手多年的从业智慧和心法——

郄小虎:前谷歌全球高级技术总监、谷歌中国研究院副院长、小红书CTO、滴滴出行副总裁,现任腾讯公司副总裁。主导设计的系统包括Google AdWords、滴滴出行交易平台等,曾两次获得谷歌创始人奖。

陈皓: 网名“左耳朵耗子”。前阿里云资深架构师、亚马逊高级研发经理,拥有20多年互联网和金融行业从业经验。现为MegaEase创始人,致力于为企业提供Cloud Native和行业头部企业(亚马逊/阿里)标准的高可用、高性能和高并发架构的技术产品。

陈智峰:谷歌大脑首席工程师。曾参与开发谷歌搜索和邮件系统使用的大规模分布式存储系统;近年来参与设计并实现了被广泛应用的机器学习开源系统TensorFlow,以及谷歌的新一代机器翻译系统和语音识别系统。

鲁鹏俊:前谷歌主任架构师(因QueST项目获...

(展开全部)

精彩摘录

发展的高峰期你可能会问具体怎做量呢?我的建议以我们公司对员工的为所在公重或为求为例模化、平台化。公司核类型,这些成员具备的各项能力,是你要着重培养的成贡者(Contributor)1。创始人(Founder)/合伙人(Partner)这类人是公司的腰部力量,他们对要做的事有热情,并会想各种方法推动工作的进展,他们需要有如下能人合伙人是公司的顶梁能力需要有1)探路能力。只要方向没问题,即使没有體出路来。(1)做出贡献。为公司带来资源、吸引人才、来益、在实施过程中提出更好、更简单的其中既包括经济效益,也包括社会效益。方法以及相关创意(2)带动团队人就是一支军队,能够自驱为公司难题。方法总比题多,能够带动团队解决切拦路的问题。团队制订方向和实施计,并能解决执行时的所有问题,具备推动落地的能力高标准。能够不断发现不足并弥题,提高标准(3)创新优化。能够对现有的东西提出小而美的创新和3。行家(Expert)优化,并将其推动和执行。这类人是公司的手足力量,他们要对所做的事情有很丰(4)前瞻能力。能够感知行业变化,技术潮流,并依的经验,能够正确判断和决策,这类人有如下能力思考行业和公司的未来,为应对未来做好准备。(1)降低成本。为公司在执行层面上降低成本(时间金钱、人力、物力)。抓重点,简化,标准化。只有抓住重点、简化向题

——引自章节:06 进阶:软件工程师的四大台阶22


进阶:软件工程师的四大台阶第一部分1行业图2306但不会告诉你怎么做。相当于他给你的只是一个问题,你需要自己把具体的题抽象、拆解,并独立设计解决方案。软件工程师这一行有很多“英雄出少年”的子、比如高手阶段则需要融会贯通的能力。这个能力对应的其实比尔・盖茨、扎克伯格,年纪轻轻就做出了开创性的研发与是我们通常讲的架构师,也就是软件项目的总设计师。假设设计。看起来,这一行颇有些“出名要趁早”的特性。你是架构师,你不仅要看到系统从过去到今天是怎么变化的还要看到是外界哪些需求、内部哪些技术导致了这些变化但其实出手就站在金字塔塔尖的年轻人只是极少数、并且预判系统未来要朝什么方向发展。你需要把技术的演进可以说是风毛麟角。大多数的软件工程师,都是需要在金字需求的变化、系统的发展等多个维度综合起来考虑。塔里,一个台阶一个台阶往上走的。大神阶段需要沉淀方法论。在这个阶段,大家都公认你是这方面的权威,你对这个方向的判断是非常准确的。同时如果我们把软件工程师的金字塔分为四大台阶,那它们你还能够沉淀出一个方法,这个方法不只适用于当前的领域分别是:新手阶段、进阶阶段、高手阶段和行业大神阶段别人把你这套东西拿过来,还可以解决另外的问题。这四个阶段分别对应这样几种能力:执行力、设计能力、大神中最顶尖的,还能开创新领域。这些新领域的开创会贯通的能力、沉淀方法论和开创新领域的能力。都是革命性的。可以说,几乎计算机、互联网领域出现的每新手阶段强调执行力。你刚刚进公司是新人的时候,会个重大里程碑,都是软件工程师开创新领域的结果。比如业被分配一些任务,...

——引自章节:06 进阶:软件工程师的四大台阶22

相关推荐

微信二维码