http://blog.csdn.net/happydeer/article/details/17023229
最牛B的编码套路
今天无意中找到这个作者的博客,写的很好,不愧是爱奇艺的研发总监。其中,这篇文章,我很赞同,也是一直在困扰我自己的事情。在过去的几年里,我一直努力的工作,加班,带项目。但是,却没有很好的结果。
1. 项目是做了一个又一个。但是,积累的客户却没有。当然和公司的自身的策略有关。但是,有一部分,自己注意的到的是,我自己在维持客户关系上,没有太多的进步。-----在最近客户也有联系我,寻求我的帮助。从侧面是不是也反应了,过去的工作,还是得到了认同的?
2. 项目的积累太少。期间,做了几个系统,包括手机端和服务器端。手机端积累了一些自己的组件库,提供重要的平台功能。但是服务器端,没有太多积累。但是就是在使用springside平台。这个平台,已经提供了一些基本的功能。
3. 尤其是自身,因为管理的事情多了。代码写的少了,技术方面的事情做的少了以后,的确是不太好找工作。这个是一个不好的结果。
这篇文章,刚好在解决我最近的一些困惑。时间过去了,但是自己却提高很少。羽毛球打了很久,却提升很少。和专业的选手相比,的确缺少的是专业的训练,有针对性的训练。做技术,做管理也一样。管理,需要提升的多是软实力的东西。自己可以有选择的来提升。
1. 与别的程序员交流。读别人的代码。这比任何书籍或培训课程都更重要。 ---------这个可以有。
2. 动手写程序!最好的学习方法就是边做边学。-------这个,还需要整理一下。
3. 在本科或研究生的课程中学习编程课程。-----忽略
4. 找一些项目来做,并且需要与其他程序员形成团队来合作。在项目的进行过程中,学会辨别最出色的程序员以及最糟糕的程序员。------这个,已经能识别了。好的程序员,会真正的解决问题,提出合理的解决方案。糟糕的程序员很会写代码,但是不考虑维护和复杂度。
5. 在项目中跟随别的程序员一起工作,了解如何维护那些不是你写的代码,并且学习如何写出利于他人维护的代码。-------这个收获已经很多了,曾经维护了近一年多的代码,看了很多的代码。利于他人维护的代码,就是简单的代码。
6. 学习多种不同的编程语言,特别是那些与你现在所熟悉的语言有着不同的世界观和编程模型的。-----恩,这个是要改进一下,学习perl,python等。毕竟服务器的环境都是linux的。
7. 了解硬件对软件的影响。知道你的电脑执行一条指令需要多少时间,从内存中取出一个字(在有缓存或没缓存的情况下)需要多少时间,在以太网(或者因特网)上传输数据需要多少时间,从磁盘中读取连续的数据或者在磁盘上跳转到另一个位置需要多少时间,等等。 ------需要学习。