程序员的职业发展

程序员的职业发展


本文为转载,以供参考。由于找不到原做者的文章出处,故没有原文连接。知道原文地址的朋友麻烦给出连接。谢谢。 程序员

做者:IBM 软件集团大中华区总架构师 寇卫东 编程

有一些年轻的程序员向我咨询,未来的路应该怎么走?俗话说,条条大路通罗马。不一样的路都能走向成功。到底选哪条路,取决于本身的兴趣。可能有程序员会问: 若是还没找到本身的兴趣怎么办?个人建议是多尝试,努力作,这是职业生涯的必经之路。当你积累了必定的技术和经验以后,就会面临多种选择。选择哪条路,因 人而异。 浏览器

若是对某一种或几种技术很是感兴趣,而且可以持续钻研,通过必定时期的积累,你能够逐渐成长为专家级程序员。专家级程序员对于所掌握的专业技术的熟练程度 非通常程序员能及,各种常见编程问题在他们手中都能迎刃而解,能够说这类专家“越老越值钱”,可是这类专家也有必定的风险性:随着经验的增长和年龄的增 长,这些人的工资会愈来愈高,当公司改变技术路线而再也不须要专家级程序员所掌握的专业技术时,或者想下降作事的成本,他们就可能面临失业或者另找工做的局 面。(相关阅读:丹麦资深开发人员Jenkov写的《如何成为一名专家级的开发人员》。) 架构

资深培训专家也是个不错的发展方向。成为培训专家,不只须要深厚的技术功底,同时还要具有优秀的沟通和表达能力,由于他们的主要工做再也不是研发某种技术, 而是传播技术知识。这条路很宽,有一些优秀的技术培训师除了担任本职工做,还会兼职到大学里讲课。虽然培训专家的技术可能达不到专家程序员的水平,可是工 做内容相对更为丰富,接触的人也更多。 学习

成为公司的技术总监是不少程序员的梦想。这条路线是从初级程序员成长为高级程序员以后,以作项目为工做重点,进而发展成项目经理、开发经理,最终成为技术 总监甚至公司副总裁。这些程序员走的是技术管理路线,从作项目开始,逐渐积累管理经验,而后成长为优秀的技术管理者。技术总监在公司甚至技术界的影响力非 同通常,对于那些有志于成为公司领导层的程序员,是个很大的诱惑。可是权力大、管的人多,就意味着更大的压力,技术总监不只要保持对新技术的敏感,还要抽 出精力作管理。比起成为纯技术专家,这条路也许更为艰难。 网站

还有一些程序员职业发展的终点是总架构师、总设计师。这类程序员的兴趣,不是某种特定的技术,而是偏重对软件产品或者软件应用项目的设计。若是将软件项目 开发团队比做一个乐队,那么程序员就至关于一名乐手(好比小提琴手、长笛手等),他们负责将本身的乐器演奏好;项目经理是乐队指挥,负责指挥和协调这个乐 队的配合;架构师则至关于做曲家。从入门的架构师开始,逐渐成为资深架构师乃至总架构师。如同历史上伟大的做曲家,杰出的架构师可以在各类软件中谱写出旋 律优美的“曲子”。 设计

另一些程序员心怀创业的理想,等到本身有了必定的技术积累,再掌握一些市场需求以及管理方法,他们会开始创业之路。一旦成功,这类人的影响力会很是大, 像Google和雅虎的创始人,都是技术创业的成功典范。可是这条路也是最艰辛的,有句话叫作“不当家不知柴米贵”不亲自创业的人也很难体会它的艰辛。创 业涉及方方面面,稍有差池就会功亏一篑,投身创业的程序员并很多,可是真正能成功的少之又少。踏上这条路不只须要过人的勇气和魄力,更须要坚韧不拔的毅 力,以及深度的商业智慧,再加上市场机会,才可以赢到最后。 资源

不少程序员会走上技术支持路线,进而发展成为精通业务的技术和行业咨询专家。这类程序员会在成为高级程序员以后加入销售团队,直接面对客户,负责技术层面 的问题。若是对某一行业(好比银行、电信)很是熟悉,长此以往,就成为精通这个行业技术的专家;若是对于某一类解决方案(好比ERP、CRM、SCM)非 常擅长,就能够发展成为跨行业的技术专家。 开发

还有一部分程序员会成为IT专栏做家和自由职业者。这些人一般对写做比较感兴趣,文字表达能力也不错,他们会将本身从事技术工做的内容或心得写出来,而后 发表文章赚取稿费。只要对技术足够精通,这类人是很受杂志欢迎的。在北美还有一种自由职业者叫作合同工,就是不按期的承接项目,在项目开始前签定协议,项 目完成后结束合做。(编注:不少国外自由开发人员在Elance、Freelancer和oDesk平台承接项目。这些平台的介绍,请参见《全球3大项目 外包和接单网站介绍》一文。)虽然这种职业目前在中国还不太多,可是其自由性对于不少程序员来说,也很是有吸引力。 产品

上文说起的若干条路,程序员能够根据本身的兴趣进行选择,可是通常来讲,不管走哪条路,都有一个前提条件:从初级程序员进阶为高级程序员。由于在这以前, 你甚至没有选择的机会。从初级进阶到高级,一般须要2~5年的时间,因我的素质而异。你们都说,程序员要耐得住寂寞和枯燥,年轻的程序员更要克服浮躁的心 态。在职业生涯的起步阶段,不少人总会摸不着头脑,这时必定要静下心来,多向资深程序员求教,慢慢熟悉技术、熟悉开发流程和行业。有时你会感受掉进了一个 知识海洋,身边全是陌生的事物,很难抓住。因此就更要四处探路,逐渐寻找到方向,在寻找中进步。

成功进阶为高级程序员,也并不意味着前途一片光明。若是说从初级到高级须要的是学习,那么从高级到专家,须要的是不断地尝试和坚持。比起前一个阶段,这个 过程更为漫长,一般须要5~8年。在这期间,由于有了以前的积累,而且已经取得必定的成就,人会更加自信,同时也会更加彷徨,有一个问题会时常盘旋在脑 中:未来的路到底要怎么走?这时就能够利用本身所积累的资源,多作一些尝试,尝试不一样角色、不一样的项目,与不一样的客户打交道,时间长了,天然会找到最适合 本身的发展方向。

总结起来,初级程序员和高级程序员时期,都属于职业生涯发展的第一阶段,咱们能够称之为黄金时期。这阶段程序员的年龄在20~35岁之间,由于年轻,因此 更善于学习,并且体力充沛,不少走过这个阶段的程序员有过通宵工做的经历。在这个时期,你有大把的时间学习提升,为未来的事业打下坚实的基础。而一旦超过 了30岁,不管从体力仍是精神上,都会有所改变,从30~40岁是转型时期。这时的程序员(不少人已经再也不编程)已经明确了本身的发展方向,而且向着目标 努力,让本身有所建树。40~60岁是专家时期,至此,一名优秀的程序员会完全实现“破茧成蝶”的愿望,成长为专家。

程序员的职业很精彩,同时也很艰苦。享受高工资,掌握最新的技术,有可能成为创业成功的富豪,甚至有机会改变人类的生活方式(例如互联网浏览器的开发、电 子商务的应用、手机短信等)这就是别人眼中程序员的生活,也许正所以,每一年都会有不少新人加入这个庞大的队伍,体验向往已久的精彩生活。可是大多数人却忽 略了光鲜背后的艰辛,高工资的代价是工做强度高,学习新技术的代价是工做压力大,成为富豪的代价是心力交瘁,而若想改变人类的生活方式,那就要耐得住日复 一日的枯燥和寂寞。酸甜苦辣都要本身品尝,程序员的发展道路有不少条,就看你怎么选。

相关文章
相关标签/搜索