论程序员的自我修养——我在阿里干了十年开发

到底是努力重要,仍是选择重要?资深阿里技术人毕玄师兄有着本身的看法。程序员

毕玄,阿里巴巴基础设施事业群负责人,资深技术专家。打造了阿里目前使用最为普遍的核心中间件之一的服务框架;设计并带领团队实现了阿里技术发展史上具备里程碑意义的异地多活。架构

文章不长,但值得品味。师兄的文风就和他的代码同样,简洁洗练。框架

2007年年末,我入职阿里。工做十年,我看到了各类各样的程序员,也看到了各类各样的成长路线,说说本身的一些观点吧。学习

第一阶段:拓展视野,择一深刻设计

做为技术人员,在刚起步阶段时,首先须要拓宽本身的技术宽度,对本身所作的项目/产品所涉及的方方面面的技术都应该有所了解。中间件

另外就是学习工程化,让本身真正具有开发商业软件的能力。blog

在工程化和知识宽度达到必定阶段后,根据本身的兴趣和工做内容有所选择,主要是增强在某一领域的技术深度。资源

第二阶段:自我评估,选择方向
在技术深度达到了必定阶段后,须要对本身作出一个判断,就是更适合偏业务方向,仍是偏基础技术方向发展。开发

偏业务方向的技术人员,我认为作的好的表现是:get

一、对业务发展的将来有必定的预判,有商业敏感意识;

二、能对复杂的业务进行合理的抽象;

三、在系统的设计上能对将来业务的变化有必定的预留处理。

偏基础方向的技术人员,我认为作的好的表现是:

一、能结合业务的发展趋势对基础技术的方向有必定的预判,避免业务发展受到基础技术的拖累;

二、对业界的技术发展方向有本身的认知和判断;

三、在对应的基础技术领域有不错的技术深度。

同窗们能够结合自身特质以及当前状况,作出一个选择,重点发展。

第三阶段:再进一步,你须要的是…

再往更高阶走的同窗,一般就会出现一种新的角色,就是成为团队leader。


作为一个技术团队的leader,不管是业务的仍是基础技术的,在技术能力上仍是不能差的,尤为是判断力。

另外,做为一个团队leader,就意味着承担了团队方向的判断的职责。一个团队的方向基本会直接影响到团队全部成员的将来,以及所支持的业务的发展情况。

对于团队leader,我以为最重要的能力就在方向的判断上,而后是根据方向的判断的组织建设(团队搭建,人才识别、培养、招募等)能力。


若是不是往leader方向,那基本就是往架构师方向为多。

做为架构师,除了至少一两个领域的深度外,对广度的要求很是高。不管是业务架构师,仍是基础方向的架构师,领域的知识宽度是很是重要的,意味着能作多大范围的事。

还有一样就是判断能力,判断能力会体如今架构师在作设计时如何判断重点,在有限的资源和时间状况下如何作取舍,对将来如何让铺垫,以及对事情的技术控制能力。

一个好的架构师在技术风险的控制能力上必须是很是强的,例如一个强大的基础领域的架构师,应该是能够很好的控制跨多个专业技术领域的技术演进。

除了以上两类,还有一种是往专业技术深度领域方向走,例如内核、JVM等,这些领域是真正的须要很是深的技术功底才能hold住。还会有其余例如转型往业务产品方向等发展的就不在此展开了。

总结:兴趣是最强的自驱

总而言之,我以为在整个成长过程当中,兴趣是最为关键的。

“Follow your heart” 很是重要,只有在足够的兴趣或梦想的状况下才能产生很强的自驱,没有足够的自驱我以为在技术领域基本上是不可能走到高阶的。

除兴趣外,自身的优点也要判断清楚,每一个不一样的方向,我本身认为仍是须要必定的天分的,而所谓的天分我以为就是对我的优点的判断。

师兄说,兴趣和梦想是他成长中最强的自驱力

阿里巴巴的故事,

也是从一群年轻人长城上的梦想开始

在很难的时候,

是什么支撑着你逆风飞翔?

原文连接 本文为云栖社区原创内容,未经容许不得转载。

相关文章
相关标签/搜索