下面逐一分析这三点:html
遇事追踪溯源,不惧怕改已有的代码程序员
新人一般会重新加一个类似的功能或者修bug开始逐步熟悉原有的系统,这时不管原有的代码写的怎么样,都应仔细的思考每段相关代码的做用和对应的需求,努力作到追踪溯源,掌握它们的前因后果,这时再作task就会游刃有余,在作类似功能时,你知道哪些地方已经实现能够复用,哪些地方由于新加的代码应该作些重构。面试
修bug时,你能够从根本缘由出发,解决问题,而不是在出现问题的地方修修补补;更重要的是你不会打怵修改原有的代码而蹑手蹑脚。固然一旦发现要修改大段的原有代码或者设计,仍是要主动和老员工先确认下思路是否可行,是否有遗漏的地方再开始。但不出意外,你会一会儿就给别人留下一个好的第一印象,由于你没有在机械的完成任务,而是先作了深刻思考。工具
写到这里不由想起,本身刚工做时改了一个bug,当时的作法是在建立一个文件的代码以后3行再把这个文件删了,只加了一行代码就修好了,发给老员工review时还在窃喜本身只改一行代码就解决问题了,结果老员工一句话就把我问傻了,前面的那个文件为何要建立呀?我固然不知道了,由于当时我想原有的代码我不熟悉就最好不动。因而,那一刻我获得了工做生涯第一个重要的建议,应该找到根本缘由(root cause)后再修改代码。这时你不只能够作好手中的任务,还能进一步思考问题是否是代码设计不合理形成的,同时不会怕改已有的代码。单元测试
在保证编码正确的前提下,要足够快学习
新人在作第一个任务时都想留下好印象的,首先要作的就是必定要保证修改是正确的,这里不只局限于正常状况下功能正确,还应考虑边界条件,错误处理状况等等,最后再提交代码时要最终确认一下单元测试过不过,提交代码后再注意下Jenkins bulid过不过。这一切都是为了防止出现如下状况:测试
别觉得这些都些小事,它直接关乎别人对你的评价。不犯低级错误,创建起严谨的印象,是很是有助于你在新环境下脱颖而出的。网站
试想一下,你持续超出别人的预期,并保质保量的完成了task,哪一个领导和同事会不喜欢你呢?千万不要狭隘的以为本身作的快了要多作事,何苦呀。也许短时间内你多作了一些本来没分配给你的任务,但你在别人心中逐步创建起严谨高效的印象,从长期来看将给你带来更多的机遇(本人就是所以受益)。ui
主动承接他人不肯意作的或者没作的事编码
逆向思考下,人家为何招你进来?相信绝大多数状况是事情多作不过来,缺人了。事情多了必定有老员工不肯意作,或者由于各类缘由没作的事。做为新人,作了别人不肯意作的事能够缓和他人的压力;作了别人没作的事,将为团队增长产出,若是这件事仍是一个技术难题,那不是正好可让别人眼前一亮,证实本身的实力吗?
其实关于这一点,在作的时候要进一步深刻思考。别人为何不肯意作或者没作某些事?是由于缺少相关知识而没有作?仍是由于没有自动化每次手动操做既耗时又容易出错?是由于优先级不高?仍是由于投入产出比不高?是由于代码结构不合理致使没法快速加上?仍是由于需求不明确?是否是团队里的人由于思惟定式错误估计了问题?是否是能够从其余的角度解决这个问题?要深刻思考后,才能从根源入手,从而正确的解决问题。切记不要机械的完成任务,要努力让你的加入使团队变的更好。
本身在第二份工做的开始阶段,就发现团队尚未使用持续集成的工具在统一的环境下交付测试,测试还在经过访问开发机器上的网站验证功能,结果开发之间互相break状况常常发生,项目质量也没法保证。询问后才知道,你们也很但愿改进现状,只是由于一些缘由无法获得系统组的支持,组内也没人来搭建持续集成的环境。
因而我利用一开始相对轻松的时间,使用teamcity搭建出持续集成的环境,一时间你们都纷纷叫好,加上本身又接连解决了项目中一些棘手同时没人作的问题,一会儿就树立了可靠的形象和在团队里技术主力的地位,慢慢的即便是公司中其余组没合做的过的人也对我评价很高。我本身琢磨出的缘由是团队里缺能干活的人,但更缺能让团队变好的人。
其实巧的是,如何使用teamcity搭建持续集成环境是我在第一份工做离职交接时主动作的最后一个task,由于当时有个小项目是我独立负责的,我想在交接时让项目更正规些,就主动提出这个想法,虽然在离职的前天晚上还在加班调试,当天上午还在和同事讨论一些细节,但就是这主动多作学会的技能成了我在第二份工做里出色开端的重要一环。
以上内容是一位老司机结合本身的实际状况和贴身经历,为你们给出的适用性较强三点建议,做为程序新人的你,不妨试试看,固然实践并不像说得这么轻巧,可是脱颖而出原本就是少部分优秀的人才能作到的事情。
相关阅读
本文转自:软件开发学习资讯