这两天一直在考虑一个问题,在公司表现不错,基础知识扎实的实习生,每天马不停蹄地编码,完成任务,怎么提升自己的能力呢?
首先分析一下,不停编码的原因:
1.业务不熟悉,导致在开发的时候需要深入去了解业务,导致技术和业务之间不停地切换,降低开发效率;
2.设计不合理,不合理的设计加上紧迫的开发时间,导致代码质量从合乎规范到冗余到混乱不堪,逐渐沦陷为自己眼中的“垃圾代码”;
3.不够专注,一天时间其实不多,程序员最怕的就是开发的时候,突然有个啥事叫到,然后花了一大片的时间,最后得知是操作人操作失误,或者是一个优先级并不高的东西;
4.任务真的重,真的多(一般情况很少啦, 如果是真的每天都是拼了命写都写不完,那刚开始的计划排了还有什么作用呢?)
分析完原因之后,定位一名程序员实习生或者刚刚工作不久,常思考工作层面的程序员:
业务方面的问题,有这个一个现象,大多数的程序员都有一个想法,“我只做技术开发”,我对业务不需要有太深入的理解和渗透,可是优秀的架构和设计编码总是服务于业务的,脱离业务技术就失去了意义。而且熟悉的业务能够让你在编码的时候考虑更加全面,在设计程序架构的时候能够规避风险和评估影响范围,有这么一种情况,就是不熟悉业务的程序员,可能连自己的代码犯了很明显的错误之后,他是完全不知道,这想当于这位程序员开发的代码就是“三不管”地带了。
设计,对于刚刚入门程序开发的人来说,总是觉得编码比设计总要,先实现了再优化设计,再改造,好的设计就像建筑打地基,代码结构初期没有详细的设计就投入开发,后面很容易就遇到需要将前面翻新从来的噩耗,所以将设计修改(即使是自己的小修改)都应该归入设计不合理,需要反思的地方。代码编程,设计先行。
专注,互联网公司一般是大而宽敞的空间,这给团队交流带来了很好的推动力,但是带来的是一个专注度的问题,一个线上问题来了,推到开发程序员的手边,客服说是十万火急的事情,然后开发就抛下手边的开发到一半的模块,然后投入线上问题的修复,2个小时之后,问题修复,回来自己的代码,又需要很长的时间去重新思考设计,重新融入编码的氛围。
一个真正好的程序员,肯定不是在编码上出色,他是将技术和业务深度结合,编码计划合理,设计规范的good coder.致所有正在加班的你,将眼睛闭上,思考自己是怎样的一种处境,怎么让自己提升而不是成为01世界里面的廉价劳动力。