作为一名项目经理,我的工作就是要确保项目保持正确的路线,所有的团队成员都具有生产力。在最近的一个项目中,一个缺乏经验的初级开发人员被一段有关文本值的代码搞的几乎疯狂,他的耐心在几个小时之后被耗尽,所以他找到有经验的开发人员寻求可能的帮助。那个有经验的开发人员建议他使用常规表达式来解决问题,对于Windows的开发人员来说,常规表达式是一个相对较新的理念,但是在UNIX和其他的语言之中它已经存在很长时间了。这样,问题很快地得到了解决,同时这个年轻的程序员获得了一份在今后可以不断重复使用的有价值的经验。虽然缺乏经验的初级开发人员可能会对团队产生不利的影响,但这种类型的指导对于初级和高级开发人员来说都是很有益的,它使得初级开发人员可以得到学习的机会,而且如果问题在富有经验的团队成员的协助下很快得到解决的话,这对项目工作也是很有益的。因此对于经理来说,在团队之中强调这种类型的沟通是至关重要的。
最后要考虑到的一点就是对应聘者的文凭简历进行检验以防止那些新手用很多的工作经验蒙混过关。我已经讨论过我对经验的看法,但是你会相信一个人说他使用过Java,C++和Ada进行开发工作吗?我说不会,但是也许你并不赞同(而且这个人最终没有获得这份工作的话你会很遗憾)。开发人员通常都喜欢对那些应聘者进行测验,因此你可以问一问你的员工是否有可能进行一次团队面试。此外,这里还有各种的在线服务可以帮助你对应聘者进行测试,Brainbench是其中最流行的。你还可以接受一些认证来代替实际的测试,不论是测试还是认证,它都可以衡量出应聘者对于给定的技术环境的熟练程度。
说到这里,你可能会纳闷那些缺少经验的人怎么才能被雇用呢,对于他们来说,在开发团队之中是存在着机会的。理想地来说,一个项目是由富有经验的领导者带领着的新老开发人员的结合。通常的情况是项目中由富有经验的人员担当技术主管,经验较少的开发人员从这个人这里得到指导(包括技术规格和设计等方面)。这使得新的开发人员可以依靠有经验的开发人员而获得帮助。
组建一个项目团队或是向团队之中加入新的雇员(或是顾问)是一个很耗费时间的过程,而且对于每一个公司组织来说都是各不相同的。富有经验和缺少经验的人员结合在一起可以产生很好的结果,但是对于时间紧迫的项目工作来说就需要让那些了解情况的人来完成工作,因为你负担不起时间的损失和工作之中的培训。最后我要说的是,与那些缺少经验的人相比,富有经验的个人对于团队来说更加具有价值。