初级程序员和高级程序员时期,都属于职业生涯发展的第一阶段,我们可以称之为黄金时期。这阶段程序员的年龄在20~35岁之间,因为年轻,所以更善于学习,而且体力充沛,很多走过这个阶段的程序员有过通宵工作的经历。

IBM软件集团大中华区总架构师 寇卫东

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

如果对某一种或几种技术非常感兴趣,并且能够持续钻研,经过一定时期的积累,你可以逐渐成长为专家级程序员。专家级程序员对于所掌握的专业技术的熟练程度非一般程序员能及,各类常见编程问题在他们手中都能迎刃而解,可以说这类专家“越老越值钱”。但是这类专家也有一定的风险性:随着经验的增加和年龄的增长,这些人的工资会越来越高,当公司改变技术路线而不再需要专家级程序员所掌握的专业技术时,或者想降低做事的成本,他们就可能面临失业或者另找工作的局面。

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

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

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

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

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

还有一部分程序员会成为IT专栏作家和自由职业者。这些人通常对写作比较感兴趣,文字表达能力也不错,他们会将自己从事技术工作的内容或心得写出来,然后发表文章赚取稿费。只要对技术足够精通,这类人是很受杂志欢迎的。在北美还有一种自由职业者叫做合同工,就是不定期的承接项目,在项目开始前签订协议,项目完成后结束合作。虽然这种职业目前在中国还不太多,但是其自由性对于很多程序员来讲,也非常有吸引力。

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

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

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

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

IBM总架构师寇卫东:话说程序员的职业生涯-IT程序人生-职业生涯规划相关推荐

  1. IBM大中华区总架构师讲述话说程序员的职业生涯

    摘要:看IBM大中华区总架构师 给我们解读一个程序员的职业生涯.      有一些年轻的程序员向我咨询,将来的路应该怎么走?俗话说,条条大路通罗马.不同的路都能走向成功.到底选哪条路,取决于自己的兴趣 ...

  2. IMB总架构师:话说程序员的职业生涯

    有一些年轻的程序员向我咨询,将来的路应该怎么走?俗话说,条条大路通罗马.不同的路都能走向成功.到底选哪条路,取决于自己的兴趣.可能有程序员会问:如果还没找到自己的兴趣怎么办?我的建议是多尝试,努力做, ...

  3. 微博平台架构和安全——微博平台首席架构师杨卫华演讲

    微博平台首席架构师杨卫华演讲 新浪科技讯11月16日下午消息,由新浪微博(http://t.sina.com.cn)主办的中国首届微博开发者大会在北京举行,这是国内微博行业的首场技术盛宴  作为国内微 ...

  4. 天猫总架构师何崚:好的技术团队不是“需求翻译机”或“架构优化机”

    " 一个好的技术团队应该具备哪些特质?一个好的技术团队的leader应该怎样实施管理?技术和业务如何做到完美结合?这是来自天猫技术团队的经验,仅供参考. 前言 2012 年,无线化大规模到来 ...

  5. 支付宝研究员兼OceanBase总架构师杨传辉:我在数据库梦之队的十年成长路

    杨传辉 支付宝研究员兼OceanBase总架构师 读完需要 6 分钟 速读仅需 2 分钟 杨传辉是支付宝的研究员兼 OceanBase 总架构师,就是 2020 年 5 月,以 7.07 亿(707, ...

  6. 链家网前端总架构师杨永林:我的8年架构师成长之路

    杨永林,人称"教主",八年前端开发经验,原新浪微博前端技术专家,现任链家网前端总架构师.长期研究Web访问性能优化和前端框架搭建. 作为初始团队成员,教主参与了新浪微博所有PC版本 ...

  7. 阿里云飞天技术总架构师唐洪:飞天技术与应用

    一年一度的阿里技术论坛(Alibaba Technology Forum)已走进第7个年头,4月15日,阿里众多技术领军人走进清华校园.通过特设的三大技术论坛,参会人员近距离接触了阿里巴巴在云计算.大 ...

  8. 访FreeWheel总架构师邓就庆:架构与成长之道

    特约记者:卢亿雷,精硕科技(AdMaster)技术副总裁兼总架构师,CCF(中国计算学会)大数据专委委员,北京航空航天大学特聘教授. 受访嘉宾:邓就庆(Jack),FreeWheel高级副总裁兼总架构 ...

  9. 京东商城总架构师、基础平台负责人刘海锋:京东双11创新技术实践

    [CSDN现场报道]2016 年 11 月 18 日- 20 日,由 CSDN 重磅打造的年终技术盛会 -- "2016 中国软件开发者大会"(Software Developer ...

最新文章

  1. String、StringBuffer、StringBuilder的理解
  2. 只要一句话、一段文字,想让奥巴马说啥他就说啥
  3. python canvas画移动物体_canvas中绘制的图像怎么让它移动?
  4. Ext.tab.Panel页签
  5. httpclient妙用一 httpclient作为客户端调用soap webservice(转)
  6. Chuck Cobb谈敏捷组织中PMO的角色
  7. 信号的采样与插值重建(包含matlab)
  8. python的matplotlib风格_matplotlib 的几种风格 练习
  9. antd 左右滑动_如何使用reactjs创建可滑动的侧边栏
  10. android 默认浏览器 视频播放 二维码,Android调用系统默认浏览器访问的方法
  11. 【SQL Server配置管理器】提示:无法连接到 WMI 提供程序。您没有权限或者该服务器无法访问...
  12. 安卓开发使用ttf文字_Android中正确使用字体图标(iconfont)的方法
  13. 换一种方式去思考--microsoft for win server03
  14. 凸优化第七章统计估计 作业题
  15. generic_make_request函数处理bio流程分析
  16. 商城系统源码开发技巧分享
  17. 【思科模拟器实验】三层交换机(1)
  18. 已解决:有道云笔记web端和PC端频繁崩溃的解决方法
  19. 树莓派编译安装完整版本ROS
  20. 普罗米修斯Prometheus手记

热门文章

  1. Azure Sentinel -- 云原生企业安全信息和事件管理平台(SIEM)初探系列一
  2. 一步步编写操作系统 62 函数调用约定
  3. java 酒店预定 app_Android应用源码酒店在线预定app项目全套
  4. 【Python 必会技巧】对字典按照键(key)或者值(value)排序
  5. linux shell跳板机,用shell开发跳板机
  6. Processing 闪烁的圆 动画效果
  7. 【机器学习】 - import cv2 opencv安装python
  8. 【POJ - 3160】Father Christmas flymouse(Tarjan缩点,DAG最长路)
  9. 【POJ - 1651】Multiplication Puzzle(区间dp)
  10. 【UVA - 10020 】Minimal coverage (贪心,区间覆盖问题)