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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/454565.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

metric learning -- 马氏距离与欧氏距离

一 基本概念 方差:(variance)是在概率论和统计方差衡量随机变量或一组数据时离散程度的度量。概率论中方差用来度量随机变量和其数学期望(即均值)之间的偏离程度。统计中的方差(样本方差)是每个…

深入理解 C# 协变和逆变

msdn 解释如下: “协变”是指能够使用与原始指定的派生类型相比,派生程度更大的类型。 “逆变”则是指能够使用派生程度更小的类型。 解释的很正确,大致就是这样,不过不够直白。 直白的理解: “协变”->”和谐的变”…

华为mate20能用鸿蒙吗,华为mate20可以用5g网络吗

华为mate20不可以用5g网络,它是4g手机在2018年上市,当时5g并没有开始流行,因此mate20是不支持5G的。不过在后来的2019年秋季,华为发布了mate20 x的5g版本,这也是mate20系列里唯一支持5G的,除此之外mate20、…

基本农田卫星地图查询_#重庆朝天门#谷歌百度腾讯高德“卫星地图”PK,谷歌更胜一筹...

截图自便民查询网,各家卫星地图PK,各有千秋~谷歌精确度最高:5m,来福士修建中,嘉陵江是绿的,长江是黄的。两江交汇处有一条分明的界线。谷歌 5m:20ft谷歌 50m:100ft谷歌 200m:500ft谷歌 300m:1000ft谷歌 500…

软件开发者面试百问答案,老紫竹研究室出品(已经有64个)

当然,全部是我个人的答案,不代表别人。地址 www.laozizhu.com/program.jsp?typeId104 老紫竹研究室,分享软件开发的快乐与收获 ‘ 我这里贴上已经写好的答案连接。 软件开发者面试百问答案 - 你需要哪些东西帮助你判断项目是否符合时间要求…

Python 第三方库之 Celery 分布式任务队列

一、Celery介绍和使用: Celery 是一个 基于python开发的分布式异步消息任务队列,通过它可以轻松的实现任务的异步处理, 如果你的业务场景中需要用到异步任务,就可以考虑使用celery, 举几个实例场景中可用的例子: 你想…

windows server 2008 (五)web服务器的搭建和部署

Windows server 2008 web服务器的搭建和部署相对于windows server 2003的IIS6来说,windows server 2008推出的IIS7.0为管理员提供了统一的web平台,为管理员和开发人员提供了一个一致的web解决方案。并针对安全方面做了改进,可以减少利用自定义…

改装摩托车

摩托车发动机就是将进入气缸中的燃料混合气点燃使其燃烧所产生的热能变为机械能,并由曲轴将动力通过传动机构传给摩托车后轮而变为车辆行驶动力的机械。发动机的进排气量和气流速是影响高转速(功率)输出的关键因素之一。 发动机工作时气流的路…

华为鸿蒙os logo,华为鸿蒙OS Logo曝光:Powered by HarmonyOS

IT之家 9 月 13 日消息 9 月 10 日,鸿蒙 OS 2.0 亮相华为开发者大会的主舞台上,华为常务董事、消费者业务 CEO 余承东表示,鸿蒙 OS 是首个真正为全场景时代打造的分布式操作系统,鸿蒙 OS 2.0 全面使能全场景生态。现在博主 勇气数…

python判断语句_详解Python判断语句的使用方法

本篇介绍Python判断语句的使用,主要讨论简单条件语句、多重条件语句和嵌套条件语句,在讲解的每个案例中都配有流程图和代码说明。通过本篇的学习,可以达成如下目标。 ● 掌握判断语句的使用规则 ● 判断语句流程图的画法 前面我们学习了Pytho…

迫在眉睫的职业规划

对于大多数程序员来说,微软是一家值得崇敬的公司,能够加入微软,也是很多程序员的愿望。在付出足够的努力后,一旦进入了微软,也就意味着可以和最先进的技术终日为伍,一直沿着技术这条路线走下去了。对吗&…

js setTimeout 使用方法

在项目过程中遇到一些异步加载和其他js方法冲突的问题: 如图初始化的时候会加载“商户基本信息”,修改商户名称字段第二个页面也需要修改: function setSeqAndName(){var pritab2 $("#allTabs").tabs("getTab", 1).find("ifra…

python中分支结构包括哪些_python中的分支结构

python不提供switch语句,但是python可以通过字典实现switch语句的功能 实现方法分两步: 首先:定义一个地点 其次:调用字典的get()获取相应的表达式 原始方法: from __future__ import division #内置函数,解…

机器学习算法之 logistic、Softmax 回归

逻辑回归本质是分类问题,而且是二分类问题,不属于回归,但是为什么又叫回归呢。我们可以这样理解,逻辑回归就是用回归的办法来做分类。它是在线性回归的基础上,通过Sigmoid函数进行了非线性转换,从而具有更强…

html上传预览图片原理,关于html中图片上传预览的实现

functionchange() {varpicdocument.getElementById("preview"),filedocument.getElementById("f");//得到后缀名varextfile.value.substring(file.value.lastIndexOf(".")1).toLowerCase();//gif在IE浏览器暂时无法显示if(ext!png&&ext!…

程序员成功之路

程序员成功之路 ——The road ahead for programmer(演讲稿) 一、我很羡慕在座的各位同学,因为你们是中国未来的程序员,而我不是,我一直很遗憾。 比尔盖茨曾经写过一本书叫做《未来之路》The road ahead, 那么今天我选…

【温故知新】——原生js中常用的四种循环方式

一、引言 本文主要是利用一个例子,讲一下原生js中常用的四种循环方式的使用与区别: 实现效果: 在网页中弹出框输入0 网页输出“欢迎下次光临”在网页中弹出框输入1 网页输出“查询中……”在网页中弹出框输入2 网页输出“取款中……”在…

部署egg需要用到pm2吗_使用宝塔面板部署校园综合服务平台项目

本文档为校园综合服务平台服务端的安装部署教程,欢迎star小程序端下载地址:https://github.com/landalfYao/help.git后台服务端下载地址:https://github.com/landalfYao/helpserver.git后台客户端下载地址:https://github.com/lan…

机器学习算法之线性回归

一、什么是回归算法 回归算法是一种有监督算法 回归算法是一种比较常用的机器学习算法,用来建立“解释”变量(自变量X)和观测值(因变量Y)之间的关系;从机器学习的角度来讲,用于构建一个算法模型(函数)来做属性(X)与标签(Y)之间的映射关系&a…

html中怎么写多选框,如何在HTML中实现“选择所有”复选框?

checkboxes document.getElementsByName(foo);for(var checkbox in checkboxes)checkbox.checked source.checked;} Toggle AllBar 1 Bar 2Bar 3 Bar 4最新情况:这个for each...in构造在Safari 5或Chrome 5中似乎不起作用,至少在本例中是这样的。这段代…