为什么要花3年时间面试一个人?

为什么要花3年时间面试一个人?#

背景#

2018年笔者陪同公司部门老大负责技术面试,3个月时间,从收到简历到电话面试、现场面试,再算上Boss直聘打招呼数,总共有不下1000次。招聘过程可谓呕心沥血,效果却差强人意。

曾作为求职者,我面试拿offer总是能满载而归;如今作为一名招聘(临时)者,找到一个合适的候选者难如登天?

在网上看求职攻略、招聘经验帖子时,我总在想一个问题,是什么因素阻碍了企业找到靠谱的候选者?

直到我看了这篇《怎样花两年时间去面试一个人 》。文章里提到了一个理论——“用两年面试一个候选者”[3],起初我不太理解为什么要花这么久时间,最终换位站在求职者的角度,总算读明白了。

当我作为求职者的时候,我会基于先前(求职)经验,摆上Blog、Github主页链接,附上自己的读书清单,这些行为无形中是向招聘者展示我过去1-3年时间做了什么真实产出,有哪些深刻收获。

而当我作为招聘(临时)角色,我一没有招聘经验,二无法有效率的识别该候选者是否匹配公司的需求——归结到最后,是因为我缺乏作为技术招聘者的基本能力,导致了我招聘面试过程中束手束脚。

现状#

那么该如何作为一名合格的技术招聘者呢?

面试官和求职者看似是互相对立,见招拆招的关系,实际上也有一层未来同事身份。所以作为一名技术面试官,我们要在充分理解企业需求的前提下,对候选者进行收集、过滤、筛选、面试、决策等一系列行为。

问他又来了,如何理解企业岗位需求呢?

作为员工,直接跟技术部门领导、人力资源部门领导沟通,很容易得到一些标准的需求指标:胜任、稳定、可靠、专业能力过硬等等。

等等,题目不是“为什么要花3年时间面试一个人”么,为什么要浪费篇幅讨论成为一个合格的技术招聘专家呢?

因为用3年时间面试一个人是“果”,这里面的“因”是默认你已经是一个合格的技术招聘专家了。只有当我们成为一名成熟的技术招聘人员,我们才愿意花费大量时间去收集、筛选、过滤一名真正对企业有价值的候选者。

假设我们从HR那里,从用人部门这里拿到了岗位说明,工作内容说明等,基于稳定性,能力等指标,我们要开始招聘了。那么第一个问题是,从哪里找到合适的候选者?

在下文“软件高工们的招人妙诀”中,有很多创业公司CEO心酸的招聘经历,想必每一个技术招聘者都会面临这种困境:

  • 收不到合适的简历,Boos、拉钩、智联,要不就是简历太多筛选麻烦,要不就是简历不合格浪费时间,要不就是根本收不到简历——这种情况比较少,很多事招聘者自己的问题,主要原因在前两种——大海捞针难;
  • 有合适的简历,但人不愿意来:1.公司给的预算太少,给不了候选者满意薪水,跟市场薪水比没有竞争力;2.公司品牌、产品竞争力不吸引人,浪费大牛时间

读完这些高工们的招人妙诀,我总结了一版通用的招聘流程:

  1. 编写岗位说明写明:除了明确的技术能力,还需要在说明底部要求候选者需要提供blog、github、stackoverflow主页链接(强烈推荐);读书笔记(推荐);工作笔记(一般)。
  2. 能在简历上提供链接的,好了我们可以点进去看这个人最近3年在做什么,github提交记录,看了哪些书,写了哪些总结,解决了多少issues等等,这是一个人真实的产出,无法造假的东西。
  3. 只要链接里的内容不算太差,都可以约一个电话面试简单聊聊,这种人进入二面技术面的几率大一些。
  4. 进入二面,再围绕计算机基础(操作系统、设计模式、算法与数据结构、数据库、编程语言)、项目经验、BugFree、系统设计等多项能力综合考察。结合步骤2简历提供的要素,在每项能力、每个要素上打分,最终得到一个综合评价分。
  5. 根据分数,将候选者划分为:强烈推荐-优秀-良好-一般-不推荐5个等级,跟结合用人部门、人力部门的评分,再谈是否发放offer以及薪水package等等。

冲突和挑战#

作为招聘人员,必须面对的挑战是,根本无法通过公开渠收集简历,找到真正牛且适合公司的候选者;因为真正的牛人也许一辈子就投大概4次简历;而市场上的“人才”大多不是什么人才,招到这些人轻则浪费时间,重则把公司搞挂(笔者上一家年利润过亿的公司就是如此)。

看了网上许多帖子,结合自己的招聘经历来看,招聘过程会面临以下挑战:

  • 简历履历造假,包括学历、公司经验、岗位内容等;
  • 技能造假,只会写if-else,就敢写精通某某语言;只听过GCRoot技术名词,就勇于展示自己熟悉JVM;
  • IT教育机构给学员做的面试包装培训,派老师参加面试套公司的笔试题和面试题,让学员背题,面试题话术整得比部分面试官还专业;

笔者并无疑讽刺、贬低IT培训机构出身的学员,只是将此类人将其当做一种招聘挑战

在种种困难之下,招聘者想找到一个合适的候选者难上加难。因此成为合格的技术招聘专家迫在眉睫。

为了寻求一种高效的招聘方法,我读了网上很多招聘求职帖子,刘未鹏老师《怎样花两年时间去面试一个人 》给我的启发最大。启发有两部分,文章观点总结、技术招聘方案

我将其文章及该文章中参考索引的文章内容总结如下:

  • 找工作的首要原则是什么?答:弄清楚雇主的需求到底是什么
  • 从哪里发现雇主的需求?答:公司主页上的推荐书单,招聘网站,公开渠道广受好评的技术书单如《编程之美》、《成为xx技术专家之道》的书籍。
  • 公司如何对候选者进行一场长达3年的面试?答:提供Github链接、博客地址、StackOverflow地址、甚至是Leetcode个人主页、牛客网个人主页
  • 个人主页链接有哪些不可替代的优点?答:清晰、明确、完全可度量;不用担心伪造,有push review历史,交流记录,足够体现了求职者的可信、负责任程度
  • 公司为什么一定要列求职者书单计划?答:“书单计划”能很大程度上起到强鉴别器的作用,看了就是看了,必然能学到东西,没看就是没看。知道和不知道,区别是本质的
  • 怎样识别人才?答:实战能力,协作沟通能力,学习能力,学习热情,稳定性测试,香蕉测试,专业测试[1]

软件高工们招人的妙诀#

邹欣:“你的工作就是最好的面试”

熊力“我当年毕业的时候总结了一个公式:第一份工作的月薪=大学四年买过的技术书籍价格的总和。”

周源[2]

其实从 08 年到现在,我一直想这事能不能有点窍门,或者是实用的方法,结论是几乎没有。我用过的大家都用的方法:

  • 在水木上发贴子(有点效果)
  • 在蓝色理想上发贴子(无效)
  • 在技术邮件组里发贴子(无效)
  • 买 51job/智联 最便宜的服务(有点效果)
  • 给所有可以想到的人打电话,请他们推荐(无效)
  • 给所有和你讨论过创业,喝过点小酒的人打电话(无效)
  • 约前同事私下谈(有效)

我用过的大家可能没有用的方法:

  • 上 twitter,看 XXX 的 follower,一个一个看,看他们的 twitter,博客,Google Reader 分享,想办法搞到邮件,联系,半夜电话骚扰。
  • 上豆瓣,前端后端挑几本重量级的书,去找想看,看过,正在看这本书的人,一个一个看,看他们的活动,博客,Google Reader 分享,想办法搞到邮件,联系,半夜电话骚扰。
  • 找同事,问他们都看什么技术博客,想办法搞到邮件,联系,半夜电话骚扰。

刘未鹏

1.要求读过的书写读书报告。

2.Social Coding

真实的项目,真实的流程,真实的人名,一切代码review, check-in, test, build, document, 甚至讨论,计划,brianstorming,流程,一切的一切,都是项目历史的一部分,都可以像棋局那样复盘。有经验的面试者只要稍稍扫两眼一个人的GitHub历史,挑出几个check-in历史看一看,便完全能够迅速判断这个人是否满足他的要求。不再需要费劲心机地去想题目,去观察,去揣测,去花费大量的时间的同时还只能采样到几个极为有限的点。

不像象牙塔里面大作业,这里有源代码管理系统,自动化build,有check-in,有review,有分工,有合作,最重要的是——这是一个集市,一个超出象牙塔的集市,牛人相互吸引,你可以在互联网上找到和自己拥有共同兴趣的一帮人,真正做起一点事情,而不是交差,不需要受限于几十个人的一个小班级。Here Comes Everybody

3.我们姑且把这个计划叫做“书单计划”,容易看到“书单计划”具备以下几个卓越的优点:

  1. 清晰、明确。完全可度量。
  2. 防伪:读没读过,随便一问便知。而正因为应聘者也知道这事不像实习经验可以忽悠,所以也不敢乱往简历上捅词。
  3. 不在乎是否“泄题”:书单完全公开的,无所谓,本来就是要你去读的。想背题?背书吧。真能背下来说明认真看了。
  4. 管你用心不用心读,只要读了,读完了,就有区别。真正的好书,你想不被吸引都难。据我观察很多人就是不知道该去读什么书。
  5. 不存在“怎么做”的障碍:所有人都知道怎么读书——一页一页读。
  6. 不需要招聘者投入精力:书单在此,就这么简单,您看着办。
  7. 评估的负担很大程度转移到了应聘者的身上:是不是认真看完了,有没有心得体会,您自己掂量。没看完别来找我们。

大厂推荐的书单#

华为专家级工程师认证考试(Java)推荐书单:#

部分资料为华为企业内部文档,外部无法检索

  1. 《软件架构设计》-温煜,掌握需求分析基本原理、过程、方法等内容,掌握UML、设计模式、架构方法
  2. 《大话设计模式》-程杰
  3. 《重构:改善既有代码的设计》,对于代码坏味道识别、分析、理解,基本重构原则,多种重构方法
  4. 《Efficetive java》
  5. 《Java2 核心技术》
  6. 《Java语言通用编程规范》
  7. 《Java语言安全编程规范》
  8. 《Java安全编码标准》
  9. 《Java问题调试与定位》,IDE的调试功能、调试工具全景图、熟练掌握应用
  10. 《有效的单元测试》
  11. 《单元测试之道》
  12. 《API接口测试》
  13. 《Gradle编译》
  14. 《Jeckeins+Gerrit+Git》

阿里云推荐必读书单#

阿里云藏经阁也列举了求职者必看书单,可以移步至阿里云藏经阁

软件高工推荐的书单#

洪强宁(豆瓣技术总监)#

StackOverflow上有一个程序员必读书单帖子,这里仅列出top10,更多参考这里

  1. Code Complete 2
  2. The Mythical Man-Month (《人月神话》)
  3. Code: The Hidden Language of Computer Hardware and Software (《编码的奥秘》)
  4. TAOCP (不解释)
  5. The Pragmatic Programmer (《程序员修炼之道》)
  6. Design Patterns (《设计模式》)
  7. The Structure and Interpretation of Computer Programs (《计算机程序的构造和解释》)
  8. Refactoring (《重构》)
  9. The C Programming Language
  10. Introduction to Algorithms (《算法导论》)

冯大辉(丁香园CTO,贝塔咖啡创始人)#

  1. 软件随想录
  2. 黑客与画家
  3. 重来
  4. UNIX编程艺术
  5. 编程人生

云风(中国游戏编程先行者,前网易游戏部门资深程序员,简悦创始人)#

如果面试,我会挑以下的我自己读过的书,让人选择他也读过的部分,再了解他对这些书的理解。这些书其实本质上就是两类,对所面对的东西(程序语言也好,操作系统也好,底层设施也好)本身的理解程度。以及另一类:对设计思想和原则的理解:

  1. C++编程思想
  2. Effective C++
  3. 深度探索C++对象模型
  4. C++语言的设计和演化
  5. C专家编程
  6. C陷阱与缺陷
  7. C语言接口与实现
  8. Lua程序设计
  9. Linkers and Loaders
  10. COM本质论
  11. Windows核心编程
  12. 深入解析Windows操作系统
  13. 程序员修炼之道
  14. 代码大全
  15. UNIX编程艺术
  16. 设计模式
  17. 代码优化:有效使用内存
  18. 深入理解计算机系统
  19. 深入理解LINUX内核
  20. TCP/IP 详解

刘未鹏认为面试微软前必须要读的十本书#

  1. Code: The Hidden Language of Computer Hardware and Software (《编码的奥秘》)
  2. Computer System: A Programmer’s Perspective (《深入理解计算机系统》) / Windows via C/C++ (《Windows核心编程》 / 《程序员的自我修养》
  3. Code Complete 2(《代码大全》)/ The Pragmatic Programmer (《程序员修炼之道》,我也把这本书称为《代码小全》)
  4. Programming Pearls (《编程珠玑》) / Algorithms / Algorithm Design / 《编程之美》
  5. The C Programming Language
  6. The C++ Programming Language / Programming: Principles and Practice Using C++ / Accelerated C++
  7. The Structure and Interpretation of Computer Programs (《计算机程序的构造和解释》)
  8. Clean Code / Implementation Patterns
  9. Design Patterns (《设计模式》) / Agile Software Development, Principles, Patterns, and Practices
  10. Refactoring (《重构》)

邹欣(MSRA创新工程中心首席研发经理)#

关于创新的书籍(http://book.douban.com/doulist/1253169/):

  1. The Myths of Innovation
  2. The Innovator’s Dilemma
  3. The Innovator’s Solution
  4. Crossing the Chasm
  5. Inside Intuit
  6. 盛田昭夫
  7. 杰克·韦尔奇自传
  8. 梦断代码
  9. Innovation
  10. 浪潮之巅

张峥(微软亚洲研究院副院长)#

  1. Algorithms (by Sanjoy Dasgupta, Christos Papadimitriou and Umesh Vazirani)
  2. Data Structure and Algorithms
  3. The C Programming Language
  4. The Design of the UNIX Operating System
  5. Compilers (龙书)
  6. Computer Architecture: A Quantitative Approach
  7. Flow
  8. Outliers (why hard work and luck are both important)

郑昀(窝窝团研发副总裁)#

  1. 工程师入门:
    1. Code Complete 2
    2. 程序员修炼之道
    3. 深入理解计算机系统
  2. 工程师升级:
    1. 设计模式
    2. 重构——改善既有代码的设计
  3. 工程师转型:
    1. 快速软件开发——有效控制与完成进度计划
    2. 人月神话
    3. IT项目管理那些事儿
    4. 软件随想录
    5. 最后期限
    6. 走出软件作坊
    7. 你的灯亮着吗?——发现问题的真正所在

参考#

ThoughtWorks给我看你的博客

Github is Your New Resume

[BetterExplained]为什么你应该(从现在开始就)写博客

为什么写技术博客对新人如此重要?

《Smart and Gets Things Done》

插件:Gtihub插件-历史记录自动生成简历;StackOverflow历史记录生成简历

点击查看
-------------------本文结束 感谢您的阅读-------------------