选人的条件很多,终究要有所取舍面谈前的测验、面谈本身究竟应该扮演什么角色,以及从什么角度切入来和面谈者互动,话说回来,终究还是跟你想寻找什么样类型的程式设计人员有关。
在此之前,其实我们没有谈到设定用人的对象。但总要决定你要找什么样子的人,才知道应该如何跟他谈。所以在讨论面谈的过程之前,先让我们来看看你可能会怎么决定你的目标对象,以便决定该如何进行面谈。在考虑招揽新的人手进来加入团队时,你必须先设定好目标对象,你可能会考虑到以下几个因子:(1)对特定语言的熟悉程度(2)对特定领域知识的熟悉程度(3)学习新事物的能力(4)独立解决问题的能力(5)沟通协调的能力(6)对软体工程的熟悉程度(7)电脑科学背景知识的熟悉程度(8)对软体开发、程式设计的热情(9)有多聪明。你可能会同时列下很多重要的因子,但是完美的事物终究是不存在于这个世间的,完美的人才也未必会投履历到你这儿来,所以在不可能满足所有条件的情况下,必须有所取舍。
与其寄望新人什么都懂,不如著重对方是否具备快速上手的能力
许多用人单位主管,换句话说,也就是开发团队的管理者,会将(1)对特定语言的熟悉程度和(2)对特定领域知识的熟悉程度,摆在最优先考量的位置上。这并不是说不对,而是这两件事情,有时候反而是比较容易解决的。什么意思呢?如果你的应征者满足其余的条件,但是就是不熟悉你们正在开发的专案所用的语言,其实考虑录取他,请他快速学好目前正在使用的语言,或许是一个比较好的选择。领域知識亦同,例如你们正在开发一个视讯解码的程式码,与其计画找一个对此视讯解码相关知识已经十分熟悉的人,或许找到一个其他方面都够水准,可以很快学会该视讯解码知识的程式人,还会来得比较快。最近我们找了一位学校刚毕业的新人加入我们的团队,他完全不会Java,也没有Web程式设计的经验,不过我们还是顺利让他在报到的一周内开始上工,开始撰写Java-based的Web应用程式。我们的目标并不是要找一个十分熟悉Java程式语言的人,而是在一开始便能够快速适应,然后投入开发的人。这样子的例子说明了,其实并没有必要在语言是否熟悉上,做太多的限制和考量。你只需要考虑,他能不能很快上手。这也就是上述列出的各种考量因子里会有「学习新事物的能力」这一项的原因。说实话,一个开发团队想要招揽新人手,无论如何,找进来的人,总是会有各种可能不熟悉的事物。想要找一个一进来就每件事情都懂的新人,应该是非常的困难,所以,「学习新事物的能力」就很重要。与其寄望他一进来就什么都懂,不如期望他即使不会,也能很快学会。而且,更重要的是,软体开发本来就是一个多变的行业,即使一个人熟悉你们现在做的东西,或许到了明年,你们要开发的东西不同了,要用到的技术也不同了,甚至是全新的技术时,是否具备「学习新事物的能力」就很重要。