软件项目经理都知道,项目的成功取决于拥有出色的开发人员。你如何识别千里马呢?面试新应聘者前,和最好的开发人员交谈一下。让他们重申一下所需要的具体知识。具有特定开发生命周期的经验、掌握具体方法或重要工具箱,以及拥有某方面领域知识(比如国防工业或制药行业),这些是开发人员最好具备的条件还是必须具备的条件?
要对其知识进行评估。你应和可信任的开发团队代表共同参与面试,还要附加理论测试。一个优秀的软件工程师能够立刻修复“模拟”的语法错误,并且不会精神紧张。他不需要看大量文档,也无须逐字阅读就可以看懂别人的代码,了解它的意图。当面对有问题的程序时,应聘者应该能够迅速找出问题,然后既能以“极客开发人员”的语言也能用非IT 背景的利益相关者能听懂的语言描述它。我们招聘编程技术人才时都认为其技能“越多越好”。但是我们如何界定“多”?尽管应聘者可能拥有丰富的知识,但是这个人可能还没有掌握有效应用它的技巧。在面对真实世界苛刻的项目时,一个刚毕业的大学生或刚培训过的开发人员,想要使用从课本上学到的理论知识时会很吃力。当最后期限一步步临近,所剩时间无几,而客户和其他利益相关者又施加了强大的压力,你除了有基础知识之外还需要足够的经验。
你和你的团队应该要求应聘的开发人员编写一段代码供你们审读。在分析了代码,并且与你信赖的开发人员讨论后,你才会知道这个人的方法和风格是否适合你的团队。还要考察应聘者对待工作、同事、客户和利益相关者的态度。我曾经和一个被称为“吹风机”的开发人员共事。传说当他感到不满时,他就会用他的大声吼叫吹干人们的头发。他是一个优秀的开发人员,但是对于整个项目团队而言,他却是有害无益的。
编程世界正朝着敏捷开发方向发展,跨职能沟通和软技能将越来越重要。开发人员将会与公司中其他部门的人组成小团队一起工作。你未来的新队友若总是处于不受控制的自由状态,你跟他合作还会顺畅吗?招聘软件开发人员时需遵循以下简单指导原则。
审查他们是否掌握开发生命周期的正确知识、方法、工具,以及z 他们对所在行业(领域)的熟悉程度。考察他们在工作环境下应用知识的能力。测试他们的沟通能力和社交技巧。寻找对工作有正确态度的人——既渴望创造出高端产品,又能接受项目的限制条件。是否有证据表明他们能及时且在预算之内生产出“切合意图”的产品?
不管你的应聘者多么有风度而且多么懂技术,都要始终核实发证机关的资格证书和前任雇主的履历条目。聘请阶段小心谨慎可以防止未来很多问题。
摘自图灵教育即将出版的《项目经理应该知道的97件事》