2006年开始参加工作,从编码,到带人,再到设计,自己不知不觉也走过了许多个年头。在公司从外包,到国内前后也参加了十多个不同的项目,每年都会有一些新的同事加入项目组,总会有这样那样的疑惑和问题。最近一直在充当面试官的角色,所以这里想简单说说,一个新人如何能快速的融入到一个新的开发小组,并且让其他同事都能够接受自己。
当你作为一位新同事加入某个项目小组,或者转换到一个新的项目小组时,总会感觉到手足无措。当然了项目老大是不会让这样的你去完成一些复杂模块的开发工作或者修改一些相对复杂困难的bug,基本上都是先分一些界面上的小改动,或者是让你开发耦合程度低一些、相对独立一些的功能作为练手,这个时候作为一个新人就要尽快的掌握整个项目的大概,然后泛读一下项目的重要文档。如果要开发某个业内标准的实现,那这个标准的相关文档至少要通读一遍,不需要投入很长时间,可以快速掌握一下大概,做做简单的笔记,不懂的地方先记下来以后有空再说。读文档不要作为一个整体任务完成,可以用一些零碎时间来读,以免很长时间没有什么进展,让老大看到了还以为你在磨洋工呢。
工作中要找到一套适合自己的工作习惯。
事项一,虽然现在有很多这样那么的工具软件,但是一支笔、一个本子仍然是最方便、最快速、最实用的学习工具。本子里写一些项目开发的心得、文档书籍的感受、领导指示的一些开发问题等等,不需要有什么文章格式,先写下来就可以了。如果是第一次进入公司,老大会分一个任务作为对新人水平的考察,就好比新手任务。但是要注意应尽量赶在期限结束前完成所有的编码和单元测试,而且最好完成代码清理和代码注释工作,注意命名规则,这样看起来比较专业一些。
事项二,新到一个项目组第一个需要了解的就是这个项目什么时间结束,这样心里比较容易对进度有个估计,免得最后无法完成任务。一般来说,估计一个大概的编码时间,然后把估计时间乘二,留出一定余量比较好。当接到一个新任务,必须要做的就是理解需求。一个开发人员如果不理解想做什么,基本上这个任务一定会失败。我们高考时候都会写一篇大作文,对题目的理解非常重要,偏题跑题就没法拿到理想的分数,开发也是如此。对需求的理解需要反复的进行,定期和项目组领导或者客户进行沟通,以免自己做了无用功。但是沟通之前一定要注意,自己先掌握一定的背景知识,比如前面提到的规范文档,或者是读一读已经有的代码,跑一跑成型的产品,免得问的都是不必要的问题。
事项三,工作中如遇到一些问题,再提问之前,自己先试图看看能不能找到答案,寻找顺序是项目文档、百度,最后才是张嘴问,问之前最好已经积累了一些材料,比如关于这个问题自己做了什么研究,搜索了什么关键字等等,这样问的有诚意,回答才能有诚意。另外,对于一个新人,需要多跟老同事沟通,了解项目的关键点是什么,比如开发一个功能,用了什么方法或技巧,哪个文档需要精读,都是非常有意义的问题,这些问题可以让你少走一些弯路。早上到了公司,第一件事是接收邮件,然后记下一些需要回复或者要做的工作。邮件阅读以后,可以跟项目老大做个简单的沟通,了解一下哪个任务或者功能需要快一点完成,交流一下自己的想法,时间花费不多但是可以把一天的任务明确下来。
事项四,如果你比较努力而且有一定的开发能力,两三个月以后应该开始接触到项目一些比较核心的东西了,这个时候需要做的工作就是读代码。一个项目最重要的东西就是代码,至于文档、注释、测试,其实都是保证代码质量以及代码可维护性的一种辅助手段,作为一个开发人员,不熟悉代码就是致命的错误。读代码要注意的第一条是从界面开始,深入到功能。读代码的时候注意要随时做笔记,可以用Word或者是Execl这样的软件做记录。阅读代码的同时还要经常问自己一些问题,比如这个地方为何这样实现,有没有其他的方案,哪个方案更好一些等等。这些问题可以让自己更好的理解当时开发人员的一些想法思路,另外也是将来代码进行重构的一个铺垫。
最后希望每个入行的新人都能成功晋级成为成手、高手。