30 岁的他,不善言辞,面对镜头也有些拘谨,但一谈到技术,话就停不下来,好像眼睛里都发着光;
从实习到工作,他用了长达 9 年的时间在阿里成长,中途从 B2B 团队主动转岗到蚂蚁金服中间件 SOFA 团队,放弃过去选择重新开始;
现在是 SOFA 开源负责人的他,对技术的热情在工作里越来越高涨,让工作成为了理想,活成了我们曾经想要的样子。
在他身上,我们看到很多平凡人的特性:普通大学出身,毕业后理所当然地选择了一份工作,上班下班,养家糊口。
但他又有着很多人所没有的东西:在工作中找到了热爱的事情,于是,所有工作上的辛苦都不再是前行的负重,而是助推。
鲁直,蚂蚁金服高级技术专家、蚂蚁金服分布式架构 SOFA 的开源负责人
平凡开发者的随波逐流
// 转变,是要找到更适合自己的位置 //
“当时就是单纯地不想考研究生,阿里给的工资又能(支撑我)在杭州活下去。“
1989 年出生的鲁直,四舍五入也算是个 90 后。2009 年,他报名参加了阿里和母校浙江工业大学校企合作的实习项目,经过 1 年的实习期,他在毕业季里成功拿下了 B2B 团队的 offer。
刚开始的时候,对于整个业务架构甚至都还不是那么了解,只是每天重复着很普通的代码工作,做诚信通产品研发(诚信通是阿里巴巴针对内贸企业打造的,以企业诚信体系为内核的电子商务会员服务),业务系统开发。每天想着建模是否和现在的业务模型匹配,IE6 下能不能兼容……
初入职场的鲁直像大多数人一样,生活、就业,很多时候随波逐流,顺势而为,还谈不上梦想说不上什么计划。
但是,一些幸运和很多努力,让他内心开始有了转变……
鲁直回忆:部门的技术主管认为新人刚进来,在技术方面需要更多的提升。于是鼓励大家去研究开源代码,做一些分析。
事实上,六七年前的业界开源意识并不像现在这么强烈,但是鲁直他们组织的“半民间”开源兴趣小组却坚持了近 2 年时间,一帮技术新人相互陪伴着学习开源,看代码,指出不足。
由于当时研究了很多中间件和框架的东西,自己也忙里偷闲看很多技术书,对于中间件,鲁直跃跃欲试。
这时候,他等到了一个机会,有同事提议:要不要搞一个研发效率提升的工具?鲁直马上响应:一起做!后来,被技术主管知道了,更是豪气地给了 1 个月的时间:你们先不用做业务,就把这个东西做出来!
2 个人,1 个月时间,把设想落地。
互相沟通磨合、架构、测试、他们乐此不疲,最终在期限内拿出了完整的作品。目前,这个工具还在蚂蚁金服和阿里有着较大规模的使用。
从看书自学,到组成小团队一起研究代码,再到这次的实操,鲁直在 B2B 团队 3 年时间,想清楚了自己究竟要什么。中间件,是他想马上撸起了袖子去参与的,想到成果就会成就满满的技术方向。
“想要去中间件。”2013 年,鲁直做了一个重要的选择:主动从 B2B 团队转岗到蚂蚁金服中间件 SOFA 团队。
SOFA 5 年
// 挑战、成长、拥抱开源 //
进入蚂蚁金服中间件 SOFA 团队的日子,比想象中更充实、更有乐趣,也更有挑战。
刚转岗到中间件的时候,鲁直最直接体会到的就是用户的不同,在业务团队只需要考虑业务,但是做中间件却要考虑到用户,也就是研发人员的使用场景、使用习惯的差异,哪怕在单词拼写、命名规范等细枝末节上都要一再较真。
“程序员大半时间都花在变量命名上了,真不是玩笑”。
而越接触中间件,就越发现它比想象得更难,但鲁直马上从“懵逼”的状态中出来:
那段时间,拼命去找相关书籍去看,建立对中间件的基础理论认知;然后开始做很多支持工作,有时候凌晨 2、3 点还在帮助用户排查问题。
这个过程中,迅速地了解了所负责的中间件产品的细节,快速地积累了解决问题的经验,“对于中间件的认识真的是飞速提升”。
而这还只是开始。
谈及做中间件最痛苦的事情,其实更多的是因为项目进度的压力而带来的挑战。
2016 年的双十一大促,当时是 SOFA 团队去做弹性架构的改造,但 SOFARPC 中的一个非常老的协议的支持在弹性架构下面却一直出现问题。
迫在眉睫的双十一、一直停滞的改造、高强度的工作,让整个团队的压力都非常大。
周末连续加班,一批人反复对这个协议深入分析,通宵制定修复方案,在高压之下,团队凝聚在一起,最终让业务顺利升级中间件,支持了那一年的双十一大促的要求!
或许这就是“痛苦造就性格”,不逼自己一把怎么知道自己可以做到?
其实,在 SOFA 的技术团队里还有一个共识:Design for failure,也就是在设计过程中假定在任何情况下底层都有不可靠的风险存在。鲁直坦言:在体量/规模非常大的情况下,小概率的事件发生都会变得非常频繁。
支付宝就发生过的一次黑天鹅事件,由于一个路由器把数据位翻转了,导致通信出现问题,而通信数据中存在一部分业务数据,其中有一个字段是钱,对于金融业务来说,从 0 变成 1 的细微改变,带来的影响是及其巨大的。不过那时候还比较幸运,出错的是数据头,直接报错了。
尽管算得上有惊无险,但大家都捏了一把冷汗。
“其实,这样小概率的事件可能 10 年也遇不到一次,但是一旦遇到,损失是难以估计的。”事后,技术团队马上在 RPC 层加了数据校验,保证数据在传输过程中不被经过篡改。
拥抱变化,承担风险,也开放技术。
2018 年 4 月,SOFA 正式开源了,由技术团队进行日常维护。鲁直表示:目前 SOFA 在蚂蚁金服有将近 2000 个应用,是被蚂蚁实践证实的一套框架,开源出去,让更多的人去体验、使用,对于 SOFA 的发展具备很大的意义。
“不管这个团队里谁走了,至少 SOFA 开源都不会停止。”
这也让场主想到,在 AMD 追赶英特尔的漫漫长途中,一句广为流传的话是这样说的:“AMD 的存在,不仅深受 AMD 客户的拥护,也是英特尔用户的福气,因为它打压了英特尔的高价垄断。”
或许开源的意义就在于此,给技术发展按上轮子,而这,也是鲁直所企盼的。
我不是大师
// 我是极客 //
5 年时间很快,鲁直在团队里的角色已经从架构师到技术管理再到如今的 SOFA 开源负责人,在阿里,他走过了三十而立。
现在团队人送外号——鲁大师。
“第一个叫我鲁大师的人,不是因为我真的是大师,而是因为有个杀毒软件叫这个名,再说了,我们 CTO 鲁肃,花名也姓鲁,要是别人在鲁肃面前叫我鲁大师可怎么办!”不善言辞的鲁直说到这里,也忍不住笑开了。
他自谦不是大师,但下一句却可以自豪地对着镜头说:我是一个极客。
工程师、极客,是他对自己的定位,也是对自己的要求。在 SOFA 的研发、架构、项目团队管理乃至开源的负责,他都值得一句问心无愧、全力以赴。
细数下来,鲁直在阿里 9 个年头了。他曾经说过:如果哪一天,我在阿里的成长完全停滞了,那可能就是我离开的时候了。
对比 95 后 3 个月辞职的闪速,9 年时间都选择在同一家公司,这种坚持来源于他自己对中间件的喜欢,也有着阿里/蚂蚁金服这个平台给他的挑战和成长。
目前,鲁直带着 SOFA 开源技术团队,他们同样热爱技术,对 SOFA 非常认可,这之中有极客、有全能型人才,也有偏科的尖子生。
偶尔,鲁直也会带他们去西湖跑步,和他们讨论开源的细节。这一支小团队,在为共同认可的事业一起向前,这应该就是最好的事情了吧。
而,对于想要加入开源的小伙伴,鲁直也有一点建议:
参与开源,一个错别字也是开始。根据对项目了解的深入程度,可以从找错别字、命名规范等找错开始,由浅入深,再去提出 Issue、提交 Bug。相信所有的开源项目维护者都会非常地欢迎大家来参与、提一些意见。
SOFA 是什么:
SOFA(Scalable Open Financial Architecture),蚂蚁金服自主研发的金融级分布式中间件,包含了构建金融级云原生架构所需的各个组件,包括微服务研发框架,RPC 框架,服务注册中心,分布式定时任务,限流/熔断框架,分布式链路追踪,分布式高可用消息队列,分布式事务框架等组件
简单来说,SOFA 就是包含一整套组件的金融级分布式中间件。诞生于支付宝第 2 代技术系统的服务化,最开始只有一套框架,后来逐渐形成了一整套完整组件。
SOFA 文档: https://www.sofastack.tech/
SOFA 和传统金融架构的比较:
1、传统的金融 IT 架构一般采取集中式,通过购入大型机小型机解决数据问题,拓展性弱且机器成本高昂。
2、SOFA 则采取分布式的架构,在高并发交易处理能力、强一致性、秒级容灾和弹性伸缩上都有突出的表现。譬如面对双十一流量洪峰时,完全可以准备 PC 级的服务器去支撑,弹性伸缩。
他喜欢跑步,再冷也要跑个 5 公里;
喜欢马拉松,陆陆续续地坚持了 8 年;
还喜欢咖啡,即便深夜里喝完一杯也毫不影响睡眠;
经常看书,最喜欢的程序员是 Jamie Zanwinski;
睡得很早,12 点前基本就休息了,被问及“是不是太养生了”时,会赶紧解释道:“还是保命要紧!”
享受生活,同时也享受工作,这样的鲁直,我们希望你从他的经历中,可以看到曾经的自己,从他的选择里,你能找回对技术的热恋。
最后,鲁直想要送给养码人的一句话,出自他最喜欢的一个程序员 Jamie Zanwinski:
痛苦造就性格
在舒适的状态下,很多的人表现是差不多的,但是在逆境中,一些人内心非常深处的想法和力量才能被充分发挥出来。
本文转载自公众号蚂蚁金服科技(ID:Ant-Techfin)。
原文链接:
https://mp.weixin.qq.com/s/B8wWUajQxXOe0NbZpxNROQ
评论