论坛首页 海阔天空版

程序员的出路,其实并不难寻找,低中高各等级且听我来分析

浏览 967 次
精华帖 (0) :: 良好帖 (16) :: 灌水帖 (0) :: 隐藏帖 (0)
作者 正文
最后更新时间:2008-06-12 关键字: 职业生涯
从我做小程序员开始,就从未间断的在论坛看到有人在问程序员的出路在哪里,其实我很能理解这些人的想法,在行业做了几年,有些感想跟大家随便聊聊。

俗话说,365行,行行出状元,此话也适用于IT行业,尤其是程序员。

当你迷茫找不到出路,又想快速成长和提高的时候,有两种方案可以供你参考:
1、努力成为你工作环境中最优秀的人(技术最好的人);
2、跳槽,去另外一家公司做比你能力要高的工作。

针对工作环境的不同,分为大环境和小环境(人多和人少):
1、小环境,寻找技术最好的人,努力不断向他接近,当你通过努力觉得超过他的时候,我相信你就不会再来问“出路在哪里”的问题了。
2、大环境,人多优秀的人也多,想短时间超越所有人是有相当难度的,能与每个优秀人都交流的概率低,所以你可以选择跳槽。

跳槽,在我看来是程序员成功的必经之路。跳槽是有技巧的,同时也需要一定的运气,如果想跳槽就要果断。当你觉得不如意时,当你觉得没有出路时,当你觉得待遇不满意时,当你觉得成长不够快时。。。都可以考虑跳槽。

跳槽有利有弊,对企业来说,跳槽是不好的;对于打工者来说,跳槽是很完美的。企业培养一个程序员不容易,辛苦的带起来一个人,熟悉了业务,掌握了技术,这时候走人,损失最大的当然是企业,花时间培养人和熟悉业务也是需要成本的。对程序员来说,跳槽几乎是利大于弊,首先待遇上肯定立竿见影的体现,如果没体现出来那就是跳的失败,除非有其他想法和目标。

不要误会我的意图,跳槽对于技术人员来说并不是坏事:
1、一般的IT公司都有自己的常用的模式,该模式经过一个项目之后,就可以基本掌握,相关覆盖的知识、架构等大概也可以了解,此时可以换个环境寻找更高的发展;
2、跳槽相当于变向的升职,这个可以从你的简历中体现出来。

假如你是一个初级程序员。当你做完一个项目的时候,你会了解这个项目的整个流程,此时可以在简历中填写中级程序员的角色,把很多中级程序员做的事情写到你的履历里(前提是你要了解这些),跳槽的时候,你的目标自然就是中级程序员,而招聘公司看到你的情况也会觉得合适。

假如你是一个中级程序员。你需要在项目中了解高级程序员的工作范围,并不要求你全部掌握,但需要你能表达出来,这个很重要。比如后台的设计模式、软件架构、接口设计等,把这些写到你的履历中,给自己定位成高级程序员,自然的,高级程序员的职位会找到你。

假如你是一个高级程序员。你所需要了解的就不仅仅是程序设计,而是整个项目的运作和管理流程。包括项目管理、系统架构(软硬件)、系统集成等,整个环节不一定都要会,但需要知道是什么,比如,什么是交换机,什么是硬件负载均衡设备,什么是反向代理,什么是缓存服务器,什么是WEB服务器,什么是集群、负载均衡、分布式、数据库优化、大数据存储、高并发访问等等,都是你需要了解的,面试的时候能表达出来,那么你就成功了。同样的把这些写到你的履历中,给自己定位架构师或项目经理,更新简历后,猎头会来找你。

假如你是系统架构师。既然选择了架构师的角色,那么肯定是向技术方向发展了。技术总监、研发总监甚至CTO就是你的目标。想知道技术总监、CTO都在做什么吗,看看丁磊在做什么,你就要去模仿去做。想成为一个角色人物,首先要从身体力行上模仿的像这个角色,时间长了那么你就是这样的人。技术总监需要负责整个公司的技术部运作,包括对人员的管理、绩效考核、各语言组之间的协调、各项目间的协调,各部门间的协调,除此之外,你还需要考虑所运营的项目如何发展的更好,网站如何才能更加优化,产品如何能更上一个层次,公司的技术发展如何规划,各种方案如何快速的编写和实施,如何与老板打交道等,都是你需要掌握的。

假如你是项目经理。在中国,项目经理分两种,一种是TEAM LEADER的角色,需要很强的技术;一种是负责招标、流程控制的偏商务角色,要懂技术。发展到这个层次的,我想应该不用我来告诉他们出路在哪里了,这样的人一般都有自己的规划,但凡事都有例外,如果没有规划或发展迷茫的,TEAM LEADER角色可以重点把项目管理、人力资源、系统架构等环节再强化一下,紧跟当前发展形势学习新知识;偏商务角色的,可以考虑往总经理、CIO、CEO等方向努力,到这个层次的,需要的不仅仅是知识,更多的是一种理念和个人魅力。

大概聊了聊上述这些,我想每个层次的人可以大概了解自己该做什么了。一定要有计划、有目标高效的做事情,有效的管理分配好自己的时间,只有这样你才可以成为一个优秀的人才。不要总让别人告诉你该做什么,而是自己不断推动手里的任务去更好的完成,处处体现出“我做的东西就比别人做的好”的信念,那我想,成功离你就不远了。
   
最后更新时间:2008-06-12
说的比较不错!
但要达到这最后的地步,需要多久啊?
   
0 请登录后投票
最后更新时间:2008-06-12
对头,很有道理的.这也就是一个程序员的成长过程,要看自己的定位是什么了,不断的实践
   
0 请登录后投票
最后更新时间:2008-06-12
zgqynx 写道
说的比较不错!
但要达到这最后的地步,需要多久啊?


因人而异,如果你每天都在学习,3年就差不多了。
   
0 请登录后投票
最后更新时间:2008-06-12
非常清晰的表达。颇有见地。而更重要的是最后一段话,非常好。
   
0 请登录后投票
最后更新时间:2008-06-12
JAVAEYE人气果然了得,才一小会就这么多人了
   
0 请登录后投票
最后更新时间:2008-06-12
闲人多,宅男多(比如我),人气就足。

-----------------------------------

另外,参见

寻找出路的苍蝇
   
0 请登录后投票
最后更新时间:2008-06-12
每次都通过虚报自己的能力和经验来跳槽。

真是有够胆!

千万别遇到我,否则肯定被戳穿。
   
0 请登录后投票
最后更新时间:2008-06-12
庄表伟 写道
每次都通过虚报自己的能力和经验来跳槽。

真是有够胆!

千万别遇到我,否则肯定被戳穿。



我觉的还有另外一个问题,值得谈一谈。不能否认,中国很多软件系统,功能是很不完备的。项目型的软件,往往是这种典型。当这个系统的中上层(包括技术与业务),由一些本身水平不是很高的人把握着的时候。各种非正常因素会发生。简单地说,如果你在一家不能正常评估你能力的公司、部门、或者更准确的说你的直属领导下工作时,一些好的建议无法被采纳。


跳槽,一个最大的不是好处的地方在于,你需要半年的时间熟悉各种环境。大多数公司宁愿从内部选人,而不敢直接让人承担重要的责任。但责任仅仅是责任。技术永远是手段,而非目标。一定处于从属地位。而往往拥有决策权的,却是那些不懂技术的管理者。我觉的楼主的文章,能把事情分析如此条理,应该不是你所说的那一类人。那这一类人你是否能够识破,或者你对这个人的优点,以及缺点能够有效的认识,进而用好他,这才是真正的能力。


当oracle承认自己实现了这个功能时,我们能够相信,这是实现了的。但在大多数软件公司的软件系统中,各种忽悠,各种不完备,各种以商业利益为重是显而易见的。也就是说,


中国软件业缺乏高端人才,那是否有这样一个让高端人才脱颖而出的土壤与环境呢?


其实,还应该谈一谈另外一个问题。这也是以上问题引申出来的。那就是,机遇与你的能力其实是同等重要的。没有机遇,同有一个认同你的人支持。所有的所谓技术,也仅仅是空中楼阁。所以每个人当自己是处于这样的一个角色时,在没有完全的把握之前,应该只做属于本角色分内的事情。千万不可越界,否则适得其反。大多数时候是这样。


个人反对三到五年之后的任何职场人士,轻易的跳槽。其风险确实很大。
   
0 请登录后投票
最后更新时间:2008-06-12
wlsas 写道
想知道技术总监、CTO都在做什么吗,看看丁磊在做什么,你就要去模仿去做。

丁磊???
   
0 请登录后投票
论坛首页 海阔天空版

跳转论坛:
JavaEye推荐