程序员的成长路线

工作这么些年了,看到了各种各样的程序员,也看到了各种各样的成长路线,说说自己的一些观点吧。

作为技术人员,在刚起步阶段时,首先需要拓宽自己的技术宽度,对自己所做的项目/产品所涉及的方方面面的技术都应该有所了解,另外对于就是学习工程化,让自己真正具备开发商业软件的能力。

在工程化和知识宽度达到一定阶段后,需要开始根据自己的兴趣和工作内容有所选择,主要是加强在某一领域的技术深度。

在技术深度达到了一定阶段后,需要对自己做出一个选择,就是偏业务方向,还是偏基础技术方向。

偏业务方向的技术人员,我认为做的好的表现是:
1. 对业务发展的未来有一定的预判,有商业敏感意识;
2. 能对复杂的业务进行合理的抽象;
3. 在系统的设计上能对未来业务的变化有一定的预留处理。

偏基础方向的技术人员,我认为做的好的表现是:
1. 能结合业务的发展趋势对基础技术的方向有一定的预判,避免业务发展受到基础技术的拖累;
2. 对业界的技术发展方向有自己的认知和判断;
3. 在对应的基础技术领域有不错的技术深度。

结合自己的特质以及当前的一些状况,做出一个选择,重点发展。

而再往更高阶走的同学,通常就会出现一种新的角色,就是成为团队leader,做为一个技术团队的leader,无论是业务的还是基础技术的,在技术能力上还是不能差的,尤其是判断力上,另外,作为一个团队leader,就意味着承担了团队方向的判断的职责,一个团队的方向基本会直接影响到团队所有成员的未来,以及所支持的业务的发展状况,所以对于一个团队leader,我觉得最重要的能力就在方向的判断上,然后是根据方向的判断的组织建设(团队搭建,人才识别、培养、招募等)能力。

如果不是往leader方向呢,那基本就是往架构师方向为多,架构师的话,在至少一两个领域的深度外,对广度的要求非常高,还有同样就是判断能力,无论是业务架构师,还是基础方向的架构师,领域的知识宽度是非常重要的,意味着能做多大范围的事,判断能力会体现出一个架构师在做一个架构设计时重点是怎么判断的,在有限的资源和时间情况下取舍是怎么做的,对未来是怎么做铺垫的,以及TA对事情的技术控制能力,一个好的架构师在技术风险的控制能力上必须是非常强的,例如一个强大的基础领域的架构师,应该是可以很好的控制跨多个专业技术领域的技术演进。

还有一种是往专业技术深度领域方向走,例如内核、JVM等,这些领域是真正的需要非常深的技术功底才能hold的住的。

还会有其他例如转型往业务产品方向等发展的就不在这说了。

总而言之,言而总之,我觉得在整个成长过程中,兴趣是最为关键的,所以follow your heart非常重要,只有在有足够的兴趣或梦想的情况下才能产生很强的自驱,没有足够的自驱我觉得在技术领域基本上是不可能走到高阶的,除了兴趣外,自己的优势也要判断清楚,每个不同的方向,我自己认为还是需要一定的天分的,而所谓的天分我觉得就是对个人优势的判断。

ps: 我曾经很多次想过是不是也可以在厂内搞搞什么午餐会,例如每两周和一位自愿聊的同学交流职业发展、工作的困惑什么的(在各种晋升面试中看到很多时候是因为没思考清楚自己的职业路线,导致讲的时候就会没有重点),一直没搞起就觉得这样貌似有点奇怪。

转载自:阿里巴巴技术协会

作者:阿里毕玄

时间: 2024-09-20 00:27:28

程序员的成长路线的相关文章

PHP程序员突破成长瓶颈

先明确我所指的PHP工程师,是指毕业工作后,主要以PHP进行WEB系统的开发,没有使用其他语言工作过.工作经验大概在3~4年,普通的WEB系统(百万级访问,千成级数据以内或业务逻辑不是特别复杂)开发起基本得心应手,没有什么问题.但他们会这样的物点: 除了PHP不使用其它的语言,可能会点shell 脚本. 对PHP的掌握不精(很多PHP手册都没有看完,库除外) 知识面比较窄(面对需求,除开使用PHP和mysql ,不知道其它的解决办法) PHP代码以过程为主,认为面向对象的实现太绕,看不懂 这些P

程序员的成长阶梯和级别定义(转)

近月,公司召开了今年的「武林大会」-- 年度晋升评比.如今大会落幕,尘埃落定,我呢既作为评委又作为选手参加了这次大会,有些感想在这里简单写下. 随着公司发展壮大,研发人员数量也日趋庞大(6k+),每个人如何成长,发展,修炼,打怪升级不仅是自身不可回避的命题,也是公司的一个重要命题.在互联网这行以 BAT 为首逐步发展出了自身成熟并成型的技术人员晋升体系和级别定义.例如:B 厂从 T1 到 T10,A 厂从 P1 到 P11,T 厂分四个大级别(T1 ~ T4)每个大级别内部再细分若干小级别.但不

程序员的成长问题?

问题描述 听说新手程序员在公司里一直只让做一个模块的东西,那想成长到项目经理级别的该怎么做? 问题补充:liveHappy 写道 解决方案 别人的说法要看成是参考,你不能总听别人说吧,他们说是他们自己的观点,要自己去做了才知道啊.项目经理他也是从一点一点起来的,经验都是慢慢积累的,我想不用我说你也知道.到公司了,首先做好自己份内的事情,在别人做一些你不会的事情时,自己留心学习,勤奋一点就好.

七年阿里老人谈新人程序员的成长

先做事再做人 新同学常有这些困惑,到底是做技术还是做业务?是每天加班加点写代码还是空点时间来看书学习?是先追求广度还是先钻研一门技术?是两耳不闻窗外事一心埋头做事还是和同事打成一片参加各种活动?这些问题也曾困扰着我. 我觉得新人到一个团队最关键的是在前3年建立个人品牌,为什么?当别人对你完全不了解,你做的第一件事非常重要.你给别人留下的印象会蔓延到整个公 司,所以第一件事一定要做好.怎么才叫做好?在职场中,并不需要时刻比拼智商,大部分情下,做事认真一点.考虑更深入一点.积极主动一点,已经好于70

PHP 程序员危机:如何快速成长为不可或缺的技术人才?

感谢有这样的机会,能和大家一起来聊聊开发者的那些事儿. 其实程序员危机是一个真实存在的问题.也有人说是互联网行业的下滑或者互联网行业已过了风口等等.我在这儿主要谈的是 PHP 程序员的危机,而这种危机多半来自于丰富的语言种类和公司对语言的选择上. 尤其是近几年非常火热的人工智能,机器学习等等,还有推上风口的 python.这多少会带动一些人盲目跟风.其实开发工程师对自己知识体系的扩充和转型都需要有一个明确的目标.跟风是一件比较危险的事情,转型也不同于丢掉自己所有的东西.我想通过程序员的诞生和程序

程序员成长规划

引言 我的程序员成长之路 程序员的成长经历往往很相似,大部分的人走过了最前面相同的一段路,而有的人则走得更远.总结自己这些年来的历程,这也许能让年轻的程序员少走一些弯路,成长得更快:或许更好一些,能让大家从中得到一些启发,早日进入优秀程序员的阶段,实现梦想,释放激情. 第一阶段,最初是在学校里学习计算机基础知识,学习经典的程序设计语言,编写测试用的小程序.这个过程可以说是对计算机和程序设计的入门阶段.这个阶段主要是培养了自己对计算机软件的兴趣,打下了良好的计算机基础知识. 第二阶段,而后参加工作

书摘:程序员成长的10个阶段

导读:本文节选自机械工业出版社<程序员成长路线图>一书.该书的作者N216.张磊和吉阳一起回忆和总结了自己几十年的程序员成长经历,对当前程序员关心的热点.重点.难点问题给出了自己的看法和建议.通过对程序员的成长阶段进行划分,使得各个阶段的程序员都可以"按图索骥",解决自己所遇到的问题. 图书封面: 我的程序员成长之路 程序员的成长经历往往很相似,大部分的人走过了最前面相同的一段路,而有的人则走得更远.总结自己这些年来的历程,这也许能让年轻的程序员少走一些弯路,成长得更快:或

一个.Net程序员关于学习的思考顺带思考人生

本文转载:http://www.cnblogs.com/Wayou/archive/2012/11/08/some_words.html   心安即是归处 既然选择了编程,只管风雨兼程 你错过了夏花绚烂,必将走进秋叶静羌 一次会议记录是不会有人感兴趣的,做标题党也是不道德的.所以,走了个折衷的路线,标题不叫会议记录, 内容不纯总结,技术加吐槽,经验加总结. 对于一个程序员的成长,学习似乎是永恒的事情.为什么网友爱用"苦逼"来形容程序员,因为他们整天伏案写代码,学不完的新技术.其实仔细想

PHP 程序员危机

感谢有这样的机会,能和大家一起来聊聊开发者的那些事儿. 其实程序员危机是一个真实存在的问题.也有人说是互联网行业的下滑或者互联网行业已过了风口等等.我在这儿主要谈的是 PHP 程序员的危机,而这种危机多半来自于丰富的语言种类和公司对语言的选择上. 尤其是近几年非常火热的人工智能,机器学习等等,还有推上风口的 python.这多少会带动一些人盲目跟风.其实开发工程师对自己知识体系的扩充和转型都需要有一个明确的目标.跟风是一件比较危险的事情,转型也不同于丢掉自己所有的东西.我想通过程序员的诞生和程序