最后一次技术面试
原文链接:https://steve-yegge.medium.com/the-last-technical-interview-bc13ddcf4564
Steve Yegge,前 Amazon Bar Raiser、Google Hiring Committee 成员,35 年技术面试的亲历者和改革者。这篇文章最有冲击力的不是他的结论,而是一个故事:Google 的招聘委员会曾投票拒绝了一批匿名面试资料包,结果发现那是他们自己的——十五位顶级工程师投票拒绝了自己。面试到底在评估什么?这个问题困扰了行业半个世纪。Yegge 认为传统面试已走到尽头,他的替代方案叫“篝火”——让候选人坐下来,一起写真实代码,然后双方各带走一份有价值的记录。不管你是否同意他的药方,这篇诊断值得一读。
今天,我们要为那个久负盛名却又岌岌可危的技术面试流程倒上一杯酒。然后,我们再聊聊什么将取代它。
这篇文章我酝酿了将近 35 年——这也是我从事技术面试工作的时间跨度。在其中的几十年里,我还一直在努力改进这个流程本身。我不得不对它投入大量精力,因为它实在太糟糕了。
事实证明,在我入行之前面试就已经烂了。尽管人们尝试了各种补丁式的改良,它至今依然烂着。不过它总算是在一片废墟中存活了下来。但现在,它终于要自己走向终结了。人们对接下来会是什么还有点迷茫,所以我们来讨论几个选项。
但我带来的并不是一条轻松的路,也没有银弹。记住这一点,小伙子,等你读完最后回来骂我的时候。
两只大狗
在亚马逊的时候,我们有一个精英团队叫 Bar Raisers(抬杠者),我听说微软有一个类似的角色叫 As-Appropriate(AA)。两种情况下,都会有一位受信任的面试官(BR/AA)被分配到每个面试循环中,拥有否决任何面试团队试图放水通过的不合格候选人的权力。我曾经是一名 BR,同时也是“Bar Raisers Core”的成员——一个由贝佐斯和 Dalzell 授权的小组,负责定义 BR 角色本身、选择新的 bar raiser、培训他们,以及报告项目的效果。
BR 和 AA 角色实际上默认了一个事实:你不能信任你的面试团队做出好的招聘决策。更广泛地说,如果每一个面试循环都需要一个“保姆”,那这个流程本身就是有缺陷的。但我们也确实在尽力。
当然,我们不会把这件事说成“当保姆”。我们高喊着保持“高招聘标准”的口号。而且 BR/AA 还不是终点。还有无数其他面试流程的创可贴,都是围绕如何在一天内进行四到六场面试的各种变体。所有的一切都围绕着如何把评估塞进一两轮面试中。这一点从未改变。
这些创可贴没有真正起作用的——我们仍然招了大量假阳性(不合格的),刷掉了大量假阴性(实际合格的),尽管我们想尽办法让流程变得完美,甚至变得“还不错”。
现实情况是,人才评估——这个行业中五十年来几乎没有变化的角落——已经糟糕到了令人尴尬的地步。它在实践中就是不好用。
最了解这一点、每天感受最深、却最无力改变它的人,都在 HR 部门。科技行业的技术一方不想改变它,因为惯性:这个流程这些年来勉强够用,足以抵抗彻底的改革。所以 HR 只能向我们展示它有多糟,然后在它失败时做损害控制。我将在下一节分享一个关于这个的精彩故事。
离开亚马逊后,我在 Google 继续尝试改进面试流程。我在 Google Kirkland 的“Hiring Committee”(招聘委员会)待了多年,处理了数千份微软简历——那些从 Redmond 那边翻山越岭逃出来的人。我发布了一份 30 页的内部简历筛选指南。我甚至写了一篇博客文章《Get That Job At Google》,至今仍被 Google 的招聘人员发放,已经十七年了。那会儿我确实把这事儿当回事!
简而言之,关于技术评估这个行业,我不知道的事情已经很少了。而我现在要做一次“厨房里的告白”。
这篇文章包含一个诊断和一个处方。但重要的是诊断。我想让你相信,我们需要在评估人才的方式上做出根本性的改变,而技术面试已经到了最后的时刻。
让我看看能做到什么程度。至于解决方案,一旦我们同意这是个问题,我们就能想办法解决。
还记得那次我们把自己都拒了吗?
面试的结果在统计上是灾难性的。Google 多年来进行了一波又一波的分析,所有结果都极其令人沮丧。
随便举几个例子:面试官之间几乎无法达成共识。把同一个候选人放在我们最犀利的两个人面前,一个人会自信地给出“强烈录用”,另一个人则干脆地说“不行”。不存在什么“万能面试官”,即使是 Jeff Dean 也不行。
而且一旦人们真正开始工作,面试分数对你预测他们的表现几乎毫无帮助——至少在我们那种面试方式下是如此。见鬼,我们的一些明星员工在 Google 面试中失败了四五次,经过两年多才最终进入,然后超越了所有人。
面试,说白了,就是一场大型飞镖游戏。一轮“我喜欢你吗”的约会。
我们在 Google 的所有统计数据中唯一能发现的是,有大量可怕的无意识面试官偏见阻止了我们雇佣本该在那里工作的人。Google 从未在内部公布这些结果,我只是从 HR 朋友那里听到了一些传闻,但确实相当糟糕。
Gergely 在我们的播客中问到了技术评估的情况,我给他讲了一个我觉得相关的故事,我在这里再讲一遍。你可以在他的播客上听到更完整、更有趣的版本。
在 Google,与其在每个面试循环中放一个“小黑桌”,他们干脆假设所有面试官都不靠谱(这是一个有据可查的假设),然后在每个站点成立了一个叫做 Hiring Committee(HC)的委员会。这个委员会作为该站点所有招聘的最终仲裁者和守门人。我在上面待了好几年。
我们当时的 HC 团队大约有十五人,包括许多当地的 Google 大牛同事,包括重大技术的共同发明人、面试书籍系列的作者,以及现在已成为非常资深领导的人。
我们觉得自己什么都懂。
有一天,招聘人员给我们一批特殊的资料包来审阅。在这些特殊的资料包中,我们可以读到面试官的笔记和候选人的回答。所有个人信息都被去掉了,我们被告知这是一次“校准练习”。我们需要像平常一样对这些特殊资料包进行投票,看看结果如何。我猜我们可能以为这些来自另一个站点,因为跨站点校准很常见。
我们组做了我们的工作,投票拒绝了大约 2/3 的资料包。这基本是正常水平。
但惊喜来了——这次,那些资料包就是我们自己当初面试 Google 时的资料包。招聘人员骗我们审阅了自己的面试资料包,而我们投票拒绝了我们自己团队的大多数人。
在那一瞬间,我们都看到了我们的流程有多么彻底地崩溃了。People 团队把我们的脸按在了上面。
但我们从未修复它。

意识到那是我们自己的那一刻
改变是禁忌
我曾经在 Google 的一个公共邮件列表中质疑面试流程,一位重要的工程领导把我拉到一边,说我“在教堂里放了屁”。人们不被允许质疑面试流程是否有效。质疑它等同于对整个工程团队 casting aspersions(含沙射影)。首先,你怎么敢?
此外,许多工程师和经理继续为这个流程辩护,即使知道它有多么破败,因为它是一个他们曾经通过的考验,所以其他人也必须通过。当我这样说的时候听起来很傻,但每次你建议改变流程时,都能听到这种回声。
综合起来,经过大约 35 年的折腾,你最终会发现,面试——其目标是确定“这个人能不能做这份工作”——从根本上无法以任何可靠性回答这个问题。它近乎于伪科学。
为 Google 至少尝试去衡量这一点而鼓掌。他们确实发现了一些可操作的东西。例如,超过四场面试就只是在浪费时间。类似的东西。但总体而言,这是一个暗淡且基本不可操作的画面。
大多数公司从未真正反思过自己的面试流程——至少不是那种“我们要改变这个”意义上的真正反思。他们可能会调整覆盖哪些能力维度,或者 debrief 会议应该是什么样子。
根本流程——一系列简短的 1 小时面试——五十年来没有变化。我们所有人一直在使用同样愚蠢、破败的面试流程,从我们大多数人出生之前就开始了。不知道你怎么想,我受够了。
所以在今天的博文中,我将向你展示所有尝试过的方法,然后指向一个更好的方向。作为一个行业,我们可以开始朝那个方向前进。只要足够多的人在做大致相同的事情,它就应该能获得 traction。
我相信在几年内,我们将基本停止进行技术面试,它们将淡化为一个可爱的历史脚注,就像颅相学一样(我不会震惊地听说有些面试官还在使用它)。面试将变成又一件“我们以前居然会做那种事”的东西。
准备好了吗?我准备好了。走起!
信号问题
人才评估是一个信号问题。你需要大量的信号。你需要尝试绘制一幅越来越清晰的候选人画像,而这需要大量数据。
你获得的第一个信号来源是候选人的简历。“简历”,正如 Dave Barry 告诉我们的,“远不只是一张纸。它是一张写满了谎言的纸。”公司每年收到数千到数百万份简历,信噪比极其糟糕。AI 辅助写作正在加剧这个问题,如今简历作为信号已经几乎无用了。
我们以前首先做的是技术电话筛选。我们不再做了。它们已经变成了又一件“我们以前居然会做的那种事”。它们对双方来说都非常困难。所有人都讨厌它们。想象一下只通过音频为某人写代码。Zoom 使它们过时了。但即使是那些糟糕的电话筛选,信号仍然比简历强得多,因为你可以花时间与那个人互动。
下一个层级的信号是“已完成的工作”,包括学历和评估(如编程训练营和挑战),以及个人的开源工作。它们都是弱信号源,因为你无法在别人做这些事的时候与他们一起工作。但它们可以是有用的加分项或敲门砖,将你提升到下一个评估阶段。
招聘信号直到现场面试才开始显著改善。但即使是面对面面试也因与真实工作截然不同而臭名昭著。在白板上面试与在现实中与他们共事相比如何?我想我们都知道答案。
所以你花几分钟看他们的简历,半小时视频筛选,再加上几场面谈。当今标准的招聘流程只涉及收集几个小时的信号,却要做出可能持续数年的决策。
临时雇佣来救场
黄金标准的人才评估信号——当可用时——是实习。这将候选人安置为准员工,通常大约 3 个月。他们是团队的一部分,他们获得“真正的”工作——团队能做到多真实就多真实(这因团队而异)——并就他们完成工作的表现进行评估。
一个 3 个月的实习不言而喻地比一天的面试循环信号要强得多。除非你在实习管理上真的搞砸了(比你想象的更容易出错),否则你对他们的技能和能力,以及他们在你团队中的“契合度”的了解,会比实习开始时清晰得多。这个信号比面试循环强太多,以至于你在做最终决定时往往会忽略面试反馈。面试只是让实习生获得机会的敲门砖,而实习本身变成了评估。
我见过一些公司在寻找“合适的人选”方面走得更远。我工作的第一家公司 Geoworks 有一个严格的要求:每一位候选人都必须完成一个为期六个月的 co-op(合作实习),然后他们才会做出招聘决定。
这个 co-op 类似于暑期实习,但我们是高薪的全职员工(有福利),做着硬核的真实工作,时间还长一倍,我们所有人都拼命想知道最后能不能被录用。
实习(约 7 周可用工作时间,去掉磨合期)和 co-op(5 个月实际工作)之间的信号质量有本质区别。那一年,1992 年,Geoworks 从 8 个人中录用了 3 个。门槛高得疯狂,感觉他们在制造新的猎魔人。没通过的人很惨。但他们的方法造就了一个几乎全员都是明星和超级明星的公司。
作为 co-op 有效性的证据,亚马逊在 1999 年收购式招聘了 Geoworks 西雅图办公室,在我加入几个月后,带来了近 30 名工程师(我自己启动了这个过程,几个月后看到老同事们在走廊里晃悠,感觉很超现实。)亚马逊的领导者多次说过,我甚至两周前还从一位老资格 VP 那里听到,Geoworks 团队是他们带入的最强的一批人。许多 Geoworks 员工后来在亚马逊和/或 Google 取得了非凡的成就。
所以 Geoworks 的 6 个月 co-op 是铂金级别的信号。你能走得更远吗?你愿意走多远?在供给侧,滑铁卢大学著名地让他们的计算机科学学生完成总共六次实习,在毕业前给他们大约 2 年的真实世界工作经验。这增强了来自滑铁卢的信号,各公司对滑铁卢实习生和毕业生的争抢超过了所有其他学校。
我们在这里讨论的是临时雇佣(provisional employment)。它是在绑定“雇佣”变量之前的惰性求值。不管是实习、co-op 还是合同转正,它都是一个临时职位,而非兼职:临时雇佣是一个与分数制雇佣不同的维度。临时雇佣目前是业界在可靠地决定雇谁之前所找到的最佳解决方案。
但等等,如果临时岗位如此有效,为什么不直接让他们转正?为什么不直接雇佣人、让他们工作,如果不行就解雇他们?
要是这么简单就好了。实际上,确实可以,除了,你知道的,法律。大多数临时雇佣方案都是对美国雇佣法的变通——信不信由你,法律确实为员工提供了一些保护,即使这些保护与世界其他地区相比很弱。
在美国,你通常不能直接解雇一个人,即使他们表现不佳,即使是在随意雇佣(at-will employment)下,也要承担被起诉和某种现金支出的风险。这就是让招聘决策变得如此高风险的原因。
但如果员工是临时雇佣,那就是另一回事了。他们的实习或合同只是“结束了”。感谢参与。
所以在公司能够做到的情况下,他们确实会使用临时岗位来尽可能长久地推迟做出永久性职位决定。
你管这叫救场?
好!如果临时雇佣是答案(它不是,但我们暂时假装它是,因为它是目前最好的),那为什么没有更多公司要求在做出招聘决定之前必须实习?
原因是,历史上招聘工程师竞争如此激烈,你无法说服一个资深工程师去做实习。大学生可能拥有世界上所有的自由,但成年人有家庭和房贷,需要稳定的就业。他们不想签一份 3 到 6 个月后可能无法继续的工作。一份实际上他们在不断被评估是否通过的工作。他们去别的地方是显而易见的选择。
所以业界趋同于不要求这样做。
那是旧的平衡,它之所以成立,只是因为优秀的工程师总是有更好的去处。这个假设开始动摇了。我不想啰嗦那些我觉得你们都已经感觉到了的事情,但如果相当一部分熟练劳动力最终同时“处于空档期”,他们可能无处可去。
到那时,如果市场上有足够多的人,先试后买就不再是你永远不敢向资深工程师提出的侮辱。而是一个他们会庆幸能拥有的敲门砖。
今天的招聘流程经过大量优化,很难改变。我怀疑这就是为什么我们看到这么多创始人在 X 上发帖开除他们的 HR 团队。HR 的设计是为了保持与法律的合规性,而法律正在努力跟上变化的步伐,所以他们确实处境艰难。但请注意,如果你想对招聘流程进行根本性改革,你的组织的各个角落都会有强烈的阻力。
尽管有这些阻力,我看到一些力量正在地平线上出现,它们正在汇聚,在半个世纪后,将这个系统压到崩溃的边缘。
我们正在看到边缘地带的第一次崩溃——离线评估被 AI 作弊所毒害,在线面试结果发现是受制裁的朝鲜 IT 工人的幌子,简历洪水无法以任何合理方式处理。系统正在承受它从未被设计来承受的巨大压力。
还有一个更根本的崩溃正在发生,那就是知识工作角色形态的变化速率。招聘过去是一个变化非常缓慢的事情。每十年会有一次革命:互联网、移动、云计算,人们需要学一些新东西,更新职位描述。但在大多数情况下,计算机科学、软件工程、项目管理等的基础知识几十年来一直保持稳定。
这意味着长期规划你想问人们什么类型的问题、评估候选人哪些方面、以及能对结果有多大信心,都相当容易。但这几乎在一夜之间发生了变化,而且还在继续快速变化。我们不再知道该发布什么样的职位描述、该问什么问题、也不知道如何用我们现有的任何流程来正确评估候选人。
所以。它不起作用。但我们仍然没有在讨论改变它需要什么。因为那是不可想象的。那是在教堂里放屁。
我们来谈谈真正的救援会是什么样子。
别再模拟工作了
面试流程的每一步都是一个精心设计的尝试,试图模拟与某人真正一起工作。读他们的简历时,你闭上眼睛想象拥有那些博士学位会是什么感觉。他们一定让人受不了。下一个!然后是电话筛选,你努力不去想象他们穿着大猩猩服装,但通常失败了。然后是面试,你了解他们闻起来到底是什么味道。
白板、编造的设计问题——这一切都是戏剧,试图假装这是真正的工作。
我们已经确定了评估的黄金标准是在真实环境中、就真实工作、与某人直接合作,时间越长越好。
所以简短的答案是,停止模拟。发布真实的工作片段,让候选人去做,看看他们实际产出了什么,然后根据那个工作做决定。
我们以前从未这样做,原因有很多。切割出工作本身就很费事。很难让人们获得所需的凭证等等。现在有了 AI,切割工作可能在某些情况下更容易了,但如果你是一个封闭的企业,还是挺难的。
另一个原因是,在供给侧,没有人愿意为了被拒绝而去做一堆免费工作。如果你只是把工作放出去,候选人承担了所有风险,意味着如果你们不录用他们,他们什么也带不走。你可以付钱给他们,这有助于缓解,但他们仍然在寻找你可能最终不会提供的全职工作。
所以直到最近,用真实工作作为评估工具的想法在面试桌的两侧都遇到了太多阻力。
篝火是新面试
如果你在 X 上花时间刷信息流,旧金山的新风尚是“来跟我们一起干几天”。有偿、真实代码库、真实工单、真实团队。据我所知,它产生的信号是有史以来最好的,遥遥领先。我不认为它打败了 6 个月的 co-op,但它比标准面试循环好太多了。
所以已经有一股力量在远离传统面试,这就是为什么我敢于声称它已经开始自行消亡。它正在被更长时段的引入所取代。我一直称这种工作模式为“篝火”:拉根圆木坐下,一起搭建点东西,感受如何。引入外部贡献者相当容易,因为他们会有 agent,应该能非常快速地上手。如果他们做不到,那就是你的信号。
尽管人们正在尝试,但今天的做法一团糟。每家店都在重新发明定制方案。而且它不可移植:候选人在试用中做出了出色的工作,但因为某些原因没拿到 offer,信号就蒸发了。下一家他们去篝火面试的公司又让他们从零开始。
让工作算两次
大公司都有堆积如山的工作。见鬼,每个人手上都有堆积如山的工作。大多数公司还被简历的森林大火所吞噬。如果你能从工作山上切下真实的工作片段,并将它们连接到那场大火,你就能创建一个可扩展的篝火模型。
对你来说太好了,你获得了工作山的外部帮助。但如何让贡献工作的候选人觉得公平呢?简单:你让工作算两次。一次为你:你获得强评估信号,以及候选人的一些真实产出,这些产出你通常可以保留,或至少作为起点。
然后,重要的是,每项工作也为候选人算一次:他们带着一份永久的、可移植的记录离开,记录他们做了什么以及做得如何,由你签署,无论你是否发 offer。
当候选人能带着一些有持久价值、可以永远保留的东西离开时,甚至可能随时间复利增长的东西时,它就不再感觉像是“六个小时的免费工作换来被拒”。它感觉像是六小时对永久小额声誉提升的投资。这比直接被拒好无限倍。
让面试成为利润中心
面试一直是一个成本中心。它消耗工程师工时来产生一个是或否的结果,这就是为什么人们一直抵制增加面试时间来改善信号。它已经被认为太多了。但如果你以篝火模式运行,它有潜力翻转为利润中心。而且它可以两次为自己买单:一次在产出的真实工作中,再一次在你可能更需要的东西上——引力。
你发出的每一个印记,通过或失败,都让候选人比来时更富有。这吸引了强大的候选人来到你这里,因为即使是你的拒绝对他们来说也有价值。诚实而慷慨地发放印记足够多,你就不再需要在一小股千篇一律的 AI 抛光简历中翻找,而是建立起一个储备库:那些与你做过真实工作的人、能证明这一点的人、以及你打电话时会接的人。
但他们也可以离开,带着他们的记录一起走。
这个系统的价值基本上完全等于你诚信的价值。如果你给每个人都发金星,你只是在重新发明 LinkedIn 的技能认可,那东西一文不值。印记有意义的公司将是那些以只为优质工作发放而闻名的公司。做一个严格但公正的评判者对所有人都有利。
印章从哪里来?
每个网约车平台已经在铸造我们正在谈论的那种记录:星级评分、各种徽章、完成的订单数,Grab 和 Uber 全都有。唯一的问题是它被困在每个平台上,如果司机离开就消失了。重新发明人才评估的全部诀窍在于让工人把评估带出门。
我知道在这个领域有一些解决方案正在演进,包括商业的和开源的,我很高兴在可能的时候分享更多。坦率地说,我本想今天就交给你一个连贯的解决方案,但由于空间不够,加上 Opus 4.8 对一切都他妈的太苛刻了(我的天),我决定先留着。我们都得开始实验。
但现在你有了它的轮廓。请把我这里的任何处方都当作草图。我主要是想让你接受诊断,同意我们需要在 50 年来第一次好好修复它。也许你得出结论每个人都必须要求 6 个月的 co-op。我不在乎。只要不是继续老样子。我只是想把奥弗顿窗口挪一挪。
就我个人而言,我认为篝火是我听到的在取代我们老化的面试基础设施方面最令人满意的方案。希望在篝火旁见到你!
评论互动