导读:作者侯伯薇CSDN博客中写了一篇《程序员应知——循序渐进》,在他看来,想成为一名优秀的程序员要脚踏实地的,一步一个脚印,逐步提高,切忌不可一蹴而就。

以下是文章内容:

作为程序员,我想每个人都对于提高和进步非常渴望,也期望自己有朝一日能够从菜鸟变成大师级的人物,能够做出很棒的系统,能够得到他人的尊敬和赞赏,当然还可以得到不菲的收入。

然而,想要达到那个层次,不可能一蹴而就,必须要踏踏实实,一步一个脚印,逐步提高。这在每个行业或者说每个人的成长过程中都是一样的,所以我们必须要把握每一个提高的机会,从一点一滴做起。古语云:不积跬步,无以至千里,道理也是一样的。

前几天一位医学专业的朋友谈到了医学上的微创新,他说,如果看医学上一两年的发展,似乎没有什么特别大的进步和创新,但是,这并不意味着医学上没有进步,当我们回头看十年前,再与当前的情况作比较的话,就会发现已经有了很大的创新,而这些创新并非是一下子就出来的,而是经过十年来一点一点的微小的创新积累出来的,其实也就是一个量变引起质变的过程。

再说一个程序员会非常熟悉的例子,大家一定都玩过游戏,比方说《暗黑破坏神》《魔兽世界》等等需要打怪升级的游戏,里面的设定并不会让玩家一下子从菜鸟成为超级高手,那样游戏的趣味性就大大下降了,玩家必须通过不断的积累,累计经验值,然后在一定的时候升级,在到达一定的级别的时候才能够学会某种技能。其实在这里面,每一次小的升级都可以对应行业中的一次微创新,而学到指定级别下的技能,则可以对应一次变革性的创新。

类似的例子举不胜举,只要稍微注意,就能够发现。

然而,作为程序员,想要成为高级程序员,想要获得架构师、系统分析师、DBA等等诱人的称号,有时候却会比较急躁,在自己的能力还没有达到的时候,就匆匆上马,接受自己的能力范围之外的工作,就为了那个“名”,结果却往往会得不偿失,一方面有拔苗助长的嫌疑,另一方面对于项目也是一种损害,做出了不好的架构,系统分析不到位而导致客户不满意,诸如此类的情况,在我们身边相信大家都见过吧。

所以,想要真正做好项目,做好程序员,我们还是需要循序渐进,然而到底应该怎么做呢?我的建议,仅供参考。

对于刚刚踏入软件行业的同学来说,当然就是多多编写代码,在参与的各个项目中学习并且积累经验。在这个阶段我们会感觉进步非常快,很快就感觉可以做很多具体的工作了,个人也会非常有成就感。但是,此时千万不可被胜利冲昏了头脑,不能觉得自己已经再也无法从项目中、从团队的成员那里学到东西了,觉得项目离开自己就做不下去了。相反,这个时候应该继续保持低调,以空杯子的心态努力学习更多的知识。

做了三年左右的程序员之后,我想大家都会有一个飞跃,积累出来的经验得到总结,也有了自己的思想,这个时候,很可能项目中所能够学到的东西已经无法满足需要了,所以就要找寻其他积累经验的方式。当然跳槽、换项目是一种方式,而另一种方式就是多多从各种渠道——包括网站、书籍等——学习知识,了解行业的动态,另外还要多多与其他人交流,那样会产生很多想法,从而更好地引起个人的思考。

到了七八年或者十年左右,可能会迎来另一次飞跃,做过的项目很多,积累的经验很多,思考的成果也很多,真正形成了自己的风格和思想,这个时候仍然不能放弃学习和交流,而另一方面,思考会变得更加重要,并且也是要确定自己发展方向的时候了。到底是做项目经理,还是架构师,还是系统分析师,或者DBA等等,在对自己有了比较清醒的认识之后,就可以确定自己的目标了,然后就要为之做各个方面的积累,准备迎接下一次质变。

上面的内容仅仅是我的建议,时间的长短和具体的做法会因人而异,在以后的我也无法给出建议,毕竟我也还在等待下一次升级。我想大家所要了解到的就是不能放弃学习和提高,而要不断进步,那样经过一段时间之后,一定会有变化的。

其实我们在工作的过程中,循序渐进不仅仅体现在个人的成长上,对于代码的修改也一样,特别是对于遗留代码,想要完善的时候,也需要使用循序渐进的方式。

之前曾经看过对于系统是要重构还是重写的讨论,更多人倾向于重构,毕竟那是一种循序渐进的方式,不断地对代码进行修改,质量一步一步提高,形成一定的积累之后,就会发现代码的质量会发生很大的改变。而重构本身,也提倡小步前进,道理是相同的。

如果进行的是重写,则进行的是一种革命式的修改,然而,一切重头开始,不可避免会因为没有积累,而导致所要耗费的人力物力财力都非常大。

总之,作为程序员,应该了解到这个很重要的原则——循序渐进,也希望能够听到大家的想法。

原文链接:程序员应知——循序渐进

【观点】程序员应知——循序渐进相关推荐

  1. 程序员应知——学习、思考与分享

    有人说,程序员是个苦差事,一辈子总是要不停地学习,学习新的技术,学习新的架构,学习新的工具,一旦一段时间不学习,就会发现其他人嘴里冒出来的新鲜词,自己已经搞不懂是什么了. 的确,作为程序员,学习很重要 ...

  2. 程序员应知——破窗与童子军军规

    首先让我来解释一下这两个词,尽管看起来二者之间没有什么必然联系. 破窗说的是,一个小区,本来干净整洁,没有犯罪事件,大家安居乐业.然而,忽然有一天,一个窗子被打破了,但是没有人管.接下来,不好的事情接 ...

  3. 转载:程序员应知——团队精神

    转载:http://blog.csdn.net/lingyun2005/archive/2010/08/09/5797890.aspx 程序员应知--团队精神     写在前面:前几天终于看完了< ...

  4. 程序员应知必会的思维模型之 18 林纳斯定律 (Linus‘s Law)

    林纳斯定律 (Linus's Law) 足够多的眼睛,就可让所有问题浮现.–Eric S. Raymond 简单地说,能够看到问题的人越多,有人解决过相关的问题或事情的可能性就越高. 最初该定律是用来 ...

  5. 程序员应知必会的思维模型之 21 墨菲定律 (Murphy‘s Law / Sod‘s Law)

    墨菲定律 (Murphy's Law / Sod's Law) 凡是可能出错的事就一定会出错 出自 爱德华·A·墨菲 , 墨菲定律 说明了如果一件事有可能出错,那么就一定会出错. 这是一句开发人员间的 ...

  6. 程序员应知必会的思维模型之 5 康威定律 (Conway‘s Law)

    康威定律 (Conway's Law) 这个定律说明了系统的技术边界可以反应一个组织的结构,它通常会在改进组织时被提及.康威定律表明,如果一个组织被分散成许多小而无联系的单元,那么它开发的软件也是小而 ...

  7. 嵌入式程序员应知道的0x10个基本问题

    预处理器(Preprocessor) 1 . 用预处理指令#define 声明一个常数,用以表明1年中有多少秒(忽略闰年问题) #define SECONDS_PER_YEAR (60 * 60 * ...

  8. 想成为嵌入式程序员应知道的16个基本问题

    这是嵌入式C程序员的基本知识.作者在Embedded Systems Programming杂志上发表了很多嵌入式系统开发方面的文章. C语言测试是招聘嵌入式系统程序员过程中必须而且有效的方法.这些年 ...

  9. 想成为嵌入式程序员应知道的0x10个基本问题

    C语言测试是招聘嵌入式系统程序员过程中必须而且有效的方法.这些年,我既参加也组织了许多这种测试,在这过程中我意识到这些测试能为面试者和被面试者提供许多有用信息,此外,撇开面试的压力不谈,这种测试也是相 ...

最新文章

  1. 美丽的闭包,在js中实现函数重载
  2. android 两种设置全屏的activity方式
  3. Java高级工程师必备数据结构算法高效查找算法原理分析与实现
  4. AI数学基础之:确定图灵机和非确定图灵机
  5. Nifi清空Queue操作
  6. android进出动画有白屏,Android启动白屏原因及解决方案
  7. 【牛客 -2A】矩阵(二分,字符串哈希)
  8. 计算机一级举报单位,2018年9月计算机一级Photoshop考试巩固练习题(三)
  9. 【C/C++】知识点
  10. 有趣的圣诞节 库的打包
  11. android 加密显示银行卡号,Android银行卡输入框与卡号显示
  12. mysql 内置存储过程_mysql 内置存储过程
  13. php mysql pdo 多次_一次php脚本执行过程中多次实例化PDO的情景分析
  14. tecplot360的宏命令
  15. int x = 0x13 c语言,计算机二级C语言选择题练习
  16. linux 3t 硬盘无法识别,希捷(3T)硬盘故障处理备忘
  17. 毕业实用统计模型(一)——时间序列
  18. 【githubboy】一项视频自动抠图技术,强大、实时、高分辨率的人物视频抠图方法
  19. 经典DP题目-滑雪问题
  20. Android处理图片透明度并绘画图片

热门文章

  1. 郑冠杰:KDD Cup城市大脑赛题方法总结!
  2. 21张让你代码能力突飞猛进的速查表(神经网络、机器学习、可视化等)
  3. 快乐学习Pandas入门篇:Pandas基础
  4. 特斯拉AI总监:我复现了LeCun 33年前的神经网络,发现和现在区别不大
  5. 清华大学《高级机器学习》课件和Fellow专家特邀报告(附pdf下载)
  6. 大连理工本科生顶会连刷SOTA被爆作弊!AAAI 2022接收后又面临撤稿,一作仍未发声...
  7. Hinton获2021迪克森科学奖:他改变了AI,改变了世界
  8. 爷青回!GAN生成的超级马里奥关卡,可以永不通关的那种!
  9. “23岁本科生发14篇SCI”,文章被学校官网悄悄删了,你怎么看?
  10. 7 Papers Radios | GCN大佬公开博士论文;谷歌提出扩展型BERT架构