从事十年开发软件工程师对职业理解
对于程序员来说也应抱有作家的心态,始终想着我写出的代码是否别人看了会笑话?是否会赞叹?应该想到决大部分的代码重构工作是在开发阶段完成的,而非后期逐渐完善的。一般来说,一套系统上线这后很少会再做代码的重构工作。
程序员的发展方向
我想没有几个人会想做一辈子程序员(即然有这样的人年龄大了精力上也不允许),但很少有程序员会想到以后应该做些什么,下面是我总结的几个发展方向:
走向管理:有两种原因会使部分程序员走上管理的道路,一是与生俱来的对权力的欲望;一是在程序员的岗位上对自我价值重新认知。对于前者如果欲望过去强烈就会急功进利,很容易走捷径,会出现不能服众的情况。对于后者自我价值的重新认知是一个缓慢的过程,一个程序员在长期的开发过程中会慢慢发现一个人的力量是有限的,做一件事情必须要借助其他人的帮助,如果需要别人的帮助就必须能影响他人。从而认识到一个人的价值对公司来说几乎是不值一文,如果想让自己的价值得到提升必须要影响到他人,借助他人的力量使自己的价值得到最大提升。
走向行业:即成为某个行业的行业专家。一般来说走这个方面需要机遇,需要长时间的从事某一个领域的开发与管理工作,对某个行业无论是大局还是细节都了如指掌。
走向专业:即成为架构师。一般来说这些人对开发有狂热的兴趣,逐渐的从代码的编写中认识到设计与软件架构的重要性,并对软件设计乐此不疲。
自已干:这些人是野心家,也是风险最大的一条路。好多程序员都认为软件开发不需要什么成本,只要能接到单子完全可以自己干,自己当老板。然而很少了解只有长期持续的订单才是一个企业不断稳定发展的最重要因素。
程序员的价值
程序员很少能认清自己的价值,总是用我会多少东西,我做了多少工作来衡量。然而对于企业来说,他看的是你为公司创造多少价值,这种双方认知的偏差往往带来不可调和的矛盾。举个例子,一个公司只做SQLServer做数据库端开发,而你即使对ORACLE再精通,你一样对这个公司来说是没有价值的。再比如你在某个公司做了很多工作,但你做的项目都没有使公司赚到钱,同样老板是不会多给你多少奖金的。人生的机遇就象在等车,只要你有足够的准备,站在一个站牌很多的地方,一定会搭上你希望去的方向的公车。
一个程序员的价值在于他的机会,而很多机会一定会留给有实力的人,不要认为自己怀才不遇,不要怨天尤人!
如何成为优秀的程序员?
拨三心:恒心、耐心、细心
兴趣决定一切:当一个人把自己的职业仅当成谋生的手段时,那他的人生将会失去很多乐趣。如果你不喜欢软件开发,那最好离开这个职业,没有兴趣只会让你一事无成。
自我学习:做程序员就是这样,走上了一条永无止境的学习之路,不学习新知就会被淘汰。然而学习也是有方法的:1)拿来主义;2)知其然也要知其所以然,细细分析与研究别人的优秀框架会对你大有好处。
自我修复:不断的重构与完善你的代码,是对所学知识的达到溶汇贯通的最简捷的途径。
找到一个圈子或老师:有时别人的一句话会对你的点拨很大。对于知识点有时只是一层窗户纸,看似玄妙,也许你差的只是那灵光一现或是换一个角度思考,这并不难。难的是将你所了解的知识点串接起来,使其能上下贯通运用自如,而在这点上通过一己之力会变得非常的漫长与痛苦。