团队的构建-面试

前言

随着社会分工越来越细,仅凭一人之力就能创造奇迹的时代已经成为过去式。即使每个时代都在不停的出现改变世界的精神领袖(乔布斯、马斯克等),但不可否认真正改变世界的还是靠成千上万的优秀团队来完成。那如创建一个富有创造的优秀团队-寻找优秀的团队成员让他最大程度的发挥他的能力。今天我们一起聊一聊构建优秀团队之人才招聘。

1.发现优秀的人才

优秀的人才需要时间来等。

招聘时我们的第一直觉是去几个比较大的招聘网站选择合适的候选人,但是最终的效果往往不及预期。道理很简单(大家都这么想的),好不容易发现一个不错的候选人,却被其他人先下手为强了。另外优秀的人并不会频繁的更换工作,因为他们在现有的工作中已经或者正在获得成功,而且公司方面也会竭尽全力的创造条件留住优秀的人才。所以要想在适合自己的时间招到优秀的人才,那只能寄希望于那极不靠谱的人品了。人才是一种资源,需要长期的积累,而优秀的人才更是如此。下面是我认为最为高效的两种渠道:

  • 优秀同事的推荐:专业能力或是价值观相似的人出现在相同的朋友圈里的概率更大,如果你认为某位同事是优秀的,那你也应该相信他推荐的人。通过推荐渠道的录用成功率会比其他方式更高,而且面试成本也会少很多(不要吝啬推荐费,比起猎头费以及招聘专员大海里捞针的成本费,这点真的微乎其微)。关注优秀人才的LinkIn,也许你能找到一群类似的人。

  • 程序员的社交平台:优秀的程序员都有一个共同的特质-喜欢分享。博客、开源项目以及一些著名的技术问答网站都能看到优秀程序员的身影。而且在这些地方留下的线索,可能比面试考察的东西更有说服力。以下是优秀程序员经常出没的地方githubstackoverflow博客园等。

虽然大型互联网招聘网站、猎头偶尔也能找到一些优秀的程序员,但是不论是效率还是性价比都不是很高,在互联网快速发展的今天,信息不对称正在被弱化,猎头的优势也在缩小。如果一个企业致力于吸引更多优秀的人才,那么企业的招聘专员就应该注重企业人才库的长期建立 (即使公司没有招人计划,这个也不能停)。

2.筛选出优秀的人才

把时间和精力留给更优秀的人,过滤那些不符合要求的候选人。

面试不仅花费时间成本,而且还消耗大量的人力物力成本。所以面试前做一轮筛选是非常有必要的。你会发现优秀候选人的简历,经常出现个人博客开源项目等朴实但很有分量的关键字,他项目介绍不是流水帐似的,而是有重点的介绍能突出他能力的项目,他们的简历出现的技术术语远多于项目内容的介绍。

当然简历也有其自身的局限性,优秀的程序员并不一定都知道怎么宣传自己,一些平时不善言辞的程序员,一旦问到技术相关的他们就能滔滔不绝,所以电话面试则是为了尽可能不要错过那些潜在的优秀候选人,我们通过电话面试,确认简历中的细节和疑问,并通过一些技术问题解放害羞程序员的天性。

有时因为地理因素的影响,有些候选人的面试成本也非常高,那么可以通过网上答题(类似笔试)或视频面试的方式进一步过滤出真正需要面试的候选人。

通过上述的筛选我们不能说我们已经过滤出合格的候选人,但至少我们已经把不符合要求的候选人过滤掉了,剩下的时间就让我们找出那些优秀的候选人。

3.辨识出优秀的人才

优秀的不仅仅是那么一点点。

优秀一定是全面的,对于面对面面试我们应该从多个角度去评估面试者,而不仅仅局限在技能上,作为程序员至少要从下面三个角度进行考察。

  • 知识:知识的考察是非常有必要的,它可以说明一个人对过去经验的积累,也是解决问题能力的基础。知识最忌讳以知识点的方式浅尝而止的提问,碎片化的知识点并不能区别优秀候选人和一般候选人(尤其网上大量的面试宝典,很难保证没有考前抱佛脚的)。所以全面系统的考察应该从候选人的介绍开始,比如当候选人提到内存管理时,我们可以从指针开始,然后到内存分配,再到对象的内存模型,还可以扩展到智能指针,以及不同智能指针的内部原理和实现模式,而且上面的每个点都可以纵向的深度挖掘。优秀的候选人在解决问题时思路更加开阔,定位更加精准,这和他们丰富的知识体系结构是分不开的。

  • 技能:如果说知识是积累的话,那么技能就是对积累知识的应用能力,这里的技能不仅仅是技术技能,还包沟通能力,分析能力甚至领导力。一个优秀的候选人往往会展现出多种综合能力。如果条件允许最好能拿现实项目中遇到过的问题与候选人进行讨论,当然前提是不要引导和局限在已有的解决方案。因为优秀的候选人可能给出令你意想不到的答案,优秀的候选人会通过不停的互动确认自己理解的需求是否完整,根据反馈更正自己的答案。有的候选人甚至会抛出一些问题引起你的思考。当你发现整个过程是流畅的,那么你只需要最后在心里问自己一个问题,你是否愿意和你对面的那个人一起共事。

  • 态度:态度是一种品质和动机,优秀的程序员更愿意接受挑战,拥抱变化(在信息、技术日新月异的当下,如果一个拒绝或不适应变化的人,我们很难想象他们如何面对这个极速变化的行业)。要想知道你的候选人它是否具有这样的品质,我们可以和他聊聊最近读过的书或研究过什么除工作以外的新技术。一个真真研究过的人,他的答案一定不是空泛的(通过这我们也可以了解他的学习能力和表达能力)。优秀的候选人他们坚信真理而不是权威,团队的合作必定会有冲突,如果放弃正确的做事原则,而一味的回避冲突或屈服所谓的权威,那么能力在大又有何用(解决不了的问题依然解决不了),面试的时候适当的坚持自己的错误的观点或解决思路,观察候选人的态度是一个很好的方法。优秀的候选人他们不怕失败而是害怕在同一个地方失败第二次。与其问他们的优缺点还不如问问他们职业生涯中最大的失败是什么?他们学到了什么,拥有成长性思维的人他会不停的反思,而且答案深刻的让你动容,他们更多的反思自己,而不是把责任推给别人(缺点不是问题,问题是你有没有发现自己的缺点)。

4. 面试官的重要性

千里马常有而伯乐不常有。

俗话说一流的面试官招聘一流的人才,二流面试官招聘三四流的人。优秀的面试官不仅要在有限的时间内挑选出来优秀的人才,而且也是吸引优秀人才的门面担当。

优秀的面试官首先要有足够的技术储备和应变分析能力。因为很多时候你会遇到比你更优秀的人,即使遇到比你优秀的人你也不用担心,因为你已经通过对方的简历和电话面试做好了充分的准备。你的目的不是和候选人比谁更优秀,而是我能从他身上学到什么?他的解决方案是否合理?我们可以不知道,但我们不能不懂装懂,因为优秀的候选人在你面试他的时候也在考察你(而你代表的是公司)。

其次优秀的面试官应该是客观的评价候选人,候选人的第一印象很重要,但是请先把主观偏见抛到一边(很多优秀的程序员都有一些独特的个性)。优秀的面试官会把控面试节奏,让面试更像是同事间的交流,但是适当的观点碰撞或压力测试,找到候选人的局限也是不错的方法。这些技巧需要通过不断的实践和总结。

真诚的回答应聘者的每一个问题,创造彼此间的信任,千万不要为了留住优秀的候选人,做出过度的承诺,真诚告知公司的现状和未来,以及我们求贤若渴的态度,剩下的候选人自然会权衡决定。即使最後并没有成为同事,但至少让应聘者留下一个美好的印象。

后记

为什么我一直强调要招聘优秀的人,首先人对了,那么下面的事都好办了,其次人才的聚集是有雪球效应的,退一万步说,我们以严格的要求筛选人才,即使找不到最优秀的,至少也不会太差。最后以黎叔的话作为总结:二十一世纪什么最贵-人才。

(转载本站文章请注明作者和出处,请勿用于任何商业用途)

上一篇:程序员应该知道的一些原则
下一篇:构建优秀的团队