通才:我该如何不断拓宽自己的边界?

你好,我是郑晔!

前面我们讲了很多东西,本质上都是在说如何在自己的专业技能上不断精进。不过,到底哪些东西算是自己的专业技能呢?这个问题的答案往往是随着一个人的不断成长而逐渐变化的。

我们再从小李的故事开始。

在小李的眼中,技术负责人老赵不仅仅是技术厉害,而且知识面非常广,很多自己没有太听说过的东西,老赵都能够有很深刻的理解。他就好奇地问起了老赵。

小李:老赵,我觉得一个人做到技术牛已经很厉害了,但你不光是技术厉害,像什么历史、商业、金融等等,很多东西你都知道,而且都有很深的理解。
老赵:工作时间长,你的边界自然会扩展。
小李:你在技术牛,我很容易理解,你这都扩展到技术之外去了。
老赵:很正常,我们都要工作在现实世界里,随着工作职责的拓宽,必然要和很多非技术人打交道。不懂点技术之外的东西,和人家聊不到一起啊。而且,我也不想只是做一个实现功能的工具人,我也想贡献更多的价值,所以,我必须不断地拓展自己的边界。

“工具人”说法显然触动了小李。随着近期 AI 的兴起,一些基础工作用 AI 来完成,质量可以接受,关键是速度极快。尽管小李的能力还不错,但他知道,仅凭自己现有的技术能力,并没有足够的说服力证明自己就一定比 AI 强。

小李:我是不是也该学点技术之外的东西呢?
老赵:当然了,以我对你的了解,你的技术底子已经算打得比较扎实了,可以去做一些扩展了。
小李:那我该学什么呢?
老赵:就是学点技术之外的东西。

一个程序员的成长过程,就是一个边界不断拓展的过程,从解决代码问题,到解决软件开发过程中的问题,再到解决现实生活中的各种问题。在这个过程中,我们所掌握的知识也需要不断的拓展。

刚开始的时候,我们追求的只是写出满足需求的程序,然后拓展到我们这个专栏提到的关于软件工程方面的各种内容,随着我们的继续成长,边界还会继续拓展。

打开视野

我们的工作基本上就是一个“发现问题-解决问题”的循环。作为程序员,我们的主要精力都在解决问题上,但你是否想过,我们解决的问题是从何而来呢?如果只是扮演解决问题的角色,我们就会产生“工具人”的感受。所以,在工作中,我们一定要学会发现问题。

不同的问题价值是不同的。大部分程序员能够发现的就是日常工作中的问题,即便解决了这个问题,影响力也是极其有限的。优秀的程序员能够发现通用的问题,比如,你开发了一个通用的框架或是搭建了一套基础设施,其影响力可以扩展到公司,甚至研发社区的层面,但这也仅限于程序员范围之内。

一个公司要想要运营起来,往往需要解决更大的问题,比如,即时通信或是电子商务。我们不难发现,一些公司,甚至是技术公司,其创始人也不是技术出身,但偏偏他们就能发现一些好的问题去解决。

能够发现怎样的问题,往往是由一个人的经历和视野决定的。

如果有机会近距离接触这些人,你会发现,他们可能不是某个方面的专家,却是一个通才,具备很多方面的知识。这样的知识结构,让他们有机会把一些看似不相干的事情联系起来,找到一些创造性的解决方案。最广为人知的故事就是乔布斯把他在书法课上学到的设计应用到了 Mac 的字体设计上。

对比之下,程序员的思考通常会局限在技术维度上。我在《40 | 我们应该如何保持竞争力?》中说过,我们要成为 T 型人才,也就是“一专多能”。对于很多程序员来说,前面几讲所谈到的内容都是在说如何精进,具备“一专”,成为专才。而在“一专”之后,我们就要打开自己,让自己变得“多能”,成为通才。

传统教育体系的关注点常常在单一技能上,欠缺一些打通多学科知识的培养。这种思路延续到工作中就是,作为个体的我们更擅长的是自己的专业技能,具体的表现就是擅长解决问题,而非发现问题。

在工作中,有很多“好”员工,他只负责执行,却很少思考这个东西为什么是这样的。造成的结果是,工作中常常有不合理的地方,却很少有人会质疑。因为这些东西是“上边”的人提出来的,我们自己就会把他们的行为合理化,认为他们一定有自己的道理。为什么不质疑?有时候是不敢,但很多时候,我们无法判断很多决定的合理性,其原因就在于,我们缺少了一些思考的维度。

碎片学习

现在,我们已经意识到了,自己在思考上缺少一些维度,那该怎样让自己的思考维度丰富起来呢?最简单的答案就是学一些技术之外的东西,学习什么不重要,重要的是需要大量地学。

至于具体学什么东西,我们完全可以根据自己的喜好入手,有人喜欢历史,有人喜欢经济,有人喜欢商业,有人喜欢科学。其实在今天的社会上来说,这些都是应该知道的东西。我在这里强调的是从你喜欢的东西入手,也就是说,别的东西也要学,只不过优先级可以稍稍往后放一些。

一说到要学技术之外的东西,还要大量地学,很多人恐怕要打怵了。然而我们需要知道,这里所谓的学,不是为了考试,而是为了扩展自己的知识面。所以,我们的学习并不需要像在学校一样正襟危坐,认认真真地记笔记、答卷子。知道了这一点,我们就学得轻松了。只要找一些资料,把其中的内容过一遍,有一个大概了解就好。只要积累的量足够,这些知识自然会在你的头脑中产生连接。

你可能会想,即便我只是大概过一遍,也需要投入足够多的时间才可以。现在每天工作那么忙,我哪有时间去大块地投入呢?且不说我们每天浪费了大量的时间在游戏、短视频上,成年人也确实很难有整块的时间投入到一件事上,但我们有的是碎片时间:上下班通勤路上、写码之余的放松时间、中午午休的时间,都是我们可以利用起来的。

现在有了许多知识服务平台,让我们有机会实现用碎片时间进行学习。

就我个人而言,最重要的学习平台是《得到》和《极客时间》,我在这两个平台都订阅了大量的专栏,通过碎片时间的学习,了解了很多我之前不知道的东西。既然这里主要讨论的是技术之外的内容,我就以《得到》为例来谈谈如何学习。

首先是学习什么。如果一个程序员没接触过《得到》,那么其中的大部分内容都是新东西,我的建议是从一些通识类的课程学起,比如:经济学、金融学、历史、心理学、医学、法律、商业等等。

如果看课程列表,你会发现同一品类下有很多类似的课,我们可以从一些能帮助我们形成整体认识的课程开始,比如:

  • 薛兆丰的经济学课
  • 香帅的北大金融学课
  • 施展·中国史纲·时间篇
  • 李筠·西方史纲 50 讲
  • 李松蔚·心理学通识
  • 薄世宁·医学通识 50 讲
  • 刘晗·法律思维 30 讲
  • 5 分钟商学院
  • ……

这些课程可以帮我们快速地形成对某个领域的初步认识,然后再想学什么,就可以根据自己的需要进一步展开了。

就我个人来说,除了这些知识性的内容,我还喜欢学习一些相对前沿的,所以,我个人会学习万维刚、吴军和卓克几位老师的课程,他们的课会给我打开一些不一样的视角,让我知道世界顶级大脑在思考哪些内容。

再来说说怎么学。可能光看我列出这么多内容,很多人已经打退堂鼓了。实际上,我当年学习这些课程的时候,都是利用碎片时间进行学习的。之所以我能够用碎片时间进行学习,这是因为音频的崛起。

我们需要理解的一点是,所有的学习方式都是建立在一定的技术条件下。比如,我们一直说要好好读书,“读”这个行为是建立书面呈现的基础上,而现在的一些小朋友从小习惯的方式是“看”视频学习。而随着智能手机的兴起,“听“也变成了一种重要的学习方式。

音频最大的优点就是它可以不过分占据人们的注意力,这使它可以成为碎片时间学习的利器。

《得到》也是很早就意识到音频的重要性,大部分专栏内容都是有音频的。于是,通勤路上听《得到》就成了我的日常习惯。《得到》的内容还有一个非常适合碎片学习的特点是,每篇内容都很短,大约在 10 分钟左右,文字稿也就是三千字上下,这让我们可以随时随地选取一个主题进行了解,而不会占用大把的时间。

听音频还有一个好处,就是可以开启倍速播放。相比于人类接收信息的速度,人的语言表达是很慢的。有人曾经做过一个试验,采用 1.2 倍速播放,大多数人根本听不出来,所以,你至少可以采用 1.2 倍速来听音频。如果你习惯了 1.2 倍速,把速度调到 1.5 倍速,你可能也不会觉得有什么大不了的。接下来,你很可能会进化到 2 倍速。不知不觉中,你吸收信息的速度就会大幅度提升了。

事实上,不仅是专栏,现在很多电子书都提供了听书的能力。我曾在自己的公众号上写过一篇《书一定要”读“吗?》分享过自己的“听”书心得,有兴趣不妨了解一下。

正是因为改变了学习方式,相比于从前,我的信息摄入量大了好多。每年我都可以学习很多的专栏、听几十本书。因为知识面的扩大,视野也比从前宽阔了许多:原本我的思维只局限在技术范围内,而如今我能从更宏观的视角去看待许多问题,对世界的理解也更深刻了,这反过来也会让我更好地理解自己所写的每一行代码。

总结时刻

这一讲,我们把目光从技术思维扩展开来,一个高手可不仅仅局限在技术之内。程序员应该跳脱“工具人”思维,从单纯的问题解决者,变成问题的发现者,从发现身边问题,到发现更大的问题。当一个程序员已经具备相当的技术基础之后,他可以尝试拓展自己的能力边界,由一个专才向一个通才转变。从一个程序员的职业发展来看,更宽广的视野也有助于得到更多的机会。

程序员想要拓展自己,关键是要拓展自己的思考维度,而想要拓展思考维度,最简单的答案是学习一些技术之外的东西,而且是要大量地去学。

对于专业技能之外的学习,我们可以不求甚解,利用碎片时间完成大量的知识输入。我们可以通过很多音频课程学习,或者通过“听”书的方式学习。这个过程不是一蹴而就的,日积月累,我们就会发现自己一点点地在进步。

如果今天的内容你只能记住一件事,那请记住,利用碎片时间,大量地学习一些技术之外的东西。

思考题

这一讲,我们讲了一个程序员在奠定技术基础之后,应该积极地拓展自己。你在技术之外,有哪些感兴趣的主题,系统地学习过什么东西吗?欢迎在评论区分享你的经历。

到这里,这次课程迭代的内容就告一段落了。如果以后有机会,我会再来与你分享我对软件开发的理解,再见!

精选留言

  • Geoffrey

    2025-04-10 10:54:49

    多少倍速其实还取决于讲述人的语速。有的说话快的人,就相当于自带“倍速”特效了。
    作者回复

    人说话快,一般也比不过机器加速😄

    2025-04-14 15:29:27

  • Porter Zhang

    2025-04-01 10:30:50

    得到真的很好,我每天上班路上就会去听万维刚老师的精英日课,其实不是没时间,更多的是我们现在没那么多耐心去听这些东西了。
    作者回复

    想学的话,总是有时间,不想学的话,总是有借口。

    2025-04-14 15:28:35