程序员之路,就像金字塔,好像4/5的人都在基层梯队,像工蚁一样日夜忙碌。起床,洗漱,挤地铁上班,测试、改Bug,在整栋大楼的灯火通明里加班,日复一日,年复一年,重复相似的生活,做着相似的工作……
很多人喜欢自称“码农”,就像是吐槽这操蛋无趣的生活!
然而,他似乎有些不一样。
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:
痛苦造就性格
在舒适的状态下,很多的人表现是差不多的,但是在逆境中,一些人内心非常深处的想法和力量才能被充分发挥出来。
本文转载自微信公众号:养码场





























