写点什么

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

  • 2020-04-24
  • 本文字数:3473 字

    阅读完需:约 11 分钟

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 工程师发明的模型。这些模型发明的过程,思考的过程,是我学习的对象。


本文转载自技术锁话公众号。


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


2020-04-24 15:431197

评论 1 条评论

发布
用户头像
隔行如隔山,管理真的不是想象的那么简单,就像韩寒曾败给职业桌球选手潘晓婷一样,《我们可能对那种力量一无所知》

在这个领域,那些谈 35 岁就转管理的程序员可能根本就无法明白。当遇到一个可以持续投入精力去钻研,并且越钻研觉得越难的事情的时候,对于我来说,何其幸运。更何况,我不认为做到 35 岁转

...

不了,只能领导能力更低的。而且真正的管理和写代码一样,也是一门学问,一门理论与实践相结合,需要边探索边实践的学问。人家让你领导,是把自己的发展托付到你的手里,所以是更重的责任。

2021-06-08 14:55
回复
没有更多了
发现更多内容

领域驱动设计101 - 值对象

luojiahu

领域驱动设计 DDD

架构师成长之路

soho

kube-controller-manager之AD Cotroller源码分析

良凯尔

Kubernetes 源码分析 Ceph CSI

不是我吹!看完阿里高工码出Java150K字面试宝典,进大厂稳了

Java 程序员 架构 面试

第一次凡尔赛,字节跳动3面+腾讯6面一次过,谈谈我的大厂面经

Java架构师迁哥

Hive|如何避免数据倾斜

数据社

hive 5月日更

数智化社会供应链助力消费体验提升 京东图书千万好书“先5折再满减”

科技范儿

想要成为架构师?你只要满足这些条件就可以

华为云开发者联盟

设计 工程师 架构师 软件系统 软件架构师

从外包辞职再到入职字节那天,我落泪了,没人知道我付出了多少

Java架构师迁哥

Mysql InnoDB使用的锁

water

iOS开发-60分钟入门

iOSer

ios iOS Document 移动开发 ios开发 iOS Developer

模块 4 作业

鲲哥

dubbo-go v3 版本 go module 踩坑记

apache/dubbo-go

Apache dubbo dubbo-go

花5分钟手写一个简单的HashMap,搞定挑剔面试官

北游学Java

Java 面试 hashmap

技术管理课学习笔记 01

escray

学习 极客时间 5月日更

接招吧!最强“高并发”系统设计 46 连问,分分钟秒杀一众面试者

面试 高并发 Java 25 周年

《看板方法官方指南》中文版发布了!

Bruce Talk

敏捷 Kanban Agile

Nginx通过Cookie做灰度就这么简单

运维研习社

nginx 运维 灰度发布 5月日更

应用架构步入“无服务器”时代,Serverless技术迎来新发展

华为云开发者联盟

Serverless 华为云 无服务器 可信云 FunctionGraph

一次事故,我对MySQL时间戳存char(10)还是int(10)有了全新的认识

华为云开发者联盟

MySQL 索引 时间戳 char int

技术栈,我该拿你怎么简化?

VoltDB

数据分析 5G 堆栈 边缘计算

MySQL数据库事务隔离性的实现

华为云开发者联盟

MySQL 数据库 事务 数据库隔离 事务隔离

Django 之模板篇

若尘

django Template Pattern Python编程 5月日更 模板

Java岗熬了6年,终成P8,只因搞懂了这七件事

Java架构师迁哥

【Flutter 专题】125 图解自传 ACE_ICON.ttf 图标库

阿策小和尚

5月日更 Flutter 小菜 0 基础学习 Flutter Android 小菜鸟

你是做敏捷与DevOps的,还是做掉敏捷与DevOps的?

刘华Kenneth

DevOps 敏捷 转型 教练

iOS面试题--基础篇

ios 程序员 面试 编程之路

大厂必问 iOS 面试题 - (上)

原来是泽镜啊

程序员 面试 ios开发

教你一招:让集群慢节点无处可藏

华为云开发者联盟

节点 GaussDB 集群 慢节点 慢实例

金三银四旗开得胜!春招字节正式批4面,顺利拿到offer

Java 程序员 架构 面试

Go 并发编程-channel 连接一切

Rayjun

Go 语言

41岁阿里工程师:35岁转管理,真的是必经之路吗?_文化 & 方法_技术琐话_InfoQ精选文章