程序员必须要看的 一个从事十年开发软件工程师对职业理解

开发
在软件开发公司企业中程序员是罪基础的岗位,作为一个程序员应该是一个“作家”而不仅是个“司机”,应该怎样成为一个优秀的程序员,发展方向何在。这些作为程序员必须要了解!

       程序员软件开发公司企业中最基础的岗位,只要保质保量的完成分派的任务就可以了,但在我看来好多程序员就连这一点都做不到。代码写得是一塌糊途,只要能正常运行就算是万事大吉,而且总是会告诉你没有重构的时间。可在我看来程序员更应该是个“作家”而不仅是个“司机”,写出来的代码是用来运行的,想像一下别人都看不懂你写的代码,那你写的程序会运行多久呢?作家只有写出好的文章别人才会去阅读去欣赏,试想如果一作者写出一篇连自己看了都觉得讨厌东西又怎么会启齿让别人去看。

  对于程序员来说也应抱有作家的心态,始终想着我写出的代码是否别人看了会笑话?是否会赞叹?应该想到决大部分的代码重构工作是在开发阶段完成的,而非后期逐渐完善的。一般来说,一套系统上线这后很少会再做代码的重构工作。

[[19023]]

 

  程序员的发展方向

  我想没有几个人会想做一辈子程序员(即然有这样的人年龄大了精力上也不允许),但很少有程序员会想到以后应该做些什么,下面是我总结的几个发展方向:

  走向管理:有两种原因会使部分程序员走上管理的道路,一是与生俱来的对权力的欲望;一是在程序员的岗位上对自我价值重新认知。对于前者如果欲望过去强烈就会急功进利,很容易走捷径,会出现不能服众的情况。对于后者自我价值的重新认知是一个缓慢的过程,一个程序员在长期的开发过程中会慢慢发现一个人的力量是有限的,做一件事情必须要借助其他人的帮助,如果需要别人的帮助就必须能影响他人。从而认识到一个人的价值对公司来说几乎是不值一文,如果想让自己的价值得到提升必须要影响到他人,借助他人的力量使自己的价值得到最大提升。

  走向行业:即成为某个行业的行业专家。一般来说走这个方面需要机遇,需要长时间的从事某一个领域的开发与管理工作,对某个行业无论是大局还是细节都了如指掌。

  走向专业:即成为架构师。一般来说这些人对开发有狂热的兴趣,逐渐的从代码的编写中认识到设计与软件架构的重要性,并对软件设计乐此不疲。

  自已干:这些人是野心家,也是风险最大的一条路。好多程序员都认为软件开发不需要什么成本,只要能接到单子完全可以自己干,自己当老板。然而很少了解只有长期持续的订单才是一个企业不断稳定发展的最重要因素。

  程序员的价值

  程序员很少能认清自己的价值,总是用我会多少东西,我做了多少工作来衡量。然而对于企业来说,他看的是你为公司创造多少价值,这种双方认知的偏差往往带来不可调和的矛盾。举个例子,一个公司只做SQLServer做数据库端开发,而你即使对ORACLE再精通,你一样对这个公司来说是没有价值的。再比如你在某个公司做了很多工作,但你做的项目都没有使公司赚到钱,同样老板是不会多给你多少奖金的。人生的机遇就象在等车,只要你有足够的准备,站在一个站牌很多的地方,一定会搭上你希望去的方向的公车。

  一个程序员的价值在于他的机会,而很多机会一定会留给有实力的人,不要认为自己怀才不遇,不要怨天尤人!

  如何成为优秀的程序员?

  拨三心:恒心、耐心、细心

  兴趣决定一切:当一个人把自己的职业仅当成谋生的手段时,那他的人生将会失去很多乐趣。如果你不喜欢软件开发,那最好离开这个职业,没有兴趣只会让你一事无成。

  自我学习:做程序员就是这样,走上了一条永无止境的学习之路,不学习新知就会被淘汰。然而学习也是有方法的:1)拿来主义;2)知其然也要知其所以然,细细分析与研究别人的优秀框架会对你大有好处。

  自我修复:不断的重构与完善你的代码,是对所学知识的达到溶汇贯通的最简捷的途径。

  找到一个圈子或老师:有时别人的一句话会对你的点拨很大。对于知识点有时只是一层窗户纸,看似玄妙,也许你差的只是那灵光一现或是换一个角度思考,这并不难。难的是将你所了解的知识点串接起来,使其能上下贯通运用自如,而在这点上通过一己之力会变得非常的漫长与痛苦。
       当然了,作为一个程序员想要做好自己的人生规划还需要自己在生活中不断去发现,去自我提高等等。

       【编辑推荐】

  1. 关于程序员的痛苦的一种悖论
  2. 程序员须知的二十世纪最伟大10大算法
  3. 程序员的十个层次 你属于哪一层?
  4. 成为完美程序员的10种品质
  5. 论:如何成为有思想、能创新的程序员

 

责任编辑:佚名 来源: it186
相关推荐

2009-11-04 10:57:35

2012-02-07 09:58:27

2020-02-25 22:45:21

程序员技能开发者

2011-04-15 10:51:47

程序员

2016-11-21 11:54:34

程序员代码

2020-01-13 12:44:47

程序员软件数据库

2009-07-16 13:28:14

2009-07-28 10:18:03

程序员误区

2012-01-09 17:45:48

Java程序员

2012-06-27 16:02:42

软件工程师开发

2011-04-11 09:11:01

程序员

2011-04-27 09:21:09

程序员

2009-08-14 15:10:47

C# Windows服

2011-09-01 09:07:30

程序员

2012-08-27 09:40:07

2009-12-29 09:11:11

软件工程师职业排行

2018-01-03 22:31:55

程序员管理技术

2011-03-22 10:16:48

程序员

2020-11-17 10:01:42

软件工程师软件开发

2020-02-22 21:51:43

程序员Microsoft SServerSQL
点赞
收藏

51CTO技术栈公众号