我到目前为止已经面试了很多工程师了。我越来越感觉到我对于招聘的最初的那些想法都是错的,例如简历。以前,在面试之前,我总是会仔细的阅读简历。我会查看候选人的过去经历,他们的技能还有兴趣爱好。但是随着时间的推移,我发现,简历是很危险的。
我经常在看简历的时候想“这哥哥很牛,看看他的经历,明显他精通 Ruby 和 JavaScript,面试也许就是走个形式”。但是当真正面试的时候,我发现这哥哥几乎不会写代码,分不清变量的作用域。最终的结论是,简历和面试结果关系不大。
简历最多可以让你知道该问候选人什么问题。但是简历也会让你误以为你很了解候选人,包括他的能力。
确实,简历是很多公司解决大量招聘的途径。但是我认为针对工程师的招聘,我们可以通过代码的形式来解决。代码能够过滤掉很多不合适的人员。让工程师面试工程师也可以提供很有有用的信息。
我现在看简历的***件事情就是 GitHub 链接。如果我能找到 GitHub 链接,我就不再继续看简历了。我会开始阅读代码。虽然开源的代码不代表全部,但起码是个切入点。我花五分钟的时间阅读候选人的代码,我就对这个人的技术水平还有编码习惯有了一个大致的了解。在面试的时候会顺利很多。
当我和候选人交谈的时候,我们会聊他的代码。我会问一些问题,有关他们为什么要这么写代码,背后的原因和逻辑。整个面试都是在讨论代码和编写代码。这才是软件工程师每天的工作,这才是重要的内容。
我想要雇佣一个我愿意共事的人。我想要雇佣比我优秀的人,我可以向他们学习的人。
招聘是一个公司最基本的工作。Valve 的招聘手册:
把招聘工作做好是世界上最重要的事情。没有任何其他事情的重要性可以和它接近。它甚至比呼吸还重要。下面是一些我在评估候选人的时候会问的问题;
- 我可以接受这个人成为我的老板吗?
- 我可以从这个人身上学到很多吗?
- 假如他为竞争对手工作会怎样?
我的经验是评估候选人,而不是简历。在面试过程中注重那些解决常见问题的代码。还有,雇佣比你优秀的人。