41岁阿里工程师:35岁转管理,真的是必经之路吗?

程序员节,也恰恰是我在阿里工作满3年的时候,借此机会盘点一下自己近3年来的工作,也为自己后续发展把把关。个人的眼界和思考总是有限的,特别是对于研究和技术领域来说,知道得越多,其实就会知道自己有多无知,从而对未知心生敬畏,并因未知的广阔而兴奋。

我是1976年生人,属龙,今年41岁,所以,可以算是老程序员了,15年前我读研的时候,就被一起创业的小伙伴称为老何了。我对写代码确实喜欢,大概在96年,大三的时候拿到了高级程序员证书,算是一桩可以拿来吹的事。

博士毕业工作以来,一直最大的乐趣就是自学习和深入的思考。所以,从来不以工作过程中项目或者业务的简单或者复杂而困惑。对自身的发展我一直有一个明确的指导方针:就是一步一个脚印,提升自己解决问题的能力,不给自己设限。我大概在10年前面试一个40岁的大叔的时候,就认真地思考过,结论是:我喜欢写代码,我会为此坚持一辈子。

一、既然这个项目这么重要,我们就干吧

回归正题,总结一下在阿里最近3年的工作。前两年,我主要在御膳房数据引擎团队做猪头小队长,聊两个重点经历的项目。

第一个就是5k+,一个通用大数据平台。刚去一个月就赶上这个集合京杭两地的大项目,确实蛮幸运的。在这个项目中印象深刻的有几个地方吧,一个是立项的时候参与方案的讨论,因为涉及京杭两地、跨部门、跨团队的沟通,各个团队的老大难免在一起相爱相杀,我们一帮小弟在旁边参与讨论。一直相杀到凌晨的时候,在自由发言的阶段,我实在忍不住,跳出来说:既然这个项目这么重要,我觉得我们就干吧。真的是仗着自己在创业公司积累的锐气跳出来说这一句的。我觉得大不了就是拼啦。

我说完就意识到这可能给自己的老大带来了巨大的麻烦。很幸运我老大也早就扯烦了,站出来承担责任,一时间各个老大分别出人出枪,一时间群情激奋。最后的责权分配在20分钟内就完成了。甚至一位老阿里都哭了。

感谢那一晚上的感觉,也感谢阿里给我一帮很棒的队友和老大。永远记得。后面996两个月,并且京杭两地互换出差的过程中,我负责两个小模块的项目管理,我发挥自己解决问题快的能力,哪里有窟窿我就去哪里堵,当然,整个团队的人都非常强大也非常努力。在最后项目结束评奖的时候,我拿了个最佳救火队员奖,我真喜欢这个奖。

虽然我也是项目的PMO之一,但是除了打酱油,更多的是观摩和学习阿里的项目管理和组织协调。这个项目真的很难,做的过程中经历了各种妥协,项目完工后我们又断断续续还了一年的技术债,但是当时那种拼搏自己和燃烧自己成就BIG ONE的感觉,再难重现。后来也跟一些其他公司的同学沟通关于数据平台构建的事情,发现,我们真的走得很远。因为是写自己的感受,就不表扬其他同学了,要不然写一本书都可以啦。

二、这不是我一个人的工作,只是努力使它变得完美

第二个项目也带有我自己的强烈特色,我们一直被业务压的很紧。但是对于引擎层研发来说,团队成员也有自己的诉求,而且,系统要逐步完善和改进。在5K+项目完成后,我们依赖的一个重要模块开始频繁出现问题,随着团队间沟通的深入,我们发现对方团队的不稳定和发展方向不确定导致这个模块未来风险非常高。我们首先想到的是部署一套新的,作为过渡。在过渡阶段,为了完成业务的同时来做这件事,我把团队两位同学的一部分业务工作承接过来,腾出人力开始做这件事,两位同学远赴杭州,出差一个月,把平台基本接过来。保障了我们业务的平稳运行。随后,我们调研后果断抛弃了这个模块的原有实现,调集团队的技术力量重新规划设计新的模块,除了替换,更重要的是为了发展。这一步走出后发现后面很多东西都活了,数据服务开始作为一个重要的点慢慢从整个平台浮现出来,与数据团队产生更深度的互动。进而随着原数据服务的不稳定,催生了新的数据服务平台。

这不是我一个人的工作,我只是努力使它变得完美。当初万分纠结,每一步都步步惊心,现在相信每个参与这个项目的同学,心里都是美好的回忆。而且,我们不仅通过这个项目成就了自己,更成就了兄弟团队,成就了御膳房的发展。说大了。

三、技术挑战是猎物,是机会,是战功

在这三年里,我不认为自己遇到了很大的技术挑战,很多事情提前想到,组织技术专家提前讨论,当和团队在一起的时候,技术挑战是猎物,是机会,是战功。

举一个简单的例子来说明我做一个项目的过程,例如:我们要实现一个限流的服务,就是允许一个租户的qps最高多少。首先需要界定问题的边界,包括:要不要考虑网络层攻击(可能被其他模块处理掉)、未来一段时间业务的规模,系统稳定性、架构扩展性等。

这些问题确定后,会有一系列的技术方案或者成为技术选型,那么如何判断采用什么技术方案,当时不是最新最酷的最好的,要考虑将来部署环境,上下游环境。最重要的这是一个分布式需求。简单来说,n台服务器共同维护一个qps值,这后面的分布式理论,朴素来说就是CAP,在CAP三者不能同时满足的情况下,应该降低那个并保证业务的目标。

为此,我们参考分布式的BASE模型,降低了一致性的需求,采用分区和主体配额池结合的思路解决了大租户的流量控制,而针对长尾租户采用了另一套控制来保证精确限流。

同时考虑第三方模块和非关键模块挂掉或者降级中的应急预案,以及模块部分宕机或者机房断电导致的服务不可用,以及某些服务的单点问题等而设计完整的稳定性方案。当然,最后还要考虑扩展性方案,如果需求规模突然变大,但是整体是有边界的。

总结起来,整个项目要有明确的目标和阶段以及对应的关键指标,做到可观测、可评估、可扩展、可恢复、以及容易交付给其他人继续研发和维护。

我不认为自己做得很好,但是当逐步完善一个系统时,真的蛮快乐的。

(from 朋友虞老板拍摄,当我们吟诵春风不度玉门关的时候,玉门关其实是这个小土坑了。所以要辩证思考那些流传的话,比如“35岁前必须转管理”)

四、我不认为做到35岁转管理是必要的

现在细想起来,在我的成长道路上,给我提供技术指导的大牛真的很少,更多的时候,我更喜欢向任何一个我遇到的人学习,我学习的目的不是超越别人,而是超越自己。转岗到iDST团队后,我坐在iDST老大的旁边,有幸耳濡目染研发和管理达人的工作,受益匪浅。我一直觉得,程序员没有人能教会,要的是自己的钻研和用心的学习。包括我原来御膳房团队的同学和现在iDST的同学,在合作和交流中,总能发现那些令你眼前一亮的优点和闪光点。这如何不欣喜。

另外,我觉得保持持续的思考和以开放的态度与其他同学沟通非常重要,互通有无。我觉得我目前最大的技术优势可能还是在工程领域,主要是服务器后端研发以及数据平台建设这边,主要是思考和经验比较多。我会在理论和实践两个方面继续增强自己的能力。与此同时,我一直在储备自己在人工智能方面的知识。得益于我博士论文期间在信息检索方向的深入思考,我很早就发现了这个能让我着迷的领域。

这里稍微聊两句人工智能领域,虽然一些人说这里面也就是所谓的调参、特征工程、训练深度网络等。这些真的是门外汉才会这么说。真正里面需要的是理性的思维,解决这种没有明确的路径可寻的问题需要非常深入的思考、尝试,经历无数次失败可能有一点小收获,然后还要把这种小收获用最精准的数学语言阐述出来,为后续的研发铺平道路。

目前我刚刚读完NLP领域的一本综述,正在重新构建自己的概率论和统计学的知识体系,尽量做到基本的概念信手拈来,然后找一个小的领域进行深入的思考和尝试。对于我来说,找一个点建立一个模型,改改参数出一篇论文的诱惑不大,我希望能够研究前人的研究成果,在理论深度有一定的突破。

在这个领域,那些谈35岁就转管理的程序员可能根本就无法明白。当遇到一个可以持续投入精力去钻研,并且越钻研觉得越难的事情的时候,对于我来说,何其幸运。更何况,我不认为做到35岁转管理是必要的。管理并不好做,很多人以为管理就是分配工作,技术人员都是心高气傲之辈,能力低的根本领导不了,只能领导能力更低的。而且真正的管理和写代码一样,也是一门学问,一门理论与实践相结合,需要边探索边实践的学问。人家让你领导,是把自己的发展托付到你的手里,所以是更重的责任。

我主要利用上下班路上的时间来做机器学习的钻研,每天大概3个钟头左右,上班时间主要还是写业务代码,我热爱写码,调通一个功能的感觉真TMD爽。

举个例子,那本NLP综述,我用了将近一年的时间,在上班路上读完,在读到机器翻译模型的时候,深深的迷醉与那5个IBM工程师发明的模型。这些模型发明的过程,思考的过程,是我学习的对象。

最后想说的是,在阿里,一样经历繁华,经历迷茫,经历失落甚至冷落,最重要的是守住自己的技术之心。每年至少800次想不干了,当然,挣钱养家最重要。能读到这里的都是真爱啦,我无意成为大V或者技术领袖,自从见识了某位外来的技术领袖在阿里混了一年多一事无成被3.25后离职,就对技术领袖无甚尊重。

祝各位心想事成,人人十套学区房。

作者:何召卫、阿里巴巴高级技术专家,此文获作者授权发布。

原文链接:https://mp.weixin.qq.com/s/so9UyPvLutu1_ONOD_w-xA

Image placeholder
IT头条
未设置
  88人点赞

没有讨论,发表一下自己的看法吧

推荐文章
35岁只是普通程序员,还有救吗?

作者:草核儿来源:木东居士关于作者:草核儿,互联网行业沉思者!希望传播的是正能量,但偶尔会被误以为是散播焦虑!欢迎大家多多交流~0x00还有救吗?看这个标题,就感觉是一篇焦虑文。好了,本草核儿今天的确

当中小企业决定上云,真的像你们说的那么简单吗?

题图:fromZoommy四季度历来是一年中最忙碌的时期,辛苦了一年,各项工作都在收官,千头万绪、环环相扣,再加上绩效考核的开展,不但烧脑,而且还烧心。同时,最后一个季度又肩负着为来年开局而打基础的艰

IT行业35岁后的职业规划建议

关于每一个IT人来说,35岁后是一个需求认真思索职业开展出路的新阶段。到了这个阶段,大家也不用过于焦虑,固然随着年岁的增长,30多岁的程序员在膂力和工作效率上,可能会比不上年轻的新人,但是经历的积聚关

看,那个35岁的程序员好像一条”狗“…

35岁并不是所有的程序员都成了架构师也不是所有的程序员都荣升技术总监更不是所有的程序员都转成了项目经理大部分35岁的程序员依旧是一线码农…..有的是真心喜欢,而更多的却是无奈。无论何种原因,35岁的程

过了35岁,90%以上DBA都在迷茫:未来要何去何从?

墨墨导读:如今,越来越多35岁以上的数据库从业者面临着各种各样的压力,对前进的方向有些迷茫,本文就这一普遍现象做出了简要的分析,包括压力产生的原因、如何应对这些压力、如何迎接未来的挑战!你的事业做了十

程序员囤房养老:这届年轻人,真的很拼

35岁后混的好的码农,都是靠副业发家致富的。近日,杭州一名程序员的购房地图走红网络。在写代码之余,靠着研究这张自制地图捡漏拍卖房,据了解,该程序员目前已经靠拍卖房产赚了上百万。献上膝盖之前,先来看看视

阿里支付宝架构师:谈谈我眼中的高并发架构【好文】

来源:my.oschina.net/u/3772106/blog/1793561前言高并发经常会发生在有大活跃用户量,用户高聚集的业务场景中,如:秒杀活动,定时领取红包等。为了让业务可以流畅的运行并且

阿里巴巴架构师:十问业务中台和我的答案

Photo@  ZachLucero文 |王思轩一切业务数据化,一切数据业务化。“中台”概念这几年非常火,特别是阿里、腾讯、百度、京东等互联网公司最近频繁的基于中台调整组织架构,把“中台”的热度又上升

21岁日本女星惨遭猥亵,只因自拍瞳孔倒影暴露住址? | 一张照片是怎么出卖你的!

不管你是才男俊女还是相貌平平,在朋友圈中点赞最高的永远都是自拍照,特别是到了放假期间,通过朋友圈你可以感受全世界的爱。各位在各大社交网站晒图享受赞誉的同时,跟随着有一些风险也悄悄到来。前一段时间有一个

周鸿祎:360回归企业安全 携手安全生态打好网络攻坚战

8月19日,主题为“应对网络战、共建大生态、同筑大安全”的第七届互联网安全大会在北京雁栖湖国际会展中心隆重开幕,来自国内外的百余位专家共同讨论全球网络安全的最新形势,从战略、产业和技术等多个层面,探讨

敏捷开发流程之Scrum:3个角色、5个会议、12原则

本文主要从Scrum的定义和目的、敏捷宣言、Scrum中的人员角色、Scrum开发流程、敏捷的12原则等几方面帮助大家理解Scrum敏捷开发的全过程。一、Scrum的定义和目的Scrum是一个用于开发

你公司所拥有的数据,真正被使用的有多少?

如今,很多公司的领导者基本都可以认定一个事实:你的公司有很多数据。但有一个非常重要问题是,任何组织内部,可能都会有大量数据从来没有被收集、处理或使用过,当然造成这种现象的原因有很多。我们可以把这些数据

企业备份软件选型指南:这三点是必关注项

企业备份软件,简单来说可以将数据和应用程序从主存储平台转移到二级存储。过去,磁带和磁盘常被用作二级存储媒介。如今,越来越多的供应商也把支持公有云存储作为一项长期战略。在现代IT实践中,备份工具已经从仅

【跃迁之路】【868天】全栈工程师IT知识库更新记录(2019.1.3更新)

[叨叨两句] 跃迁之路整体迁移至GitHub做为开源项目,未来的更新提交都在那,其它地方只做更新记录的发布 该项目将定位为全栈工程师养成,目标是可以独立完成项目的全流程工作 项目地址https://g

蚂蚁金服研究员玉伯回顾阿里十一年成长之路

注:这是在阿里内部前端大学的一个分享,整理了一份对外的版本,希望分享内容能对你有所帮助。 编者按:本文通过玉伯授权后发布今天跟大家分享下个人成长和带团队的一些感悟。我可能更偏向于写作型或阅读型,很少

多云时代下大规模数据库管理,该怎么做?

中国经济的高速发展是世界各国人们有目共睹的,随着数字经济时代的到来,金融数据库的管理,也随之面对一系列的新技术与挑战。云计算一直以来被认为是极具颠覆性的技术力量,随着云计算的应用普及,越来越为企业重视

你真的了解 React 吗?这里有 50 个 React 面试问题

如果你是一位有理想的前端开发人员,并且正在准备面试,那么这篇文章就是为你准备的。本文收集了React面试中最常见的50大问题,这是一份理想的指南,让你为React相关的面试做好充分的准备工作。首先我

程序员的入门门槛真的那么低吗?

最近朋友说起身边的老同学,好多都转型程序员了,连高中考试都要夹带小抄的**同学都去了,哈哈哈,我就实在是好奇了,程序员的入门门槛真的那么低么?很多人工资低干不下去,想转程序员;还有很多没学历的想改变生

GoWeb教程_11.0. 错误处理,调试和测试

我们经常会看到很多程序员大部分的"编程"时间都花费在检查bug和修复bug上。无论你是在编写修改代码还是重构系统,几乎都是花费大量的时间在进行故障排除和测试,外界都觉得我们程序员是设计师,能够把一个系

Carbon —— PHP 中日期 / 时间处理,你只需要这个扩展包就够了

在PHP中使用日期和时间并不是容易或清晰的任务。我们必须处理strtotime,格式化问题,大量计算等等。 这个漂亮的包叫做Carbon可以帮助在PHP开发中处理日期/时间变得更加简单、更语义化,从

Spring-SpringAOP原理,手写Spring事务框架

一、Spring核心知识Spring是一个开源框架,Spring是于2003年兴起的一个轻量级的Java开发框架,由RodJohnson在其著作ExpertOne-On-OneJ2EEDevelopm

41%的企业高层领导表示,数字化转型是在“浪费时间”

国外Celonis公司最近发布的一份调查报告称,近半数的高管在没有明确计划的情况下启动了数字化转型项目。报告显示,大多数企业都在进行数字化转型项目,虽然这样做的目的是为了提高企业效率和降低成本,但其实

IDC发布:到2025年,将有416亿台物联网设备

联网设备的数量,包括构成物联网(IoT)设备、传感器和摄像头,继续以稳定的速度增长。根据IDC的预测估计,到2025年,将有416亿台物联网设备,产生79.4十万亿亿泽字节(ZB)的数据。随着物联网设

到2022年,全球客户体验的支出将达到6410亿美元

根据IDC最新发布的《全球半年度客户体验支出指南》报告显示,2019年全球客户体验(CX)技术支出总额将达到5080亿美元,比2018年增长了7.9%。由于公司专注于满足客户的期望并提供差异化的客户体

前端微服务在字节跳动的落地之路

不少前端团队都面临着独石应用的工程巨大、理解困难和合作混乱的种种问题,微前端或许是一种比较好的解决方案,它允许我们为应用加入新功能而不影响整体结构。但同时,我们可能会付出一些代价,例如重复依赖、团