蚂蚁金服CTO鲁肃:支付宝成就了我,我做了很多“拧螺丝”的事儿

简介: 他被誉为支付宝技术平台的奠基人之一,但是他却说“这还不是我心中最完美的架构”;他曾是支付宝史上最危机关头——停机发布 17 小时的救火大队长,但是在他看来,只是做了很多”拧螺丝“的事情。

他被誉为支付宝技术平台的奠基人之一,但是他却说“这还不是我心中最完美的架构”;他曾是支付宝史上最危机关头——停机发布 17 小时的救火大队长,但是在他看来,只是做了很多”拧螺丝“的事情。

他行事低调但是却信奉“此时此地,非我莫属”的豪气;他在支付宝有着灿烂无比的职业履历却仅仅认为自己是没有掉队的那个人。

他是程立(鲁肃),是我们本季《十年》技术专题纪录片中的第一位登场嘉宾,在 2009-2019 互联网技术十年发展的波澜壮阔中,他,是一位亲历者。

程立(鲁肃),蚂蚁金服首席技术官。2005 年加入支付宝,是支付宝技术平台的奠基人之一,在支付宝与蚂蚁金服期间,主持支付宝各代技术架构的规划与基础技术平台的建设。2018 年,程立开始担任蚂蚁金服国际事业群首席运营官。

6d78c391e6a6cd593ee689eb0964f5a2d325dfb5

InfoQ:今天我们的主题是“十年”:希望能站在互联网技术发展的时间线上梳理出来几个重要的时间节点,如果用“2009 年到 2019 年是互联网技术 ____ 的十年”来造句,希望听听您的讲述!

鲁肃:过去十年,面向整个数字时代的关键技术一个接一个的出现,从被人们接受,到开始步入应用。2009-2010 年是云计算,2011-2012 年是移动,2013-2014 年是大数据,2015-2016 年是人工智能,2017-2018 年是区块链。在蚂蚁金服,我们把区块链、AI、安全、IoT、计算这几大关键技术称为”BASIC“。这五个关键词在过去的十年里面接踵而至,而且得到了所有人的理解。所以我觉得回首来看的话,过去十年是技术革命非常关键的十年:一次技术革命去改变一个真正的行业,完成所有技术的准备。

InfoQ:您提到“革命”这个词,是不是可以这么说:过去十年是互联网技术革命的十年,是互联网技术改变所有人生活的十年?

鲁肃:我们认为过去十年技术正在改变,但是你说它已经完成这个改变了吗?它才刚开始。

InfoQ:听说您小时候一直想做一个数学家,然后某一天忽然发现自己应该做一个程序员?

鲁肃:我读书读到硕士都是以做数学家作为梦想。读博士之后,我的导师他是一个做实践、做工程的老师,所以在他的熏陶下,他让我解决很多工程的问题。那个时候我做了一个选择:不是完全根据自己的兴趣去做一件事情,而是结合自己的兴趣和擅长。那时候我基本上就把注意力转到工程上了。

说到做工程的精神,其实小时候我印象比较深的就是我的父亲每个周末到实验室加班,就把我带到实验室。他会让我看非常大的激光器,一个激光器像一个房子一样大,要把它上面一个盖子盖上,要把螺丝拧上,拧上之后要严丝合缝,确保没有任何漏气。我就是负责拧螺丝的。一圈有几十个螺丝,要一个一个去拧,而且你不能够一次把一个螺丝拧死,要一圈一圈拧。那时候我爸说我拧螺丝拧的特别好。

InfoQ:好像很多 70 后、80 后小时候都想做数学家、做科学家。您觉得您现在做的事情和您父亲做的事情是一样的吗?

鲁肃:我的父亲他是个物理学家,他做了很多拧螺丝的事情。我读硕士期间做数学研究,数学必须非常缜密,从提出一个定理,到证明它对不对,可能过程很长。我们现在做一个大的系统,写一个没有 bug 的程序,也是很相似的。

InfoQ:所以可以说您后来也是在做”拧螺丝“的事情?

鲁肃:是的,我做了很多”拧螺丝“的事情。

InfoQ:您之前介绍过支付宝开发初期的一次重要转折,您经历过非常重要的一夜。可以再跟我们分享一下吗?

鲁肃:2004 年,当时淘宝要改造。这个项目是当时整个阿里巴巴最重要的一个项目,要用新的架构做面向未来的淘宝网。2005 年我加入支付宝以后,很自然的想要向团队证明自己。当时我的主管特别信任我,任命我做当时非常重要项目的主架构师。

这是我第一个做的项目,所以一开始做项目架构师的时候,我把我能想到的最好的架构、当时我懂的和我不懂的技术全部用上去。我想既然是这么重要的一个项目,它应该用最好的技术、最好的架构来做。

当项目进行到一个半月的时候,功能差不多开发到一半,有一天晚上加班以后一起吃饭。当时一个同事坐在我的边上,对着我主管说:你们设计的那个架构可能有问题,项目开发到现在,我们在里面加很多功能越来越难了,越来越容易出错。当时我的主管跟他说,鲁肃是这个项目的架构师,这个项目的技术他说了算,不要再有任何的怀疑,这个事就过去了。

那天晚上回去之后,我仔细想了想,认为他说的这个问题确实存在。而且,在这么重要的一个项目里面用了这么多新的技术,这是一件真正可靠的事情吗?差不多在凌晨一两点的时候,我开始正视这个问题:我认为这个架构确实是有问题。不但有同事说的问题,而且我们不应该用从未经过验证的技术去支持这么重要的一个系统。

所以接下来我也需要做决定:现在怎么办?

在凌晨三四点的时候,我决定要用新的架构。我快速搭了一个原型,用我最擅长的、最有把握的技术,做了一个演示系统。

早上八点到公司,我第一时间和主管说:马上叫齐项目组,我们开个重要的会议。会上我就说,之前这个架构有问题,我建议我们项目要改架构,改成一个更朴实的架构,用更可信赖的技术支撑,我根据这个架构做了一个 demo。会议开的非常高效,最后的结果是:第一,所有人支持用新的架构。第二,所有人会把他们自己之前的工作移到这个新的架构。这个会开完之后我特别感动。大家快速用新的架构完成了这个项目,在五月份把支付宝推到线上。

这个事情影响了我做架构的风格:我会偏实用主义,能够确保每个系统上线一定是最成功的方式。现在回想 2005 年如果当时做错一个决策的话,我的职业生涯也许可能是完全不同的道路,这个项目极大的可能会失败,对支付宝会有什么样的影响也不好说。这个事情也改变了我做决策的风格:做任何决策之前,先把“我”抛开。

InfoQ:感觉您和支付宝是互相成就的关系。

鲁肃:应该说是支付宝成就了我。整个支付宝发展的过程中发生过非常多重要的事情,我只在个别事件中起到关键作用。

InfoQ:至少,您是一个做好准备的人?

鲁肃:我更觉得是支付宝发展的过程中没有掉队的人。我觉得支付宝的发展永远比我想象的快,必须全力以赴才能够不掉队,你永远保持你的胜任和担当,其实这就是你的成长。

InfoQ:可以说是责任心?

鲁肃:对,我觉得是一种担当。从加入支付宝第一天起,我就感觉支付宝这个系统扛在我的肩膀上了。那时候系统非常的原始,特别在早期一两年,基本上三天两头出问题,而且很多时候出现在夜里,任何的问题都是你的问题。这个责任感早期建立起来,一直到后来都没有改变。

InfoQ:您有座右铭吗?

鲁肃:我自己本人其实并没有什么座右铭,但是阿里巴巴有很多土话,这些土话对我的影响非常大。有一句话土话叫“此时此刻,非我莫属”,这个我觉得体现出整个阿里担当的精神,这种精神我个人觉得在我身上是有的,第一时间我会站出来。

InfoQ:在支付宝的发展当中还有没有其他印象深刻的事情?

鲁肃:2010 年,我印象是 1 月份开年会。当时支付宝的总裁讲完话之后,整个晚会的会场就黑了,突然一个声音响起,是我们一个客户的声音,客户在电话里面报怨我们的服务怎么不好,有什么问题。

那个时候我觉得特别震撼:那是我第一次听到一个真正的客户的声音!而且提出我们产品的问题。这些问题过去我们都知道,但我们不觉得它对客户有那么大的影响,但是那个时候听了这个,触动非常大。

然后灯亮了,马云先生走到台上说了一句话:“支付宝你做的太烂了,非常烂!”

这是阿里的风格,非常直接。说完,然后彭蕾上台说:“我会成为支付宝新的总裁。”

我印象她做了一篇演讲,她说:“我是一个女人,我有三个特点:第一个特点是爱做梦,第二个特点是小心眼,第三个特点是不讲理。”然后跟我们提了目标。当时用户在线支付要从支付宝网站跳到银行的网站上,这个成功率只有不到 70%。她说我要求大家把今年支付的成功率从 70% 做到 90% 以上。你们技术人员不要跟我讲做不到,我是不讲理的,你们一定要做到这个事。

年会开完,那年我们全公司就一个目标,就是怎么把这个数据从 70% 做到 90%,而不是非常宏大的做一个业务战略架构。在这个目标的驱动下,我们做了一个非常重要的创新:现在每天支付用的快捷支付,就是那时候创新出来的。由于快捷支付的出现,把它从 70% 不到变成 95% 以上,让移动支付成为可能。

InfoQ:这样听下来,其实对您作为一个程序员个体而言,2009 年到 2010 年对您影响最大的并不一定是云计算技术,而是这种意识层面的变化?

鲁肃:其实我写代码的时间很短:2004 年加入淘宝开始写一个可以给真正用户使用的代码(以前写的一些都是演示代码),到 2008 年我开始做架构师(那时候我们架构师是要求不写代码),所以我真正写代码的时间是四年的时间。所以 2009 年以后,我从一个写代码的程序员变成一个去思考技术战略的架构师,这样一个变化(比较大)。

InfoQ:技术出身的领导者有一些明显的特点,比如理想主义,比如技术决策力。您接触的技术出身的领导者和您所接触的非技术出身的领导者相比,他们有什么样的不同?

鲁肃:首先,我会觉得技术出身的人都偏理性,讲理;做业务的人基本上会不太讲理。刚才我举的彭蕾的例子,她是不讲理为主的。

所以在这种情况下,我觉得各有各的好处:做技术的人做决策,会是一个非常靠谱的决策,他说能行的基本上一定能行。但是他会有一个缺点:太靠谱了,就很难跳出来。

我自己从 2013 年开始做蚂蚁金服 CTO 的时候,才开始给团队设计一些不太靠谱的目标。一开始是完全没有感觉,但是到后面的话,我慢慢会找到一个感觉,就是怎么做到一个既看起来不讲理、但背后其实又是靠谱的决策。要做到这点,会需要你对这个系统有一个更深的理解。

打个比方,2007 年的时候我遇到 InfoQ 中国负责人霍泰稳,当时我跟他聊天的时候就说,那时候支付宝大概两三百万行代码,我说支付宝这两三百万代码就存在我脑子里,出现一个问题我脑子里就能跳出来:大概是什么地方、哪段代码出现问题了。

到 2009 年的时候,那时候支付宝规模大了十倍,我大脑完全没这个感觉了,我也不碰代码了。但那时候我对支付宝到底有多少个系统、当用户第一次点击这个系统会有什么样的状态过程,我是非常清楚的。所以那时候支付宝出任何故障,我会第一时间比较清楚知道哪里可能会有问题。再到后面的时候,又有几个转型,从做架构师到管理团队,包括人在内的、组织在内的系统,到现在做商业的时候,对整个商业系统、对客户的价值、对客户有什么样的影响、对商业合作关系有什么样的影响,这是需要时间去积累的。

InfoQ:所以对于您个人来说,2009-2019 年是一个什么样的十年?

鲁肃:我觉得可能是一个不断蜕变的十年。

2009 年,我是支付宝的首席架构师,那时候我认为这是我的职业顶峰了,准备干到退休了。但是 2013 年的时候突然一个改变,我被任命为公司的技术负责人,这是一个很大的变化,又是一个重头开始,什么都得从头学。差不多又过了三到四年的时间,我开始慢慢胜任这么一个岗位,刚刚进入商圈,又被放在我不熟悉的地方:蚂蚁金服全球化的业务,又是一次蜕变。

技术每两年一次变化,当你刚刚开始对一个技术有感觉的时候,一个新技术出现了,你要重新了解它,理解它,而且你要知道它的影响是什么。对于我来说,挑战就是我不可能对技术真正有了解了。到现在为止,我都没有写过移动的程序,但是我必须很清楚的知道移动技术对商业的影响是什么。

InfoQ:您认为中国互联网技术未来的发展方向是什么?

鲁肃:预测未来我觉得挺难的,我谈谈我的期待。首先,当下对于技术的应用和掌握方面,我觉得中国的互联网公司已经不亚于世界上任何一家互联网公司了。中国可以领先做出很多的事情,这点我是特别有期待的。

同时,中国互联网走到这一步,它面临的问题是全新的,过去所有 IT 市场都没遇到过的问题会出现,通过这些问题驱动产生新的技术、新的生产力,甚至新的生产关系,这是我们可以期待的。我们可以预见,未来的五年、十年,由于中国这个土壤上原创的技术创新出现,我们也会看到有中国的技术大师,也许也会有图灵获得奖的出现,这是我们能够期待的。

相关文章
|
3月前
|
存储 算法 区块链
从零实现Python扫雷游戏:完整开发指南与深度解析
扫雷作为Windows经典游戏,承载了许多人的童年回忆。本文将详细介绍如何使用Python和Tkinter库从零开始构建一个功能完整的扫雷游戏,涵盖游戏设计、算法实现和界面开发的全过程。
226 1
|
4月前
|
JSON 分布式计算 搜索推荐
用 Spark 优化亿级用户画像计算:Delta Lake 增量更新策略详解
在亿级用户画像计算中,传统全量更新面临数据量大、更新频繁、延迟敏感等挑战。本文详解如何结合 Spark 与 Delta Lake 实现高效增量更新,通过仅处理变化数据,显著降低资源消耗并提升实时性,助力构建高性能用户画像系统。
177 3
|
11月前
|
网络架构
|
12月前
|
SQL 存储 缓存
SQL计算班级语文平均分:详细步骤与技巧
在数据库管理和分析中,经常需要计算某个班级在特定科目上的平均分
|
10月前
|
人工智能 API 数据库
Browser Use:开源 AI 浏览器助手,自动完成网页交互任务,支持多标签页管理、视觉识别和内容提取等功能
Browser Use 是一款专为大语言模型设计的智能浏览器工具,支持多标签页管理、视觉识别、内容提取等功能,并能记录和重复执行特定动作,适用于多种应用场景。
2677 0
Browser Use:开源 AI 浏览器助手,自动完成网页交互任务,支持多标签页管理、视觉识别和内容提取等功能
石英晶体是如何产生振荡的?以及cpu倍频的由来
本文是关于石英晶体振荡器的学习笔记,适合计算机科学与技术背景的读者。内容涵盖了石英晶体振荡器的基本原理,包括压电效应、等效电路、谐振频率,以及不同类型振荡器的特性和参数。此外,还讨论了石英晶体振荡器的小型化、高精度、低噪声、低功耗发展趋势,并列举了它们在石英钟、彩电和通信系统中的应用。最后提到了处理器倍频的概念,解释了其原理和实际应用中的限制。
石英晶体是如何产生振荡的?以及cpu倍频的由来
|
算法 安全 Java
Java表达式和规则引擎的比较与考量
Java表达式和规则引擎的比较与考量
892 0
了解一下,Java8 Stream的中间操作顺序
云栖号资讯:【点击查看更多行业资讯】在这里您可以找到不同行业的第一手的上云资讯,还在等什么,快来! 垂直执行:map和filter先看下面一个例子,找出流中"b"的字符串,并将其转化为大写,包含两个中间操作 map 和 filter 以及结束操作forEach。
了解一下,Java8 Stream的中间操作顺序
|
存储 缓存 NoSQL
EhCache缓存
在查询数据的时候,数据大多来自数据库,通常会基于SQL语句的方式与数据库交互,数据库一般会基于本地磁盘IO的形式将数据读取到内存,返回给Java服务端,Java服务端再将数据响应给客户端,做数据展示。
446 0
|
存储 开发者
彻底搞懂微信小游戏制作工具中的函数
彻底搞懂微信小游戏制作工具中的函数
373 0