对话亲历者|鲁肃:我在支付宝“拧螺丝“的日子

对话亲历者:他是支付宝技术平台的奠基人之一,但是他总说“这还不是我心中最完美的架构”;他行事低调但却有着“此时此地,非我莫属”的豪气;他曾无数次充当救火大队长,但自评只是“没有掉队的那个人”。
在2009-2019 互联网技术十年发展的波澜壮阔中,他是亲历者之一。

查看视频,点击此处:▵7分52秒,听支付宝技术人鲁肃讲故事

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

感觉您和支付宝是互相成就的关系。至少,您是一个做好准备的人?

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

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

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

您有座右铭吗?

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


原文链接
本文为云栖社区原创内容,未经允许不得转载。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/518892.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Flutter高内聚组件怎么做?阿里闲鱼打造开源高效方案!

fish_redux是闲鱼技术团队打造的flutter应用开发框架,旨在解决页面内组件间的高内聚、低耦合问题。开源地址:https://github.com/alibaba/fish-redux 从react_redux说起 redux对于前端的同学来说是一个比较熟悉的框架了,fish_redux借鉴了re…

AI赋能红外测温助力精准防控疫情……

文章来源:北京领邦智能装备股份公司 疫情发生以来,全国上下倾力奋战得到有效控制,科技抗疫逐渐成为有效抓手,而AI红外热成像测温仪无疑将成为抗疫一线的一把利剑,斩断疫情传播的途径。 需求引领技术变革 2003年非典后…

阿里巴巴中间件在 Serverless 技术领域的探索

Serverless 话题涉及范围极广,几乎包含了代码管理、测试、发布、运维和扩容等与应用生命周期关联的所有环节。AWS Lambda 是 Serverless 领域的标志性产品,但如果将其应用于核心业务,可能会遇到以下难题:(仅代表作者个…

从零单排HBase 02:全面认识HBase架构(建议收藏)

作者 | 阿丸笔记责编 | 徐威龙封图| CSDN 下载于视觉中国在网上看过很多HBaes架构相关的文章,内容深浅不一,直到发现了一篇MapR官网的文章,写得实在太生动了。https://mapr.com/blog/in-depth-look-hbase-architecture/#.VdMxvWSqqko&#xf…

开发函数计算的正确姿势 —— 移植 next.js 服务端渲染框架

首先介绍下在本文出现的几个比较重要的概念: 函数计算(Function Compute): 函数计算是一个事件驱动的服务,通过函数计算,用户无需管理服务器等运行情况,只需编写代码并上传。函数计算准备计算资源&#xff…

SpringBoot xml层SQL update之foreach循环的坑

在做二级分类批量删除置父级目录一级分类num-1时,发现数组里放了一样的pid,但是循环里只默认一个pid 145,所以只成功执行了一次num-1 可以选择在mapper接口层执行循环

Zookeeper UI管理界面安装

文章目录1. 安装java环境2. 安装maven打包环境3. 在线安装Git4. 安装zookeeper服务5. 安装zkui6. 开放防火墙7. 浏览器访问1. 安装java环境 下载 略 环境变量 export JAVA_HOME/app/jdk1.8.0_202 export PATH$PATH:$GOROOT/bin export CLASSPATH.:${JAVA_HOME}/jre/lib/rt.j…

虎牙在全球 DNS 秒级生效上的实践

本文整理自虎牙中间件团队在 Nacos Meetup 的现场分享,阿里巴巴中间件受权发布。 这次分享的是全球 DNS 秒级生效在虎牙的实践,以及由此产生的一些思考,整体上,分为以下5各部分: 背景介绍;方案设计和对比…

MySQL 狠甩 Oracle 稳居 Top1,私有云最受重用,大数据人才匮乏! | 中国大数据应用年度报告...

整理 | 屠敏出品 | CSDN(ID:CSDNnews)科技长河,顺之者昌,错失者亡。在这个技术百态之中,中国专业的 IT 社区CSDN 创始人&董事长蒋涛曾多次在公开活动中表示,开发者是对技术变革最敏感的人群。这不仅源于…

JS中split对多个分隔符的处理

关于JavaScript split() 方法,菜鸟教程是这样介绍的: split() 方法用于把一个字符串分割成字符串数组。 提示: 如果把空字符串 ("") 用作 separator,那么 stringObject 中的每个字符之间都会被分割。 注意&#xff1…

分布式6大核心专题_分布式ID

文章目录一、号段模式1. 拉取项目源码编译2. springboot集成Leaf3. 配置leaf.properties4. 创建数据库5. 初始化表结构和数据6. 测试案例7. 浏览器测试美团Leaf的号段模式和雪花算法模式生成分布式全局唯一id方式2种 一、号段模式 目前jar在maven仓库中没有上传 1. 拉取项目源…

现代编程语言大 PK,2020 年开发者关心的七大编程语言!

【CSDN 编者按】“如果我们把人类文明想象成汽车的话,那么软件开发行业就相当于汽车的引擎,编程语言就像引擎的燃料。”作为一名开发者,需跟随技术潮流的发展来学习新技术。2020年,你有计划新学一门编程语言吗?本文作者…

一文读懂深度学习:从神经元到BERT

阿里妹导读:自然语言处理领域的殿堂标志 BERT 并非横空出世,背后有它的发展原理。今天,蚂蚁金服财富对话算法团队整理对比了深度学习模型在自然语言处理领域的发展历程。从简易的神经元到当前最复杂的BERT模型,深入浅出地介绍了深…

启动redis闪退/失败

问题:正常启动redis-server.exe时,项目出现闪退情况 解决方式:按照下图完整流程输出即能正常启动

阿里开发者招聘节 | 2019阿里巴巴技术面试题分享:20位专家28道题

为帮助开发者们提升面试技能、有机会入职阿里,云栖社区特别制作了这个专辑——阿里巴巴资深技术专家们结合多年的工作、面试经验总结提炼而成的面试真题这一次将陆续放出(面试题官方参考答案将在专辑结束后统一汇总分享,点此进入答题并围观他…

uniapp页面传参使用encodeURIComponent转义特殊符号

答主在uniapp页面跳转传imgUrl(地址为:https://metting.oss-cn-beijing.aliyuncs.com/20210615153312771.9AT5NO.jpg?Expires4779415992&OSSAccessKeyIdLTAI4GKXzR3eLCustbbLYxFf&Signature***********)时,图片无法正常显…

论程序员的自我修养——我在阿里干了十年开发

究竟是努力重要,还是选择重要?资深阿里技术人毕玄师兄有着自己的见解。 毕玄,阿里巴巴基础设施事业群负责人,资深技术专家。打造了阿里目前使用最为广泛的核心中间件之一的服务框架;设计并带领团队实现了阿里技术发展…

一文了解 Spring Boot 服务监控,健康检查,线程信息,JVM堆信息,指标收集,运行情况监控!...

作者 | Richard_Yi责编 | 徐威龙稿源 | 掘金封图| CSDN 下载于视觉中国本文为作者个人经验,供大家参考。去年我们项目做了微服务1.0的架构转型,但是服务监控这块却没有跟上。这不,最近我就被分配了要将我们核心的微服务应用全部监控起来的任务…

分布式6大核心专题_分布式Session

文章目录一、Session存在服务器上还是tomcat中?1. 创建springboot项目2. 启动项目3. 调用登录接口4. 调用获取用户信息接口5. 重启tomcat调用获取用户信息接口二、Session与Cookie的关系三、传统Session3.1. 启动项目3.2. 浏览器测试四、分布式Session解决方案4.1. …

Nacos: Namespace 和 Endpoint 在生产环境下的最佳实践

随着使用 Nacos 的企业越来越多,遇到的最频繁的两个问题就是:如何在我的生产环境正确的来使用 namespace 以及 endpoint。这篇文章主要就是针对这两个问题来聊聊使用 nacos 过程中关于这两个参数配置的最佳实践方式。 namespce 关于 namespace &#x…