阿里五年晋升三次,这个程序员要聊聊他的选择

4,019 阅读8分钟

小二穆远是蚂蚁金服的一名程序员,五年晋升了三次,他要聊聊自己的五年阿里之旅,那些变化、坚持和泪水。请看本期的年陈故事会。

在阿里待满五年是一种什么样的体验?打怪升级,一路找寻自己的答案。《年陈故事会》,来自阿里小二的自述。

说起与阿里的缘分,是因为读书时在T公司实习,不喜欢实习那个组的工作内容,毅然决定来阿里工作。其实现在看那时的自己,也只是年轻不谙世事,半只脚踏入社会就开始以自己幼稚的标准评价周围的人、周围的事,所以按照当时我的认知水平,如果先在阿里实习那现在很可能就是在 T 公司写五年总结了,正因如此,我后来很喜欢讲一个黑程序员的段子,“所有程序员都看其他程序员是 SB”,因为自己也是从那个阶段走过来的。

这也让我想到最近团队新来的 93、95 后们,这些新同学普遍教育背景非常好,新加坡国立、牛津等等,但每个人都不是应届进来,而是在其他公司工作了几个月后跳槽到这里,是个很有意思的现象。联系上述我自己实习的经历,我想表达一个观点,也许每个大公司都一样,不尽如意,我们只能在跳过几次槽,碰壁过几次后才会发现在哪里都差不多。当我们选择了阿里,我以自己的经历来看,这里不会错,可以接触到领域内最先进的技术,保持高速成长,周围充满了行业内最优秀的人才,每个人都有闪光点值得学习,有很好的组织保障让我们在很好的团队里,专注工作。

每年都会看到有同学在内网分享自己的三年醇、五年陈经历,印象里大家谈到最多的就是变化,就是坚持,就是泪水,我想我也差不多是这些,但每个人都是独一无二的经历,我也来分享一些故事和想法。

让自己脱离舒适区

我记得 15 年第一次谈绩效,那会刚参加工作一年,跟当时的主管说,我很焦虑,因为各种工作上的问题,想知道该怎么避免这种状态。出乎我的意料,老板饶有兴趣地看着我说,一个刚毕业的小同学,应该还是埋头做事的阶段,如果有焦虑感,那是非常好的事情,一定要保持住。从那之后,我就记住了这句话,不再排斥自己因为能力不够,工作没做不到位带来的不适感,而是利用这些,督促自己学习、适应、解决问题,同时尽量让自己保持状态,脱离舒适区。

皮实一点,帮团队承担更多

保持不适感是为了让自己可以拥有持续成长的动力,那么,帮团队承担更多就是让自己做到持续成长的方式。这个逻辑大家都懂,我就举个小例子:我们团队负责的系统有一个工作流引擎,是做离线计算的,down 掉重启一下就好了,也不会引发线上故障,但年轻气盛的我,主动请缨要在一个月内提升到四个九,其中过程的艰辛不表,但结果是好的。后来有人跟我讲,系统稳定性问题那都是最复杂的问题,需要 100% 认真去做,否则就是 3.25 起步,那年的晋升,这件事也意外成了我汇报的一个重要亮点。

这类事情,我相信每个技术同学都经历过,对我来说,判断一件事要不要做的原因不是这件事做完是否可以拿出来讲,而是这件事是否可以解决团队的问题,因为解决问题的过程我一定可以学到东西,同时也会让我得到团队的认可,当然也附带了其他好处,比如事情做得多了,年终总结的时候,一定有值得总结沉淀的亮点,就像广撒网一样。

向身边优秀的同学看齐

那么多的鸡汤,我却选了这碗,是因为向身边同学学习对我的帮助真的很大。知乎上很多人在讨论刚毕业,大公司与创业公司该去哪里,在我看来,大公司优先级远超过创业公司的原因是,大公司平台好,聚集了行业内最顶尖的人才,而且阿里的趋势是,人才越来越高端,这真的是对我们每个人最大的利好。就拿大家最烦的周报来讲,我刚开始写周报的时候,总是很苦恼,团队有的同学的周报写的那么清晰和丰满,我只能罗列解决的几个小 issue,所以我才能慢慢地看懂别人的工作,学到别人的思考,应用到自己的工作里。也因此养成了总结的习惯,长期培养的抽象总结能力,不仅体现在周报上,各种汇报 PPT 都非常有用,更能帮助站在全局思考。

用三年时间锻炼心力

我有一个习惯,每当有新同学入职找我一对一沟通,我不会画大饼,说这里的工作多美好,而是告诉他,最好待满三年。因为我看到太多人一年左右就离开了,因为各种原因。当然,并不是说一年跳槽不对,只是我听到很多人在不同场合都讲过,在一个公司,最少待三年才能对这个公司有感觉,这也是公司一直强调的三年醇的逻辑。关于这个逻辑,我也是很认同的,我认同的原因不是说,想对某个公司有感觉所以要待三年,而是通过三年的时间,锻炼的不仅是技术,还有强大的心力,而后者,待的时间不够一定体会不够。

关于开会

会议效率是个“亘古不变”的话题,见仁见智,我一直践行的一点是,如果决定参加某个会议,就要认真听,认真思考,认真反馈,在会议里起到作用,如果去了不听,只是看自己的电脑,那就不要去,因为在会议里工作一点效率都没有。

关于晋升

马上要开始晋升季了,在晋升这个话题里,我也希望可以提供一些我的心得,因为非常幸运地,我在这五年内晋升了三次。晋升,一定是天时、地利、人和缺一不可的,抛开运气成分,我总结一下我的地利、人和的部分。

关于地利,我的经验是,专注、深耕一个领域,比如我是做机器学习工程平台的,从 14 年“近卫军”培训结束就开始做,到现在还在做这个事情,而且未来我还会持续做这件事,所以,对我来说,在一个领域内不断地学习,是成长的必要条件。

关于人和,对我帮助最大的方法是,永远按照更高的层级要求自己做事情。其实逻辑很简单,一定是一个连续的、循序渐进的过程。所以,我们要让跨过这个 range 的过程尽量的自然,那就只能提前多迈迈腿,让晋升变成水到渠成的工作汇报。

Coding 是立身之本

如果说上面是我这些年总结的心得,那最后这一条就是汇聚所有心得的基础。“我们要保持一直在一线 coding”。从去年升到 p8 开始,不止一个同学问过我,升了 8 当了主管还需要写代码么。首先,我认为作为主管第一要务是对团队负责,保证团队目标达成,保证团队稳定,负责团队每个人的成长,但这些跟 coding 有什么关系呢。持续 coding 可以保持一个人敏锐的技术嗅觉,在技术选型,方案讨论时做出正确的判断,避免自己逐渐演变成太“形而上”的技术思维。但从精力分配角度来看,对团队负责一定会占用大部分精力,我的经验是,多写,多 CR。

多写的意思,不是说我是架构师,我是技术专家,我就一定要写核心代码,搭框架,那样肯定不够,也没有那么多核心代码给一个人写,要平衡,也要分担,既要团队每个人都有核心模块成长,也要承担 30% 的日常的 coding。

多 CR 是很重要的,尤其在时间不够的情况下,可能有些 issue 没时间写,但可以通过 CR 保持细节的跟进并学习其他同学优秀的代码风格,一举两得。