想入场?你起码得读过一本书。

原文:You Must Read At Least One Book To Ride — Ludicity

发布于 2024 年 2 月 15 日

有两件事是千真万确的。

第一件事听起来可能会让人反感。毕竟在一个工程师们被规训得需要为自己的存在而道歉,而代码都不会写的混子却能大言不惭地自诩「思想领袖」的风气下,这些话确实刺耳。这件事就是:在我当下的职场圈里,我一直被公认为是最顶尖的工程师之一。粗略地讲,我的学习量比身边的普通工程师要高出一到两个数量级。我收到过本州最好公司之一的高级职位 Offer,各路「大人物」也乐于一次次回聘我,而我每当看到敷衍的 git 提交信息时,都会整得火冒三丈。总之,我混得相当不错。

第二件事可能也不中听,因为我有时还得说服别人雇我。那就是:其实在上述的所有方面,我显然不如绝大多数发邮件给我的人。直到今天我都搞不懂,只是凭我心理学的扎实背景和三四年的经验,是怎么被人硬凑成一个「高级工程师」的。我只为自己的个人项目写过测试,因为我见过的所有雇主,实际上没有能跑通的测试,也完全不关心去做测试;当年写硕士论文时,我写的所有代码都没用版本控制去管理,因为这个国家最好的大学之一,压根不教这个。简而言之,我从没解决过一个真正高难度的问题,我只是在这里,按下了那个别人没注意到的「立省五十万」的按钮罢了。我 TM 就是个白痴。

我之所以确信自己不如绝大多数给我发邮件的人,是因为我亲眼见过一些人赖以为生的工作是真的实打实的复杂;我也知道我被公认为最顶尖的工程师而混得风生水起也是真的,因为作为一个移民,我毫不费力地躺赢到了本国收入金字塔顶端的 3-4%。这两件事,怎么可能同时成立?

I.

整个高中时代,我的美术水平差得一塌糊涂。美术课是我最讨厌的课,因为当时我刚转到一所国际学校,而马来西亚本地的教学大纲,从不会在「创造力」、「文化」或除了数学和语言之外的任何东西上浪费时间。我只能硬着头皮去上课,完全不明白那些西方背景的同学是如何毫不费力地将脑中的图像转化为画作的,而我每次都只能在及格线上低空飘过。最终,我认定自己「没有艺术细胞」,并在之后近十年里,除了随手涂涂一些方块之外,我再没画过任何东西。

在积累了大量人生经验后,我想着,画画这件事不可能那么难,要是能跨越这道障碍的话,那会是一项了不起的成就。2022 年,我试了一门名为 Drawabox 的课程,结果无聊至极,学完后也毫无长进。后来,一时兴起的我决定去 Hackernews——一个我当时以为只发技术文章的地方——找找优质的绘画教程,而在此之前,我曾任由自己被带入 Reddit 的乱石滩。那些 Reddit 用户实际上更蠢,对不起了 Reddit。

就这样,我找到了 Betty Edward 的《用右脑绘画》Drawing On The Right Side Of The Brain),不过,作为一个因心理学领域那令人窒息的认识论而跑路的人,这本书的书名让我深感不适。这本书好评如潮,但附带的那些前后对比图让我觉得那好得不真实。那张「之后」的自画像,让人感觉是如此遥不可及,以至于宣称你能达到那个水平感觉就像是个减肥骗局。尽管如此,我还是下定决心,而且直觉告诉我,尽管有这一切疑虑,那些证言是真实的。于是,我试了一试。

书中的第一个任务,是让你尽力画出自己的手,以便有一个参照。我静静地坐着画了 30-45 分钟,倾注了我的全部心血。这是我画出的成果:

一幅画得畸形的左手,手指过长,大拇指肿得像个球。

这幅画在当时就已经是我这辈子画得最好的一幅了,但显然还有很多欠缺的地方。接着,书中提供了其他一些理论和练习。第一个练习,是让你用肉眼看着一幅画,顺着里面的线条把它临摹下来,而且如果我没记错,它还要求把画倒过来临摹。

倒过来的人.jpeg

我画出来的这幅画,其实和原作几乎一模一样。到这里,我实际上也只画过两幅画,也没进行偷偷私下练习那些我原以为至关重要的绘画基本功。后来,在朋友家帮他看狗的时候,我又决定再临摹两幅(这次是从网上找的)。可能你会发现,这两幅都带有浓厚的奇幻宅男风。毕竟,说到底我是个非常符合刻板印象的程序员。

恶龙.jpeg

骑士.jpeg

现在,这几幅就是我这辈子画得最好的画,再次声明,我绝对没在背地里偷偷练习。这些画看起来有点不干净,而且我起稿时画得太大了,搞得整张纸都放不下。但此刻,哪怕这些画看起来很简单,我还是对自己取得的成果感到大吃一惊。就好像靠着简单的「小妙招」狂减 100 公斤,医生都恨死我了(但这其实是因为我没按父母的意愿去学医)。

我不确定,当我不再是临摹线条,而是直接写生时,这个新技能还能否派上用场。我又读了一两章书,最后,怀着极度忐忑的心情,再次下笔试着画出我的手。就这样,在断断续续几个月里,总计六小时的阅读和练习后,我从原来这样:

一幅画得畸形的左手,手指过长,大拇指肿得像个球。

变成了这样:

一只画得相当不错、且带有透视缩短效果的手!

一只摆出手枪姿势的手!

我原本准备好一辈子都与艺术的乐趣无缘,直到偶然翻开了那本正确的书。即便如今走进一个满是艺术家的房间,我往往仍是画得最差的那个,但在房间之外的人(那些没读过一本书的人),偶尔也会有人觉得我画得还不错——这是我从未奢望过的体验。

II. 「一本书」的障碍

考虑到前面这段经历,工程师似乎主要分为两类。

第一类工程师,在某个特定领域读过一本以上的书,有时甚至涉猎了多个领域。他们个个都显得极其能干。本博客的读者大多都属于这一类。当然,你不必非得读一本书——阅读足量的技术博客或课程大概也有同等效果,虽然效率上可能参差不齐。但有一点毋庸置疑:这些人系统地学习了大量的知识。

第二类工程师(以及各行各业的人),是那些在整个职业生涯中从未真正努力过的人,而这样的人在每个行业里都占大多数。我曾与一位读者交流过,他叫 Seth Newman,是一位顶尖工程师——顺便一提,如果你正好想要在美国招聘一位天才数据工程师的话,我可以帮你牵线。Seth Newman 用「梦游」来形容普通职场人的职业生涯,这让我深有同感。当然,他们不是真的在睡觉,但这个描述依然十分贴切。这些人是有动静的——动静甚至大到足以让他们从楼梯上滚下去——但他们却完全没有那种要避免发生这种结果所需的清醒意识。

再来就是像我这样的人。在我职业相关的大多数领域里,我都刚好读过一本好书,但从未深入钻研。例如,通过 Pro Git,我对 Git 的数据模型了如指掌,但对底层的算法却一无所知——但这已足以让我碾压一个随便挑出来的普通工程师了。我读过足够多的「奥术秘典」,以至于我随手施展的一个小戏法,在那些「梦游人」看来便如同魔法一般。可我一看到像 Evennia 这样的项目,我便意识到,有些人正在外面施展「瞬发默发定发极效解离术」这些更强大的法术——对于不懂《龙与地下城(D&D)》的朋友,我只能说,这极其牛逼。至今,我和各行各业的高手交流过了,每一个人都说,他们的行业里充斥着大量压根没努过力的人。我不知道这在医学这种领域怎么可能——你见过他们为了通过考试得付出多少努力吗?——但事实就是如此。

III. 我们无尽的、分明的等级

在与 Seth 的同一次谈话中,我还问了他,是什么让他能处理那些棘手的问题,而我却只能在这里,费尽口舌劝人别再把「灵活」的数据库模式套用到每一个开发问题上,可他们就总是不听,就好像 MongoDB 绑架了他们的孩子似的。这就引出了一个话题:这引出了专业化能有多深,以及人们到底能变得多 TM 强的话题。我对篮球了解非常少,但 Seth 发了这个视频给我。视频中有一位是 NBA 里最差的球员之一,尽管他退役十年,身材走样,但是他却血虐了所有低级别的业余和职业运动员。可他还只是最差的球员之一——至少真正懂篮球的人是这么跟我评价他的。

不过,我也可以从我自己的经历中,举一个很好的例子。

在墨尔本,我算是个不错的佩剑击剑手(sabre fencer),能轻松收拾掉大多数业余选手。然而,总有那么一两个人,能把我打得满地找牙,然后接着去争夺州级冠军。尤其是——我在之前的文章里也提到过——我曾跟一位后来拿了全国冠军的哥们儿一起训练过。

而那个哥们儿,有一次与一位正在冲击奥运资格的选手交手,结果一分未得。所以可以看出,一个还在为奥运资格苦苦挣扎的人,就已经远强于我所认识的,甚至可以说是澳大利亚最强的击剑手了。

马来西亚在 2012 年奥运会上派出的一名击剑选手 Yu Peng Kean,在比赛中被当年的冠军以 15 比 1 的悬殊比分淘汰掉了。有些认真训练的击剑手,在我面前几乎得不了一分;而我,在那个澳大利亚冠军面前几乎得不了一分;而那个澳大利亚冠军,在奥运资格赛选手面前几乎得不了一分;而那个资格赛选手,在真正的奥运冠军面前,恐怕也几乎得不了一分。

这其实并不令人意外。你只要看看 Magnus Carlsen 对那些训练了一辈子的国际象棋大师所展现出的绝对统治力,就明白这种差距了。可如果真让你亲自面对这种差距时,那种感觉又完全不同了。与那个澳大利亚冠军对决时,我就体会到了一种令人窒息的压迫感。他游刃有余,总是站在你刚好够不着的地方,永远比你快那么一点、准那么一些,而你却感觉自己就像个蹒跚学步的娃娃在挑战一个成年壮汉。正因为我确实面对某些新手有过这种碾压性的优势,我才清楚,从他的视角看,感觉正是如此

而且,当你达到全国冠军的水平至少还有两个同样巨大的台阶要跨越?我的天!

IV. 激励机制

这里插句题外话,其实我在很多领域里也在「梦游」。我曾提过很多次,我的钢琴课上得什么起色。虽然我确实感觉自己在这方面缺了点天赋,但不可否认的是,我练习得还远远不够。

不过,我毕竟不是职业钢琴家,也没人会花钱请我去弹琴。我不禁觉得,我们的社会在某些方面出了大问题:我们竟开始用钱激励那些既没天赋也无兴趣的人,让他们涌入科技行业。然而,他们中的许多人在其他领域——无论是体育、艺术还是数学——其实脑子都非常灵光。可悲的是,由于一些复杂的原因——比如某些行业钱多得不知道怎么花、大型组织几乎不可能管理得好,以及那些夸夸其谈的杂志封面人物试图把公司的资金洗成自己的社会地位——我们居然愿意花钱让这群人去当蹩脚的程序员和无能的领导。事实上,给自己安个 PowerBI 开发者的头衔,或许是当今世界上最轻松混日子的方式了:舒舒服服坐在空调房里,每天摸鱼六小时以上,然后拿着远超平均水平的工资。

但既然反正他们什么产出也没有,甚至计入机会成本后,他们对社会甚至纯属于净负资产。我不禁觉得,要是能让他们直接卷铺盖走人,然后薪水照发,让他们回家带带孩子,别再霍霍那些自己老搞坏的数据库了,他们的人生或许过得会更满足。当然,这在现实中可能不可行(尤其是高管天价的薪酬),但我就是忍不住想起已故的 Christopher Hitchens 的这段话:

我做过最烂的工作,是我的第一份工作。那份工作对我非常重要,因为在那个年代,你必须是工会成员才能在舰队街(Fleet Street),在伦敦新闻界找到工作。我进不了工会,所以找不到工作;而找不到工作,就拿不到工会证。终于,一个新的工作机会出现了——为一本新杂志工作。我至今还能念出它那可怕的名字:「泰晤士高等教育增刊」。因为是新设的岗位,我不需要预先加入工会,所以我得到了工作,也拿到了工会证,当时我无比自豪、非常开心。当时我是社会科学版的编辑……我没法形容那份工作有多无聊,也没法形容我做得有多烂。我每天都眼巴巴地盯着钟,等着漫长的一天一点点过去。可那毕竟是一份工作,它把我带到了伦敦,让我成了全国记者工会的一员。它是我梦寐以求的一切,却也让我痛苦不堪。最后,我做得实在是太差了,连主编都看不下去了。结果就是……我被炒鱿鱼了,还是在圣诞节的前夕,非常英式。我很伤心,心里想着:「我怎么可能缓得过来?」,「我再也找不着工作了」,「也许工会证也保不住了」不过即便如此,我有时仍会回想,然后暗自庆幸:「如果我当时干得好,也许现在我还在做那份工作呢。」

V.

当你以身入局时,你与那些「梦游人」的关系会发生变化。这时,你不再反感这些人了,反而庆幸他们这么菜,因为有这帮人垫底,你不用耗尽毕生精力去追求完美,也能轻松胜出。

Dan Luu 有一篇关于电子游戏的精彩文章,也探讨了类似的概念,讲的是成为一名高手其实并不费劲。所谓的高手无非两种:要么能完成某项指标明确的任务(如后空翻),要么就是表现优于常人。

通常,读完一本书,就能让你达到像是「在不增加技术债的情况下,给这个 React 应用添加新功能」的水平。只要你够聪明,选了个社会愿意买单的行当,这就足以让你过上体面的生活了。当然,如果你没选,那我也只能表示遗憾。如果是我制定规则的话,我绝不会把社会设计成现在这个样子。如果是读很多本书,那它就是你竞争那些顶级高薪岗位的门票,在那些岗位上,别人一周才能做的事,你一天就能干完,这点很重要。在为了竞争这样的岗位的情况下,你就不得不读 N+1 本书(N 是你竞争对手的阅读量)。本质上,这就是一场军备竞赛。

不过,鉴于德勤那帮人和大多数普通码农一本书都不读,他们纯粹就是最好割的韭菜。当你为了打那份朝九晚五的工,把自己的切身利益全盘交出时,你跟这帮人的交涉只会让你深感无力。老板指派谁你就得跟谁干,哪怕你的队友烂得像坨屎,你也只能捏着鼻子认了。

如果你稍微带点雇佣兵(mercenary,指唯利是图但身手在大厂之外的独立人)的心态,你就能大摇大摆地出现在面试或会议上,整天全方位吊打他们,然后还能抽空去健个身、偷个懒。我上次在一家厉害的公司面试时,面试官告知我,我把竞争对手秒得渣都不剩,就像「从卫星轨道发动毁灭性打击,把整个星球地表都烧成了玻璃」。然而,即便如此,比起那家公司里现任的任何一位资深工程师,我依然是个弟弟。有些活我确实竞争不过那些衣冠楚楚的草包,比如政府外包合同。因为这类客户根本不打算买我卖的东西。我卖的是结果和信任;而大企业买的是冠冕堂皇的谎言,好用来帮高管们升职加薪。但只要是面对我真正想合作的那类客户,我每一次都能完胜那些大型咨询公司。

说真的,你甚至可以在技术面试中问求职者最喜欢的技术书是哪一本,然后只和那些你能判断是否真的读过那本书的求职者继续交谈,从而淘汰掉几乎所有滥竽充数的人。当然,如果有人读过了一本你没听过的好书,你可能会错过他们(假阴性),但这样起码几乎不会把滥竽充数的人放进公司里(假阳性)。

VI.

但现在,我们遇到了一个复杂的情况——那些非常努力,却毫无成果的人,又该怎么办?像这样的人,我知道的就有好几个。他们管理团队管得一塌糊涂,但他们确实很努力。可无论怎么培训也无济于事。他们折腾工程师、惊慌失措、不懂招聘,还通常高估了自己的能力,但他们是真的在努力。他们就是不停地想把 Scrum 敏捷开发的流程跑通。他们就像梦游般,一头扎进了湖里,而我们能看到的,只有溺水者那胡乱挥舞的双手。

导致这种结果的原因有很多,但我想强调的是一种我们许多人都拥有,却难以言表的元技能,我怀疑这正是他们所欠缺的。那就是:你怎么知道该读什么书?

例如,我最初学绘画时是从 Drawabox 开始的,乍一看似乎挺靠谱的,但后来发现 Betty Edward 的书对我的目标而言显然更好。事实上,Edward 的书对我来说不止于更好,更是因为 Drawabox 假设了我已经掌握了 Edward 强调的那个「独门妙招」,然后直接跳到了机械性的技能练习——我完全有可能在学完整门课程后,由于缺少那块关键的拼图而毫无长进。实际上,当时还在学 Drawabox 课程的时候还有一大堆现成练习可练,但那时我就隐约感觉自己走错路了。既然如此,怎么会有人在 Scrum 上明明犯着同样的错,却从不停下来想一想:「等等,这根本行不通,到底哪里做错了?这条路和正确的方向沾边吗?」

我没法确切地解释我是如何识别自己走错道了,也不确定背后是否有一套精确的算法能识别。这似乎需要一点「胡扯探测能力」。所以在技术领域,我通常只读那些亲自做出过令人印象深刻的东西的人写的书。如果他们还维护着开源项目,或有其他没法伪造的知识证明,那就是大大的加分项。可如果他们只是打造了一个模糊的东西,比如「一家大公司」,那分数就要大打折扣了,因为那可能只是运气好或者是靠吹牛达成的。毕竟,吹牛是没办法让代码编译通过的。

我还有一些其他奇怪的挑书标准,但都不是铁律。书名太花哨的,通常对我来说是扣分项。最好的书,封面要么非常乏味,要么极其精致。凡是名字带有「领导力」字眼的书,可能通篇废话。作者越是吹嘘自己得过哪些奖,我就越觉得他在撒谎。书偏向口语化语气的(很遗憾,我就是)也要扣几分,但如果探讨的内容确实很精妙,也无伤大雅。现在想想,这些特征,正好在那些溺水的「梦游人」看起来都很有吸引力。

前几天,我公司的管理层请了一位敏捷软件开发顾问,管理层的人很喜欢他。可管理层却问工程师们:「1 到 5 分,你们会给这次敏捷开发培训打几分?」——这个问题根本就毫无意义。有些同事非常喜欢这次培训,而他们喜爱的程度几乎和他们平时读错书的习惯呈 100% 的相关性。

不过,即便是挑好书后,读同一本书中的内容时,你也必须得有能力甄别并抛弃那些没有价值的部分。《凤凰项目》(The Phoenix Project)就是一个很好的例子:Gene Kim 写了一整本关于组织转型的书,却只安排了一个反派,然后其他人个个能力超群、赤诚热心。现实里大公司根本不是这样的。所以读书的时候,你要保持头脑清醒,吸收好的点子,同时意识到剩下的内容不过是让人尬得抠脚的领导力同人小说

缺乏这种知道该读什么书的眼光,似乎会严重阻碍了许多人学习和自我提升的能力。这也是为什么当你听到某些高管披露他们的书单里有什么时,会感到如此不安——因为通常一眼就能看出,他们几乎不可能真的胜任自己的工作。同样地,这也是为什么有领导告诉我他在 LinkedIn 上学习时,我白眼都要翻到后脑勺去了——我就想问,你们这帮变态到底在搞什么鬼?难道供应商为了更容易做销售,把你们的脑子搞残了吗?

VII.

我本想借这篇文章呼吁大家反思一下,为什么在这个盛行 YouTube 时代,静下心来读一本书竟然能有那么大的奇效。但我想,我内心真正想说的是,无论什么情况下,千万不要劝别人读书,因为这样,我们剩下的人躺着就能把钱挣了。决定了!我的下一篇博客要塞满反 Git 的洗脑宣传和 Scrum 学习资料。祝好运,你们这些了不起的混蛋们。