李亚飞:我们如何逼近技术招聘准确、快速、经济三角最优解的?
在创立 ShowMeBug 之初,我就有个关于终极技术招聘解决方案的梦想:让面试官实时看到候选人是如何调试一段程序的——“Talk is cheap, show me the code.”
我发现一直以来,技术招聘中的面试环节如此重要,却经常被轻视。我们经常听到这样的抱怨:候选人吐槽找不到工作,企业却说招人很难,其中很重要的原因就是双方都没有意识到:这是由于技术招聘存在着简历水分大、面试全靠感觉、成本高所导致的。
我在18年年底的时候,大约花了半年的时间跟HR朋友们一起做技术招聘,发现HR朋友们每天花大量的时间找简历,却停留在用经验、眼光去识人的初级阶段。大家也想过用笔试的方式进行考察,但实践过后就放弃了。很明显,单纯依靠理论和“八股文”的方式,去考察候选人是否是一个合格的老司机,这并不科学。
而在技术面试环节,企业会通过经验式的行为面试法进行人才选拔;有些高级一些,简历分析仔细一些,把学历学校分析更细致,把项目细节挖得更明白一些;还有很多企业为候选人设定了三-四轮的技术面试。然而这一通流程下来,招进来的技术人才可能和实际岗位需求匹配不上,甚至有可能把没有技术实力的面霸招进来。
由于招错人的成本高昂,招聘转化漏斗很小,很多企业的简历/Offer比达到了100:1的夸张程度,导致企业只得花越来越多的时间去找简历,人均 Offer成本越来越高。
通过这几年的研究,我总结了几组数据,大家可以看一下:
1、平均技术人才面试20次,发出一个Offer。
2、平均一百份简历,能漏出一个Offer。
3、平均一次成功技术人才招聘成本约3万元。(核算简历成本+HR成本+面试官成本)
这个成本确实是非常高昂的。
看到真问题,才能找到根本解。
什么是根本解?
我的答案是:准确、快速、经济。但是,这3点看起来却是一个不可能三角原则,那我们怎么去逼近这个最优解呢?
我们先来看看,企业到底需要什么样的技术人才。
美国是软件工程师的发源地,美国的公司对此认识也非常深刻。CodeSignal 的创始人 Tigran Sloyan 讲到:培养软件工程师就像培养一个飞行员一样艰难有挑战,只有优秀的飞行员才能带领团队成功。这里把程序员比喻为飞行员,比喻特别形象。
试问一下,我们很多企业项目的延误,甚至失控,是不是因为不合适的“飞行员”多了,太多的Bug在修,太多的火在救而导致的。这是企业最大的痛,如果人才错了,项目一定无法成功。
招优秀工程师,就像招聘一个飞行员,或者像招一个会开车的老司机。我们不是在选秀,我们需要专业有效的评估手段。
同时,技术人群有一个很特别的岗位特征:岗位价值偏差极大。我有个技术顾问朋友在一次GTLC研发效能分享会上讲到:程序员分为菜鸟、高级菜鸟、工程师和高级工程师,而菜鸟与高级菜鸟足足占了50%以上。这形象说明了岗位的特征:不优秀的工程师的数量是优秀工程师的几倍乃至数十倍,甚至有些工程师是负的价值产出。
那么,企业在这样的岗位特征下如何招到有能力、能实战的技术“老司机”呢?如何将技术人才招聘做到专业、科学、高效?其实国家已经给了我们不少解决思路的启发。
刚刚讲到,我们要招到优秀的程序员,就跟招到真正在开车时又稳又快的司机是一样的,这一点有没有感觉像考驾照?
目前国家驾照考试由四个科目组成:科目一和四是理论考,科目二是桩考,科目三是路考。通过这四个科目考试的结合,尽可能确保:有驾照代表会开车。
如果把技术招聘当作是考驾照的话,理论考和“科目二”正是一些优秀企业采用的技术招聘方式——通过理论能力评估的方式招聘技术人才——这也是 ShowMeBug1.0 和市面上类似的产品所提出的技术招聘解决方法。然而,高分甚至满分通过理论考和“科目二”的候选人,却仍然会在实际工作中出现“理论都懂、实战崩溃”的问题。
这也就有了 ShowMeBug2.0 为技术招聘提供了类似“科目三”的编程环境与考察方法。无论是否是“技术老司机”,候选人都能经过“科目三”项目真实环境的验证。试想一下,如果我们让候选人在一段模拟真实的道路上开车,模拟一些现实中可能会遇到的问题,如果遇到一个Bug需要调试,或者遇到一个新需求要开发一个API,甚至遇到一个并发压力需要优化锁。没问题, ShowMeBug2.0 都可以解决。
事实上,我们从 2020 年底拿到真格基金的 PreA 投资后,就开始构建了一个全新的基础设施研发团队,对云协同IDE进行重构式的设计与研发。这个团队名字为1024PaaS,构建的目标是一台全新设计的“车”,它不是真正道路上跑的汽车,而是一台“教练车”,专为技术面试、技术评估而设计,目的是让候选人以非常轻松且熟悉的“开车”的方式进行代码笔试或面试,企业可以又快又好地完成人才评估。
这台“教练车”是这样的:
1、开箱即用的云上编程环境,不仅支持各类编程语言,更支持实战路考的各类框架,Spring、Django、Rails,Vue,React 等等实战工作主流的开发框架。
2、超级友好,最大程度降低题目理解成本,支持答题区TODO、答题区FIXME、文件树锁定隐藏等功能,让双方更针对具体问题进行沟通。
3、互动性强,文件树、编码区、Shell和Console组件都是实时同步状态,在面试环节,支持多人协作,实时看到对方的动作。
在1024PaaS的基础上,我们用两种方法去破解“如何逼近技术招聘准确、快速、经济三角最优解的”这一难题:
第一种方法,我们将传统技术笔试升级至预面试。简单来说,就是用“科目三”,去验证一个技术老司机是否开车又快又稳。
我们对传统笔试提出以下几点改进:
1、多考实战:结合1024PaaS的优势,我们可以提供项目级实战编程题,后端框架、前端框架、前端界面。比如考察候选人实战完成一个小需求的能力、修改一个Bug的能力、操作Linux的能力、使用某个框架的熟悉程度等。
2、科学的能力维度模型:我们将传统的JD转化成一张能力维度图,让招聘技术人才的标准有迹可循。比如一名Java后端工程师,需要具备Java基础语言能力、框架掌握能力、API设计、数据库、调试定位这5项核心能力,按照这个标准招人,将会更科学、更精准。
3、岗位题库:我们根据岗位能力维度图,自动匹配一套适合评估的试卷,用于预面试。我们目前建立起了市场上主流岗位的能力维度图。经过测算,20个主流岗位,只需要10000道科学且高质量的试题就可以全部涵盖。目前我们已经积累到4000道题目,接下来我们专业的题库专家团队,会在一年到一年半的时间内,提供10000道题。
通过预面试,我们可以全面提高HR初筛的效能,HR朋友们不用再依托面试官也可以完成专业的技术能力测评,参加一面的候选人都已具备实战能力了,可以高效节省面试官初筛简历的时间。
第二种方法,我们将传统技术面试升级至情境化面试。
我们提供更好的情境化面试,让企业和候选人可以在项目级实战编程环境下完成面试环节。情境化可以将 3 轮(初、复、终)面试,优化为 1 轮情境化面试,准确度提升至90%。
不同于普通的考题测试,情境化面试是把工作中实际会遇到的Bug和项目,直接搬到面试中来考察候选人的一种方式。让候选人身临其境,拿代码实力说话。比如,当我们要考察一个前端工程师时,不用再去问前端的一些CSS属性、语法等问题,可以直接出一个前端界面题,看他能不能精准实现一个网页?能不能做好一个响应事件?能不能写好一段实际的项目代码?
同时,ShowMeBug 2.0 提供结构化的面试问题集,让面试不断深入沟通,技术面试官可以形成自己的结构化面试规范,既可以直接引用我们的问题集,也可以可以提前内置企业自己的相关素材,甚至话术。
我们大概算过,通过 ShowMeBug 2.0 开展技术人才招聘:可以为企业节省 50% 的技术招聘时间,节约一半的招聘经济成本,并且将人才精准度提高至 90%。
中国企业正在快速地走向数字化和智能化,在这一大背景下,如何能更精准、更快速甚至更低成本地评估和招聘技术人才可视为企业之间的军备赛。我们希望,ShowMeBug 2.0,可以让技术招聘真正回归本质,通过预面试+情境化面试,逐项考察候选人对应的岗位能力,量化技术人才,迅速识别人才,帮助企业用真实编程环境识别真正能解决问题的工程师。
__________________________________________________________________________________________________
ShowMeBug 是支持实战编程的技术招聘笔面试工具,助力企业快速、精准招聘到真正有实力的技术人才,服务超500家中大型企业客户,为半导体、智能制造、企业服务、IT互联网等多个领域提供技术人才招聘解决方案。