点击围观!腾讯 TAPD 助力金融行业研发提效、敏捷转型最佳实践! 了解详情
写点什么

校招进阿里,半路转岗,9 年时间,他如何从一线研发到 SOFA 中间件开源负责人?

  • 2019-08-28
  • 本文字数:3643 字

    阅读完需:约 12 分钟

校招进阿里,半路转岗,9年时间,他如何从一线研发到SOFA中间件开源负责人?

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: https://github.com/alipay


SOFA 和传统金融架构的比较:


1、传统的金融 IT 架构一般采取集中式,通过购入大型机小型机解决数据问题,拓展性弱且机器成本高昂。

2、SOFA 则采取分布式的架构,在高并发交易处理能力、强一致性、秒级容灾和弹性伸缩上都有突出的表现。譬如面对双十一流量洪峰时,完全可以准备 PC 级的服务器去支撑,弹性伸缩。


他喜欢跑步,再冷也要跑个 5 公里;


喜欢马拉松,陆陆续续地坚持了 8 年;


还喜欢咖啡,即便深夜里喝完一杯也毫不影响睡眠;


经常看书,最喜欢的程序员是 Jamie Zanwinski;


睡得很早,12 点前基本就休息了,被问及“是不是太养生了”时,会赶紧解释道:“还是保命要紧!”


享受生活,同时也享受工作,这样的鲁直,我们希望你从他的经历中,可以看到曾经的自己,从他的选择里,你能找回对技术的热恋。


最后,鲁直想要送给养码人的一句话,出自他最喜欢的一个程序员 Jamie Zanwinski:


痛苦造就性格

在舒适的状态下,很多的人表现是差不多的,但是在逆境中,一些人内心非常深处的想法和力量才能被充分发挥出来。


本文转载自公众号蚂蚁金服科技(ID:Ant-Techfin)。


原文链接:


https://mp.weixin.qq.com/s/B8wWUajQxXOe0NbZpxNROQ


2019-08-28 10:27993
用户头像

发布了 150 篇内容, 共 29.7 次阅读, 收获喜欢 32 次。

关注

评论

发布
暂无评论
发现更多内容

企业采购管理的这些痛点,如何解决?

低代码小观

企业管理 管理系统 管理工具 采购管理 企业采购管理

在SAP云平台的CloudFoundry环境下消费ABAP On-Premise OData服务

Jerry Wang

SAP abap CloudFoundry 11月日更

详细剖析Kafka架构及组件

五分钟学大数据

11月日更

CSS布局之display:flex

Augus

CSS 11月日更

新时代下如何构建TDSQL-C数据库产品

腾讯云数据库

数据库 tdsql

一文帮你掌握TDengine的降采样查询+跨时区统计

TDengine

数据库 tdengine 后端

MySQL打印死锁日志

Simon

MySQL 死锁

CodeGuide 300+文档、100+代码库,一个指导程序员写代码的,Github 仓库开源啦!

小傅哥

Java GitHub 小傅哥 开源社区 代码库

【Promise 源码学习】第八篇 - 完善 Promise 并通过 promise-aplus-tests 测试

Brave

源码 Promise 11月日更

Flink CDC 2.0 数据处理流程全面解析

大数据技术指南

11月日更

金融级数据库新坐标:腾讯云TDSQL发布全自研新敏态引擎

腾讯云数据库

数据库 tdsql

OPPO 图数据库平台建设及业务落地

NebulaGraph

图数据库 知识图谱 图数据库实战 分布式图数据库

100G云服务器诞生记

科技热闻

作业三总结

Geek_1d37ea

架构训练营

国家质量基础设施(NQI)一站式综合服务平台开发搭建

电微13828808271

重点人员动态管控系统开发,智慧公安情报研判系统搭建

电微13828808271

智联招聘的Web模块扩展落地方案

智联大前端

组件化 SSR

ABAP Netweaver和git的快捷方式

Jerry Wang

SAP Netweaver CloudFoundry 11月日更

TDSQL | 多类型数据库统一管理,腾讯云数据库DBhouse工具重磅发布

腾讯云数据库

数据库 tdsql

用一个极致简单的场景演练领域建模

神帅

DDD 领域建模

Moment.js 转换 UTC 格式的 2 个小问题

HoneyMoose

Apache Pulsar 荣获中国开源云联盟「2021 优秀开源项目」

Apache Pulsar

大数据 云原生 开源项目 Apache Pulsar 消息系统 Apache Pulsar 社区

TDSQL首次登上腾讯财报!金融机构核心系统落地实现规模化复制

腾讯云数据库

数据库 tdsql

10行代码,撸一个在线个人简历页面!

老表

Python GitHub Linux web开发 跟老表学云服务器

8大原则带你秒懂Happens-Before原则

华为云开发者联盟

线程 并发 Happens-Bfore Java内存

架构实战营模块八作业

Geek_d18264

架构实战营

云小课 | DSC:快速识别敏感数据并脱敏

华为云开发者联盟

华为云 识别 数据脱敏 数据安全中心 敏感数据

毫米波 5G 比公共 Wifi 快近 30 倍,但覆盖范围相似

DisonTangor

网络

用明道云集成多平台多部门数据,发挥数据分析的力量

明道云

新机遇,拨开证劵企业生态转型迷雾

大咖说

云计算 阿里云 数字化转型 数字化 企业上云

TypeScript 针对 JavaScript 做了什么

HoneyMoose

校招进阿里,半路转岗,9年时间,他如何从一线研发到SOFA中间件开源负责人?_文化 & 方法_Geek_cb7643_InfoQ精选文章