`
weiyinchao88
  • 浏览: 1183505 次
文章分类
社区版块
存档分类
最新评论

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

 
阅读更多

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

分享到:
评论

相关推荐

    寇卫东《云计算与IBM的实践》

    寇卫东《云计算与IBM的实践》--IBM全球战略联盟新兴国家云计算总经理.pdf

    论文研究-基于身份公钥的后三代UMTS安全漫游方案 .pdf

    基于身份公钥的后三代UMTS安全漫游方案,曹雪菲,寇卫东,提出了一种适合后三代UMTS系统的域间安全漫游管理方案。该方案利用基于身份的公钥体制,将UMTS系统的接入安全要求与移动IP相结合,��

    论文研究-全IP网络中基于DIAMETER的MIPv6 的安全漫游解决方案 .pdf

    全IP网络中基于DIAMETER的MIPv6 的安全漫游解决方案,党岚君,寇卫东,移动IPv6由于有充足的IP地址和较完善的技术解决方案,已成为未来移动通信网络中的关键技术。同时,专为移动网络设计的AAA的新协议框

    基于NFV的虚拟化BRAS组网方案.docx

    5G通信行业、网络优化、通信工程建设资料。

    299-煤炭大数据智能分析解决方案.pptx

    299-煤炭大数据智能分析解决方案.pptx

    工资汇总打印税务计算系统-(Excel函数版)

    使用说明: 1、各月工资表,已用公式设置完毕,请在AI1单元格填入月份本表自动显示数据,您再按实际情况稍加修正,工资就完成了! 2、使用时,请把一月份工资表中公式的数据,按你的实际情况修改,之后把一月份工资表复制到2至12月就行了。以后再用时参阅第一条说明。 3、养老保险、失业保险、医疗保险、住房公积金 自动生成,但各单位的比例不同,请自行修改公式中的参数。 4、AK 列至 BD 列是报税资料,自动生成。 5、“四联工资单”只须输入员工编号与选择月份,便可自动取数;请根据需要任选。 6、“工资条”全部自动生成;有单行与双行两种,请任选使用。使用工资条时,请在《个税报告》表的V9单元格选择月份。 7、《扣缴个人所得税报告表》自动生成,请在V9单元格选择月份。请不要随意改动。 8、加班工资、考勤应扣,按每月30天计算;养、失、医、房 项目提取基数与比例亦应按单位规定进行修改。 9、各表均设了保护,但未设密码,您尽可撤消,做您想作的事。 10、打印工资表时,可将不需用的列

    考试资料+7、互联网与物联网.docx

    5G通信行业、网络优化、通信工程建设资料

    景区4G网络覆盖提升解决案例.docx

    5G通信、网络优化与通信建设

    基于Springboot+Vue的机动车号牌管理系统-毕业源码案例设计.zip

    网络技术和计算机技术发展至今,已经拥有了深厚的理论基础,并在现实中进行了充分运用,尤其是基于计算机运行的软件更是受到各界的关注。加上现在人们已经步入信息时代,所以对于信息的宣传和管理就很关键。系统化是必要的,设计网上系统不仅会节约人力和管理成本,还会安全保存庞大的数据量,对于信息的维护和检索也不需要花费很多时间,非常的便利。 网上系统是在MySQL中建立数据表保存信息,运用SpringBoot框架和Java语言编写。并按照软件设计开发流程进行设计实现。系统具备友好性且功能完善。 网上系统在让售信息规范化的同时,也能及时通过数据输入的有效性规则检测出错误数据,让数据的录入达到准确性的目的,进而提升数据的可靠性,让系统数据的错误率降至最低。 关键词:vue;MySQL;SpringBoot框架 【引流】 Java、Python、Node.js、Spring Boot、Django、Express、MySQL、PostgreSQL、MongoDB、React、Angular、Vue、Bootstrap、Material-UI、Redis、Docker、Kubernetes

    199-袁骏毅:新形势下医院数据安全治理应对实践.pdf

    199-袁骏毅:新形势下医院数据安全治理应对实践.pdf

    毕业设计:基于SSM的mysql-信息类课程教学知识管理系统(源码 + 数据库)

    毕业设计:基于SSM的mysql_信息类课程教学知识管理系统(源码 + 数据库) ssm信息类课程教学知识管理系统开发 采用 ssm框架技术,java语言,mysql数据库 前台+后台的模式开发 前台界面:W1 后台界面:CC 内容页面:P4 前台: 用户注册(手机号,用户名,姓名,登录用户名,密码,备注) 用户登录,找回密码,设置新密码 网站公告查看 课程查看(注册用户登录后,可以查看非公开课,用户不登录,可以查看公开课),点击查看课程详情,课程名称,授课专业,课程简介等,可以下载课程,以word或者PDF形式 知识卡片查看:点击课程后,可以查看该课程里的知识卡片,知识卡片分为文本,图片,视频3种类型的知识卡片。登录后可以收藏知识卡片 后台: 管理员 管理员管理 教师信息管理(姓名,学校,职级,绑定邮箱,电话,用户名,密码等) 注册用户审核 网站公告管理 课程信息管理(可以上传课程,word或者pdf形式) 知识卡片管理 系统管理 教师 个人资料修改 创建课程 创建知识卡片 注册用户 个人资料修改 我收藏的知识卡片

    基于SpringBoot+Vue的常规应急物资管理系统-毕业源码案例设计.zip

    网络技术和计算机技术发展至今,已经拥有了深厚的理论基础,并在现实中进行了充分运用,尤其是基于计算机运行的软件更是受到各界的关注。加上现在人们已经步入信息时代,所以对于信息的宣传和管理就很关键。系统化是必要的,设计网上系统不仅会节约人力和管理成本,还会安全保存庞大的数据量,对于信息的维护和检索也不需要花费很多时间,非常的便利。 网上系统是在MySQL中建立数据表保存信息,运用SpringBoot框架和Java语言编写。并按照软件设计开发流程进行设计实现。系统具备友好性且功能完善。 网上系统在让售信息规范化的同时,也能及时通过数据输入的有效性规则检测出错误数据,让数据的录入达到准确性的目的,进而提升数据的可靠性,让系统数据的错误率降至最低。 关键词:vue;MySQL;SpringBoot框架 【引流】 Java、Python、Node.js、Spring Boot、Django、Express、MySQL、PostgreSQL、MongoDB、React、Angular、Vue、Bootstrap、Material-UI、Redis、Docker、Kubernetes

    计算机二级攻略.docx

    计算机二级备考资源丰富多样,可通过权威机构官网、在线教育平台、专业培训机构网站等获取学习资料。结合多种资源学习,备考更高效。

    夭月.zi删除p

    夭月.zi删除p

    基于c语言的ktv歌曲系统.zip

    基于c语言的ktv歌曲系统.zip

    6.docx

    6.docx

    基于Springboot+Vue网上点餐系统毕业源码案例设计.zip

    网络技术和计算机技术发展至今,已经拥有了深厚的理论基础,并在现实中进行了充分运用,尤其是基于计算机运行的软件更是受到各界的关注。加上现在人们已经步入信息时代,所以对于信息的宣传和管理就很关键。系统化是必要的,设计网上系统不仅会节约人力和管理成本,还会安全保存庞大的数据量,对于信息的维护和检索也不需要花费很多时间,非常的便利。 网上系统是在MySQL中建立数据表保存信息,运用SpringBoot框架和Java语言编写。并按照软件设计开发流程进行设计实现。系统具备友好性且功能完善。 网上系统在让售信息规范化的同时,也能及时通过数据输入的有效性规则检测出错误数据,让数据的录入达到准确性的目的,进而提升数据的可靠性,让系统数据的错误率降至最低。 关键词:vue;MySQL;SpringBoot框架 【引流】 Java、Python、Node.js、Spring Boot、Django、Express、MySQL、PostgreSQL、MongoDB、React、Angular、Vue、Bootstrap、Material-UI、Redis、Docker、Kubernetes

    工厂工资明细表Excel模版

    基于提供的字段介绍,我们可以设计一个基础的工厂工资明细表Excel模板结构如下: | 序号 | 姓名 | 工种 | 工作天数 | 工时费/天 | 小计(正常工资) | 加班时间 | 加班费率/小时 | 小计(加班工资) | 预借 | 合计(实发工资) | 签字 | 备注 | | ---- | ---- | ---- | -------- | ---------- | -------------- | -------- | -------------- | --------------- | ---- | -------------- | ---- | ---- | | 1 | | | | | | | | | | | | | | 2 | | | | | =D2*C2

    推荐智慧工业园区大数据云平台解决方案.docx

    当前园区的主要工作是如何在资源 缺的背景下,创造更多的价值,实现园区经济转型、社会和谐。利用电子信息技术的深度应用与融合,提升园区政府的管理、服务、引导能力,提升企业的研发设计、生产制造、经营管理的效率,提升园区运行的智能、顺畅程度,提升园区居民生活的便利水平,是智慧园区建设的主要任务。 智慧园区由基础设施、信息资源、业务应用、运行保障四个层次组成 通过构建新一代信息基础设施,为园区内的组织和个人提供安全、高速、便捷的网络环境,实现园区内的部件、人员随时随地接入网络,奠定了泛在感知的网络基础。新一代的信息基础设主要包括两个层面,全面覆盖的感知层和泛在的传输网络层。 智慧应用体系是智慧园区建设重要的部分,也是可以直接提升园区管理服务能力、生产生活环境的重要构成,智慧应用体系分析、整合园区运行核心系统的各项关键信息,从而对于包括民生、环保、公共安全、城市服务、工商业活动在内的各种需求做出智能响应,使园区运行更加智慧顺畅,为人类创造更美好的城市生活。智慧应用体系包括一个支撑平台和四个应用体系。

    计费模式配置有误导致低速率.docx

    5G通信行业、网络优化、通信工程建设资料

Global site tag (gtag.js) - Google Analytics