老资格的软件开发设计人员经常被要求帮助那些没有什么经验的新手。但是,如果这名软件开发方面的新手在此之前没有任何的技术开发背景的话,这个任务就变得相当艰巨了。
作为要帮助别人的人,你所扮演的是一个非常关键的角色。这是由于你所做的一切将决定这名技术开发方面的新手是否能够走上正确发展的道路。对一名缺乏经验和背景的软件开发新手来说,最需要的就是你的耐心以及丰富的专业技能和经验。在指导这些新手的时候,你不但需要检验什么是他们已经知道的,而且还需要让这些新手掌握他们以前并不知道的内容,并且要为这些人选择合适他们的项目。
训练的开始
有这样一种典型的情况:项目经理告诉你,桌面支持小组的Alex将会加入到你所领导的这个开发小组。之前,Alex已经有了在桌面支持小组中超过两年时间的工作经验,但是他希望能够变化一下自己熟悉的工作,于是就决定把发展方面转移到应用软件开发的领域中来。部门经理希望你能够帮助Alex进入这一领域,帮助他学习如何成为一名软件开发设计人员。在加入到你的小组之前,Alex将会参加一个为期一周的培训课程,这个课程能够帮助他熟悉一下你所领导的小组所使用的开发语言。
你必须首先了解这名新组员的一些情况。可以通过向他提出如下的问题来掌握这些情况:
他对操作系统熟悉到什么程度?是否能够自己解决一些操作系统或软件方面的问题?这些问题在让他调试程序或者面对软件开发所遇到的问题的时候能够有所帮助。
他对产品的认识程度达到了一种什么样的层次?如果他已经和客户一起工作了两年的时间,他应该对客户在使用这些产品的时候会经常遇到什么样的问题能够有比较全面的了解。
他还需要学习有关软件开发的哪些方面的概念?举个例子来说,他在加入你的团队之前所接受的为期一周的培训中应该涵盖必要的相关概念。
在这种情况下,Alex在正式加入你的团队之前必须先参加培训课程。我们非常推荐在新手加入团队之前一定要参加必要的培训课程;这是让这些新手能够了解软件开发所需要的基础与知识的最佳方法,而且可以避免对你团队的工作产生影响。你可以在通过下面这些方法来更好的帮助这名软件设计新手:在他正式参加培训课程以前,应该和他一起讨论并浏览一下课程的内容。一定要向这名新手明确的指出培训课程的哪些部分对于将来参与工作是最为重要的。这么做的目的是为了让这名软件设计方面的新手在参与培训课程的时候能够更好的抓住重点,以便他在将来正式加入到团队中之后能够更快速的掌握各种要领。在经过这种交流之后,应该可以对这名新手现在的水平有了一定的了解,并且可以对他在参加完培训课程之后能够达到一个什么样的水平做到心中有数。
为新手确定第一份任务
新手所接受的第一次工作任务是非常重要的,所以,一定要选择合适的项目来让他完成。就第一次工作任务来说,你所选择任务的类型以及你如何帮助这名新手完成这个项目,都会影响这名新手对这份工作的感觉。
一定要在这名新手正式加入到你的团队中来以前就为他准备好一份合适的工作任务。这么做是为了让这个新来者能够快速的开始工作,也能让他更快速的融入到团队中去。我喜欢让新手们完成这样的工作,比如说让他们把新功能添加到已经准备完成的软件程序中去。这样的做法能够给这些新手们带来以下的好处:
如果让这些新手独自完成编制整个软件程序的工作,通常他们都会因为进展缓慢而对这份工作充满了挫折感。如果只让他们往现有的软件程序里边添加功能则会容易的多。
这些新手可以通过完成这样一件工作来学习资深的软件开发设计人员是如何去解决实际问题的。
这些新手能够通过这样的一份工作接触到优秀的程序编码范例。
如果