<audio id="audio" title="结束语 | 从业 IT 20年后，我将最看重什么？" controls="" preload="none"><source id="mp3" src="https://static001.geekbang.org/resource/audio/38/10/388a42f4627692c3a8079ddd65508b10.mp3"></audio>

你好，我是陶辉。

经过3个多月的更新，咱们这门课今天就正式结课了！很感谢你的一路相伴，我有收获很多的分享和故事，这份信任弥足珍贵。

走到今天，我入行已经有20年了，那作为结束语，最后我特别想和你聊聊我的一些心得体会，就说说我最看重的两大能力吧，希望能给你的未来发展带来一些正反馈！

每次聊天提到程序员，大部分人的脑海中总会跳出两个词：996与35岁危机，它们都反应了1个现实：程序员的竞争压力太大了。**其实，老板是无法逼迫你996的，只有大量虎视眈眈盯着你职位、薪酬包的竞争者，才能让你心甘情愿的加班，让你为了度过35岁危机而不停地试图突破天花板！**为什么程序员的供给量这么大呢？这既来源于中国庞大的人口基数，也因为资本、人才密集的互联网行业，为年轻人提供了罕见的高薪资、高成长机会。

程序员的平均薪资远高于其他职业，这造成大量职场新人转行入互联网，从Javascript、Android、Python等工程师做起（这些语言形成闭环的路径更短，入门更快），寻求更好的个人发展。我有一些半路转行的朋友，经常见到他们凌晨还在提交代码，痛苦的转行过程让他们的自我驱动力无比强大。

各类院校也在为这个职业输送大量人才。在我上大学那会，只有计算机科学与技术这一个编程专业。现在，软件工程、网页设计各类专业层出不穷，而且，计算机课程已经成为各理工专业必修的基础课。

所以程序员普遍年轻，35+的我已经是我们团队年纪最大的程序员了，这在其他行业实在是不可思议的事！另一方面，互联网仍然是一个朝阳行业，变化是永恒的主题。在开源盛行的当下，注定会有层出不穷却又不太稳定的新框架，只有深入的学习才能用好、改进它。所以，我们常常会让自己“忙”起来、“学”起来，这样似乎可以忘却焦虑。

**那焦虑是什么呢？在我看来，就是对未来的自己是否仍具备竞争力的不确定感。**如果只是在不停地学习新语言、新框架，那么35岁的你，竞争力一定不如25岁的你，因为对框架的熟练度是不值几倍薪资差距的。我认为，有两个能力可以消除这种不确定性，它们不会因为新技术迭代，每次都让你数据清零后重新开始。

## 构建知识体系最需要什么？

**首先，是不局限于一招一式、构建知识体系的能力。**当你还未对某个领域形成知识体系时，只能解决曾经遇到过的相似问题，或者仅涉及单一知识点、能够从网上查询到答案的简单问题。而基于新技术做架构设计，或者定位涉及多个系统的复杂问题时，知识体系是最值得依赖的灯塔，它能指引你前进的方向。

知识体系可以将散落在脑海中的知识，通过逻辑联系在一起，形成庞大的网络。**知识点之间的联系线条越多，网络就越健壮，越能应对不确定性；网络越大，覆盖的领域越广，你能解决问题的价值就越高！**所以，我们需要结网的能力！

比如，你学习了某个人脸识别框架的用法，通过API把它集成到系统中，此时该技术与已有知识体系是割裂的。在你了解CNN网络，知道它只不过是一种聚类函数后，就能通过数学知识把它联结到知识网络中；在了解到密集浮点运算下保持精度的方案，与主流IEEE-754方案间的差别后，你又可以从数值计算维度上与常用的编程语言关联起来；从GPU、CPU对并行计算的设计差别上，你还可以在计算体系架构这条线上增强知识体系；从分布式模型训练系统中找到分而治之的思想，你就可以从算法上连接网络，等等。

概括下的话，我认为构建知识体系最需要的其实是底层知识！两个看似无关的技术，可以再往下看一层，找找它们共同的理论基础，建立逻辑关联。我认为，下面3个底层知识对结网的帮助最大：

- 数据结构与算法，我推荐你精读《算法导论》这本书，程序是由数据与算法构成的，这条线几乎可以连接所有技术点。
- 计算机网络知识，它可以连接所有涉及互联网的技术，这也是我推出[《Web协议详解与抓包实战》](https://time.geekbang.org/course/intro/100026801)这门课的初衷。
- 最后是操作系统知识，毕竟所有的软件都需要通过操作系统才能操作硬件。

另外，咱们在给知识体系添砖加瓦时，一定要注意知识的正确性，否则网络越密，后续修复成本就越高。我一般建议你尽量去源头寻找第一手知识，虽然有时这并不容易。比如学习HTTP/3协议时，我们只能去看那5份RFC文档，但RFC文档的结构设计是作为参考手册使用的，它并不适合首次学习，此时我们还可以借鉴一些权威高手基于一手知识分享的“二手”文章，这能让你更快地看懂RFC。

## 好的“表达力”能为你插上翅膀

**第2个最能对抗“焦虑”的是表达力。**做技术的同学通常对跟自己技术水平差不多，但因为表达力更好、从而拥有更高职位的同学不屑一顾，我曾经也是这样，总觉得咱靠的是“真才实料”，不是嘴皮子。这是一个很大的误区，它与你的职业发展密切相关。

如果团队里有3位同学：1位技术最好却不擅言辞，1位擅长管理、调动团队氛围，1位擅长表达，你觉得谁的职业发展最好呢？其实是最后那位，因为当团队向上级汇报工作时，他最容易让团队的工作得到认可，从而获取更多的资源把事情做成，使人人都有好处。久而久之，他就会获得更多的提拔机会。

我想你多半遇到过那种沟通起来特“费劲”的人，说话总是找不到重点，这样他就只能做一些简单的、不需要协作的工作。现代社会是需要高度协作的，如果没办法说清楚你的工作成果，你的价值就会大大缩水。当然，好的表达力不是无中生有，也不是能说会道，毕竟你面对的都是专业人士。

在职场中，由于沟通对象时间有限，所以采用金字塔方式表达效果最好。比如，当我向老板汇报工作时，我会在第一时间讲结论，然后再按照重要性顺序讲论据。否则，他同时要处理的事务比我广得多，如果我不能快速让他抓住重点，就很容易失去这次沟通机会。再比如我写这个专栏时，大家同时订阅了那么多课程，时间非常珍贵，我必须在每节课起始就开宗明义地给出场景，把各种对立面引发的冲突列出来，如果它能聚焦你的视线，我就会在正文中层层递进地讲下去，每一段总是为了引出下一段，防止在碎片化阅读时代里丢掉你的注意力。

那如果你想学习金字塔表达方式的话，我十分建议你精读《金字塔原理》这本书，这也是写作本专栏时，我的编辑推荐给我的，对我的帮助非常大，现学现卖推荐给你。

总结而言，我希望你拥有“结网能力”。构建广泛、结实的知识网络，可以帮助你提升竞争力、减轻“焦虑”，面对新技术时不用清零重来；但当你无法将新学的知识纳入已有知识体系时，不妨把眼光放低点，从底层技术中找找关联。 我还希望你拥有“表达能力”。再硬核的知识体系也需要通过优秀的表达力，转换为动听的语言和精练的文字，再通过互联网跨越时空，让你跳出公司，在整个行业中提升影响力、竞争力。

希望这2种能力能帮助你在大的技术洪流中站稳脚跟，从无数的竞争对手中脱颖而出。最后，祝你工作顺利，也希望这门课能成为你抵抗焦虑的武器之一。

最后的最后，我还为你准备了一份毕业问卷，希望你能用2分钟的时间填写一下。大胆表达自己，期待听到你的声音！

[<img src="https://static001.geekbang.org/resource/image/05/ca/05d7e6b6ccff9f23968349fff4a5d2ca.jpg" alt="">](https://jinshuju.net/f/TSUkPN)
