解法
2013年2月,37signals在公司博客发表《为什么我们不用谜题和技巧招聘程序员》,当天就登上Hacker News。讨论从琐碎知识招聘的失败案例开始:一位微软面试者提前背了《如何搬动富士山?》,却被要求凭记忆写C语言的strcmp();亚马逊面试侧重Big-O背诵和“数宇宙中的星星”;面试官常常只是搜“编程面试题”,而不问这些题能证明什么。
37signals的反击是彻底拒绝这类问题:不以谜题和技巧为依据招聘。评论者将替代方法形容为“试用候选人”——让候选人面对实际工作,而非合成脑筋急转弯。从业者用具体机制推动同一方向:ITA Software发现,现场测验远不如阅读候选人离线写的代码有用;一位招聘经理围绕一整天的结对接力设计面试,只问三个问题:能干这活吗?适合团队吗?游戏规则变了能适应吗?
两种筛选测的东西不同。琐碎知识和脑筋急转弯是可以准备的——已有题库和备考书流传——它们筛选的是记忆力和人为压力下的镇定。评论者指出,洞察型思考者可能在1小时程序化提问中失败,但能在更长的真实任务中表现良好;一位正好恐慌发作的候选人可能过不了FizzBuzz,却仍是好程序员。实际工作能回答谜题无法回答的问题:候选人如何阅读陌生代码库、发现错误、写代码、与陌生人合作。
What it achieved
放弃谜题考验:试用候选人,让实际工作而非记忆决定录用
为什么有效
谜题筛选可准备:题库和备考书让候选人排练,测试的是准备和记忆,而非工作能力。
试用候选人观察的是实际工作——阅读真实代码库、找错、写代码、协作——这是任何脑筋急转弯都无法提供的证据。
人为压力扭曲结果:洞察型和焦虑型候选人可能在1小时谜题中失败,却在更长时间的真实工作中表现良好。
公开立场表明公司重视什么,并引发442条评论的辩论,在公开场合检验了该想法。
可以借鉴什么
当招聘筛选测的准备多于工作本身时,就换证据:让候选人试做真实工作,用表现决定录用
后续
文章在Hacker News获得648分和442条评论,使37signals成为反谜题阵营的标杆。支持者说硬核脑筋急转弯能揭示压力下的问题解决能力;反对者用一整天的结对、FizzBuzz作为廉价负面过滤器,以及ITA阅读离线代码的实践来反驳。试用方法被认为不错,但对名气较小的雇主不现实,他们仍需要谜题来吸引人才。讨论中没有出现可量化的录用结果;其效果是规范性的——“试用候选人”成了琐碎面试的主要替代方案。
从这里,追溯依据
参考来源
- Why we don't hire programmers based on puzzles and tricks | Hacker News news.ycombinator.com