什么时候一位程序员真的晋级成为技术 leader 呢?很多人可能会说是从管理别人开始。而作为管理者,其中一项重要工作就是帮团队招募人。说白了,就是你要从单纯敲代码,变成面试候选人来敲代码了。做好面试官,就是成为技术 leader 的第一站。
当你第一次面试别人的时候,你紧张,激动,甚至小兴奋:被别人面试了这么多次,这次终于可以面试别人了。
然后问题来了:怎么面试候选人,才能更好的挑出我未来的同事,同时高端大气上档次,充分显示我司的水准?
bug 君特意为你采访了一些技术大牛,看他们是怎么面试候选人的。第一个为你带来的是ShowMeBug 的创始人李亚飞的访谈实录,作为10年技术大牛,在大公司待过,创业公司待过,自己连续创业 3 次,他面试人才的经验不断迭代升级,越来越高效和直接。
接下来我们一起看看,他是怎么面试程序员的吧。
(以下bug君根据采访的内容整理而成)
一、小组长如何高效面试未来组员?
我在招聘程序员的路上分为三个阶段。
第一阶段是在大公司。
我在 2010 年毕业去了深信服,进去一两年之后就成了技术leader,开始面试别人,为深信服的高级自动化测试团队招人。
那时候 HR 把简历筛选好,跟候选人约好面试时间,然后通知我去面试,我就去面试候选人了。面试之前,HR会给我一张表,里面有20个问题,我从里面挑选五六个问题,问了之后根据候选人回答来打分。
**面试的重点,不在于快速挑选出合适的人,而是快速排除掉不合适的人。**有些人可能5分钟我就发现他不行了,但是为了估计候选人的面子,HR要求我要面试10分钟,这个时候纯粹就是浪费时间。而且,对于合适的人来说,我多花点时间跟他聊,交流越多越好,对公司来说也不是损失。
所以,第一阶段在大公司,我不需要考虑面试的流程和筛选简历,面试的重点在于快速排除那些根本不合适的人。
二、CTO如何全方位考察技术人员
到了第二阶段,我去了一家创业公司做 CTO,这个时候我要帮公司搭建一支技术团队。
同样还是跟HR配合,我会把我招人的一些要求告诉HR,除了一些学历、工作年限等基本要求,我还有一些偏好:
- 除了主流语言外,会一种 Ruby 或 Python 语言的
- 有自己的技术博客
- 有github
HR根据这些要求去筛选简历,然后我来面试。
这时候面试我有了自己的一些套路。问完自我介绍、项目经验之后,开始针对候选人做过的项目进行深挖。
- 你做的这个项目当时的情况是怎么样的?
- 遇到了哪些问题?
- 你是怎么解决这些问题的?
- 你的反思是什么?
从候选人过往解决过的问题,就能大体看出来他的工作风格。
接下来我会问一些技术基本功问题。
- 你怎么理解线程和进程?如何理解进程描述符?
- 个别的编程语言特性
- Ruby3.0的了解,对未来有什么看法
第一个问题是考察候选人的技术基本功,就像扎马步一样,马步扎得好了 ,出拳才会稳。技术也是一样的,基本功扎实了,才能更好地解决更复杂的问题。
第二个问题就是考察具体招式了,看你怎么用技术来解决具体问题。
第三个问题看的是候选人的潜力,未来是不是有成长性。
所以从这三个维度:基本功,具体招式,成长潜力,来全面考察候选人的基础技术素养。
考察了综合素质和基础技术素养之后,我们来到了最重要的环节:解决真正的工作技术问题。
这个时候我会提出一些我们在工作中遇到的技术难题,看看他的解决思路。很多时候候选人说得天花乱坠,但真正做的时候就不行了,所以我会用 ShowMeBug ,直接秀出我们工作中具体业务的代码片段,根据这个片段来交流。甚至直接让候选人开写代码,看他代码写得怎么样。
三、创业公司怎么招人?
之后我开始创业,就需要自己招人。
最开始一波是从熟悉的朋友下手,基于信任关系,还能找到一起共事的伙伴。再加上我经常在技术社区活跃,也有一定的知名度,所以招技术对我来说相对不难。
但是招其他人员,就得从市场上招聘了。小公司没有HR,需要自己准备工作描述(JD),发到各个平台。这个时候招人难,难就难在候选人爽约率特别高,答应好了面试,结果不来了。
另外,一段时间之后我发现,按照我的要求,非常满意的候选人是少数,所以我不得不放低要求。别的要求放低了,但是最起码招来得能干活啊,所以这时候面试就特别注重实操能力。
那么用 ShowMeBug 在线代码面试就是最高效的。
总结
面试的目的,是为了招到未来一起共事的同事。所以为了更准确地反应候选人在工作中的表现,其实可以把面试当做一场与未来同事的「技术讨论」。
既然是技术讨论,那就得尽量避免应试题/客观题,纯背答案,看不出来思路;而且也没有必要故意打压对方,问对方完全不懂的领域。最合适的是从真实工作情况出发,共同探讨,在这个过程中验证他的能力。
绝大多数人都像我一样,没有什么培训,就被HR抓去当面试官了,也经历了前几次的紧张,然后慢慢形成套路,形成自己的标准。也希望本文在给咱们技术人员在成长的过程提供一点帮助。
最后,我也列一些我自己面试技术人员的问题,供你参考:)
(10题库)