虽然大多数面试问题都集中在候选人的当前知识或检查他/她解决算法问题的技能上,但我想聘请一个热衷于编程的开发人员。
如果不问类似的问题怎么办
您对技术“ X”了解多少?
我将检查与解决软件工程问题不直接相关的知识,但会显示您对IT充满好奇。
例如,如果我寻找一名Java开发人员,我可以询问谁是Java世界上最有影响力的人,或者显示一个基本的Scala代码段,并请候选人解释该代码。
我什至考虑展示Alan Turing的照片,并让受访者猜谁在照片上。这种做法有意义吗?
虽然大多数面试问题都集中在候选人的当前知识或检查他/她解决算法问题的技能上,但我想聘请一个热衷于编程的开发人员。
如果不问类似的问题怎么办
您对技术“ X”了解多少?
我将检查与解决软件工程问题不直接相关的知识,但会显示您对IT充满好奇。
例如,如果我寻找一名Java开发人员,我可以询问谁是Java世界上最有影响力的人,或者显示一个基本的Scala代码段,并请候选人解释该代码。
我什至考虑展示Alan Turing的照片,并让受访者猜谁在照片上。这种做法有意义吗?
Answers:
您所要做的就是请他告诉您他最喜欢的项目之一。在接下来的60秒钟内,您会比他向死者的名人看照片时更多地了解他的热情。
例如,如果我寻找一名Java开发人员,我可以询问谁是Java世界上最有影响力的人,或者显示一个基本的Scala代码段,并请候选人解释该代码。我什至考虑展示Alan Turing的照片,并让受访者猜谁在照片上。
那就是琐事和技术知识。 如果您想了解他们是否热衷于编程,那么您需要以某种方式激发他们的热情,有两种简单的方法可以做到这一点:
如果没有的话,那么您可能没有一个热情的程序员。您可能会遇到一些忙于其他事情的事情-但我敢打赌,如果您未达到其中的某些要求,您将会看到一段历史,或者至少是真正的遗憾。
engage their passion
尤其是询问他们是什么使他们对编程产生了兴趣。我相信,任何热情的程序员都将继续详细讨论这个话题。
engage their passion.
(警告,长篇文章,仅部分话题)
好多年来,我一直在问同样的事情。大约6年前,我试图让招聘人员了解我们的想法(他们只是在您所说的方框中打勾)。
当时我写道:
你像我们一样怪胎吗? (致招聘人员和候选人的公开信)。
我们的文化对我们都很重要,在这里我不是在谈论种族,它是基于背景的,您如何看待您的工作,您打算从工作中得到什么,如何处理工作以及与他人打交道。
我之前曾误以为种族的含义,所以我现在要澄清一下,这不是基于种族的事情,而是一种思维定势和动力的事情。我们与来自许多伟大种族的人们一起工作。我们也认识许多人,这些人显然是毫无用处的。因此,种族并没有完全定义我们要寻找的东西,这是一种“文化”契合度。
澳大利亚境内有许多亚文化,大多数人不会在一起,我想解释一下我们的-极客。
在过去的14年中,我们的许多工作都来自客户,他们需要清理和完成失败的项目,主要是因为公司雇用了错误的员工类型……如果您得到的话,其成本远远超过他们的工资错误。
现在尝试挑选这些类型的人,当我们说“喜欢我们”时,是指:
语言是与我们合作的障碍。我们在这里几乎拥有我们自己的语言,您至少需要英语和一些技术技能以及幽默感。
如果您不了解我们,您将无法掌握所需要做的事情,或者我们其他人将如何实施解决方案……您将不会持久。
您为什么要与我们合作?
现在,您仍然想为我们工作吗?为什么?
结论
我写道,在2004/05年度,我本人进行了约50或60次面试,与14个左右的招聘机构合作,后者将任何人打了勾勾给我。面试的人。
到目前为止,我获得的最大成功是找到了一位了解以上内容背后的含义以及我所寻找的东西的单一招聘人员,并且可以将其筛选出给符合条件的人员。
现在,我有1位招聘人员,我相信他们了解我的业务,了解我的需求,我们每隔一个月吃一次午餐以跟上他的步伐。我放开他,给他时间,并相信他只会向我展示合适的候选人。
招聘是一个特殊领域,当您最终拥有最终决定权时……如果您有钱,那就让有技能的人做他们的事情。
一旦找到人,我就会采访他们,询问他们的经历,兴趣,激励他们的事情,他们所做的最酷的项目,听到他们对以上内容的回答……一旦我确信我会把他们带入在午餐时间与团队进行第二次面试,团队中的其他每个人都向他们提问,并让我知道大拇指向上或向下...然后我们雇用了。
艾伦·图灵(Alan Turing)有点过分,但给我一个有影响力的人的名字听起来不错。如果问我这个问题,我会说,那个人写了Effective Java ...
租用是两条路。您需要首先了解您的人才库。如果您想雇用热情的程序员,则需要先问几个问题。您有令人兴奋的问题要解决吗?其次,您提供有竞争力的补偿吗?
如果实际上不能同时提供两者,那么最好将重点更多地放在技能和专业上。
37 Signals的员工写了一篇很棒的文章,内容涉及雇用优秀的程序员。
您可以阅读该帖子以获取详细信息(这是值得的!),但可以将其大致概括如下:在面试过程中您可以调查并询问一些内容,例如
您可以通过雇用某人参加一个小项目来了解他们的工作方式,从而进一步降低雇用某人的风险。这将向您展示他们如何处理任务,管理时间,沟通等等。
激情的定义在这里很宽泛。我见过几种程序员。我们不能仅仅称他们为程序员。对我来说,我定义了一个热情的程序员,
除了告诉您该候选人的技能是什么以外,如果您关注他如何热情地解决您问他的现实问题,您还可以很好地了解他对编程的热情。并且,如果您问他不同类型的问题解决问题(一些编码问题,一些算法设计问题,一些系统设计问题),您将了解到他最热衷的编程领域。
我建议在软件的《游击面试指南》中阅读Joel,他不仅会告诉您如何找到热情,而且会告诉您热情不是您要寻找的最重要的内容之一-您在寻找“聪明的人” ”和“完成任务”。(他确实提到了激情,但我认为他的意图是,这是您正在寻找的其他两件事的标志)。
在雇用热情的程序员之前,您需要确定您的意思。
当我在程序员中寻找激情时,这与他们在讨论您必须解决的难题时所表达的热情有关。它与足够热情以获取一定的知识深度并加紧解决棘手的问题有关。与他们无关的事情是无关紧要的,或者他们是否可以在工作之外进行编程,或者可以通过查看照片来命名过去三个著名的程序员。
面试时,您会听到他们回答问题的热情。他们比没有激情的人更深入,他们往往对自己的话语充满热情。他们了解他们一直在进行编程的业务领域,并能够谈论他们如何解决问题以及在工作中提出了哪些建议以改善编程过程或设计应用程序。他们谈论重构和设计模式,而无需专门询问它们。
当他们谈论自己的成就时,他们谈论的是模块基本编码之外的事情。他们谈论如何看待设计中的问题并进行重构,或者谈论如何找到一种新技术来解决难题,并满怀热情地谈论。一个有激情的人很难闭嘴。他们真的很想描述自己的成就和未来的目标。他们可能有他们想提供的工作,而目前的工作却没有。他们显示出技能和工作复杂性的增长模式。
问一下他在业余时间做什么,这是否是他个人项目的编码和工作,这无疑是一个热情的程序员的标志。并非所有热情的程序员都在空余时间进行编程,但是大多数这样做的人都是热情的
另一件事是让他估算自己编程所花的时间,时间越长越热情(根据年龄进行调整)
PS。我并不是说您应该花费所有时间进行编码。您需要生活,嗜好等。但是,我们的确倾向于将时间花在自己喜欢的事情上(花时间在配偶和孩子身上是可以接受的:),因此投入额外的时间编码是一个很好的指标DS。
...是的,你热情的程序员可以拒绝我想要的一切;)
DS
在面试之前,您可以通过简历来区分一个热情的开发人员与其他开发人员之间的区别。热情的开发人员谈论他们做了什么,其余的谈论他们如何做。热情的开发人员列出了他们的博客,个人项目等,其余的则没有。
我的经理坐在我的前几次面试中,当我甚至在面试中甚至没有筛选技术候选人时,我的经理几乎都陷入了困境。后来他问我为什么跳过它。“我已经在他的博客上阅读了他的代码,我知道他可以编写代码。”
在面试过程中,有一个问题可以确定对某人的热情“是什么让您进入了技术领域”,您可能会不得不缩短热情的开发人员的时间,因为他们在第一次使用计算机,编写程序以及依此类推。我发现自己在听到其他人的回答时不得不窒息打哈欠。
最后,在我的技术屏幕上,首先提出了一个问题,一个充满热情的开发人员可能会被冒犯(我也以此为开头),而一个非热情的开发人员可能会正确回答其中的一些甚至全部;热情的开发人员会哄骗他们,就像他们备有备忘单一样。
我的偏见是聘用一个经验丰富的开发人员,而不是经验丰富的开发人员,因为他们不愿意学习和成长。一个简单明了的事实是,技术变化太快,以至于无法聘请那些不了解即将到来的趋势而又不需要工作的人。
我完全承认这不是傻瓜。由于我的方法,一些高素质的人才可能会从我的手指中溜走。我知道有些人技术娴熟,但是在5岁时就开始使用计算机。另一方面,热情的程序员经常给我留下深刻的印象,无论多年的经验如何,我很快就会发现,我从他们那里学到了很多东西他们来自我。
这里的所有好答案-我要补充一点,我经常问候选人是否曾与其他人的代码打过交道(有时刚从大学毕业就没有这样做过),如果是这样,他们对那个旧代码最大的恐惧是什么。有时,它们会脱口而出并描述不良模式以及如何解决它们。我认为这是一个好兆头。其他答案可能表明您是一个非常悠闲的程序员,或者是一个学究的人……您可能想要或不想要的东西。