程立近照。 受访者供图
“你的格子衫和牛仔裤呢?”听到记者的第一个问题,穿白衬衫加黑西裤的程立乐了,“不要对程序员产生刻板印象,程序员也是可以有生活情趣的。”
在互联网圈子里,蚂蚁金服的CTO(首席技术官)程立是自带出场光环的“大牛级”程序员。
当年,他放弃一流名校的博士学位,以实习生身份加入互联网公司;现在,他带领团队完成底层技术架构的手机应用,已改变10亿人的生活方式。
放弃诺贝尔奖梦想的程序员
程立出生在一个物理世家,父母和哥哥都是物理方面的研究者。
逻辑严谨、思维缜密的特性,融入了程立骨子里。拿诺贝尔奖,也是这个家族代代相传的远大理想。
然而,程立的物理基因发生了“突变”。
“我不想高考了,我想学点更有意思的东西。”1993年,少年程立在临近高考时做出了一个让家人意外的决定——放弃物理学,转攻计算机。
程立的父母和兄长虽有疑虑,最终却支持了他的决定。“其实能拿个‘图灵奖’也不错。”
1997年,程立进入上海大学计算机专业读研。有意思的是,虽然已学几年计算机,物理和数学依然是程立最拿手的两门课,而这也为他在未来的计算机学习打下了坚实基础。
2000年,程立进入上海交通大学攻读博士学位,程序员之路慢慢进入高速发展的轨道。
在导师带领下,程立在中国教育网络监测系统的项目中担纲编程角色,开始用代码解决实际问题。
程立逐渐意识到,程序员是带着现实问题用代码创造新世界。和画家拿着画笔创作一样,数字世界没有边界,程序员有更大的创造空间。“从这个时候开始,我发现编程挺有意义。”
进入21世纪后,我国互联网行业进入快速发展期。2003年5月,淘宝网横空出世。仅仅几个月后,原有的技术平台已无法支撑庞大的用户流量。
2004年春节后,程立以外包程序员的身份,开始参与淘宝网新技术平台的构建。程立职业生涯的序幕正式拉开。
那个脱颖而出的实习生
程立在公司的“花名”叫“鲁肃”。
鲁肃对于三国鼎立局势的形成具有重要意义,史书对他的解读多为“老实忠厚但长于计谋”。这是程立选择鲁肃作为自己“花名”的原因,既符合老实忠厚的外在体现,也激励自己成为在数字世界里具有智慧的程序员。
2005年2月,因前期表现优异,程立不仅以实习生身份获得留用,还受邀担任支付宝新交易平台项目架构师这一重要角色。
从一名普通程序员突然跃升,程立希望把最好最新的技术都加入到这个项目,这也使他遇到了新问题。
新项目进展到一半时,程立发现,系统加入了太多新技术,效果适得其反。如果推倒重来,意味着把已造了一半的大楼推倒重建,团队是否还有信心在指定时间内完成新项目建设?如果将错就错,新项目发布后会产生何种后果?
经过一个通宵的思想斗争,程立决定推倒重建,“出了问题我们要负历史责任。”
程立的担当和勇气,让团队更有凝聚力,并在约定时间完成了新项目。
事后,项目主管找他谈话,程立原以为自己的实习期将到此结束,没想到主管带来的是让他正式加入阿里巴巴的邀约。
“正是从那以后,我更加明白了一个程序员的历史担当。一行代码并不是简单的计算机语言的堆砌,敲出去的每一个字符都有它的社会影响。”程立说。
坚强背后的惊心动魄
参与淘宝网新技术平台的构建工作后,还差不到一年就要毕业的程立走到了人生岔路口——是继续留在互联网企业工作?还是返回学校专心攻下博士学位?
经过一番激烈的思想斗争后,程立放弃了博士学位,决定追逐那个12年前萌芽的“程序员梦”。
2005年2月,在阿里巴巴的会议室里,程立以实习生的身份等待HR(人事专员)分配工作。因为拥有新技术平台构建的经历,程立原以为自己会被分配去集团总部工作。然而,在第一批被点到去集团总部的名单里,并没有他的名字。
“如果去淘宝也行,毕竟有过相关的工作经验。”但是,第二批去淘宝网的名单里,依然没有他的名字。
最后,整个会场只剩下了他和另一个待分配任务的人。“你俩去支付宝。”HR宣布完结果,程立的心情也跌到了谷底。
那时的他没有料到,那个曾被自己“嫌弃”的购物网站的附属支付工具,在他的技术支持下,会在后来成为一款用户量超过10亿的国民级手机应用。
2007年,淘宝网的流量让后台系统再次遭遇支撑瓶颈。程立及其团队临危受命,启动了对支付宝系统的升级改造项目。
通俗来说,他们要做的就是怎样用0和1的代码,创造出一台能支撑14亿人同时上线付款的“巨型收银台”——不仅要做到所有人在付款时都能不排队“秒付”,还要确保收支的每笔钱都没有任何错误。让程立倍感压力的是,这套系统需要在三个月之内上线。
对程序员而言,做系统最忌讳的就是“将所有鸡蛋都装到一个筐里”。但因为时间紧、任务重,为完成任务,程立和他的团队决定孤注一掷。原定2008年1月初发布的新系统,在一拖再拖的赶鸭子上架式催促下,终于上线问世。
新老系统平稳过渡,需要将老系统里数以亿计的用户和资金数据完整准确地移入新系统,程立和他的团队决定停机8小时。
停机,意味着用户在此期间无法正常进行交易。停机时间越长,用户“跳票”的可能性就越大,对企业的损失也就越高。所以,如何在约定停机时间内完成新老系统的切割,显得尤为重要。
在0点停机之后的8个小时里,新系统与老系统的数据一直无法配平,资金校验也一直无法通过。直到中午12点,问题才得以解决。当天下午3点,程立和业务负责人决定将新系统上线5分钟进行测试。
“滴滴滴……”系统刚刚上线,数据异常的警报声响彻机房。一群人围着时任支付宝首席业务架构师的倪行军(花名“苗人凤”),寻找症结所在。
大家在腊月里都穿着厚厚的冬衣,但围着倪行军的每个人额头上和手心里都渗出了冷汗。
时间一分一秒地过去,问题还是没有找到。这时,程立站出来,替换了计算机前的另一个程序员,一番紧张的摸索之后排除了故障——原来,核对数据的公式出了问题。
下午5点,新系统再次上线。积攒了17个小时的用户流如潮水般袭来,不一会儿系统就“决堤”了。
在这头,程立带着团队抢修系统;另一头,数据异常的警报声再次响起。更让人揪心的是,互联网上诸如“支付宝带钱跑路”的流言已满天飞……
“我主导的项目会不会就这么让支付宝完蛋?”连续多日没有合眼的程立内心有些崩溃。好在事情在用户潮涌退去后发生了转机。在仔细核查相关数据后,程序员们发现数据异常的警报仅是“误报”。
大部分人对阿里巴巴的“双十一”购物狂欢节并不陌生。2010年“双十一”前夕,支付宝的全体技术人员都在做最后的准备工作,根据前一年“双十一”的经验,系统被提前留出比平时高出一倍的余量。2010年11月11日0点刚过,系统余量瞬间被疯狂的用户流占用,程立和他的团队被这一突发情况打了个措手不及。
“赶紧调配可用资源!”程立在第一时间做出反应。那时,云计算还未普及,后台程序员化身“人肉云计算”,这边的系统资源闲下了马上顶上,那边的系统资源过载了就赶紧迁移。忙活了一整天,本以为手忙脚乱应付过了当年的“双十一”,谁知事情又向戏剧化方向发展。
时间到了晚上11点59分30秒,系统最核心的数据库即将崩溃。一旦这个数据库崩溃,意味着之前所有努力都将付诸东流。
“把会计程序‘杀掉’,先收钱,后点钱,快!”千钧一发之际,程立的团队再次做出正确决定。当天,交易悉数准确无误地完成。
“做程序员真需要一颗强大的内心。我们只要写错一个代码,对用户来说可能就是成千上万元的损失。”
程立说,在充当了一次又一次的“消防队员”后,他逐渐明白,一个优秀的程序员不光是要自己一个人闷头写程序,还要尝试着引导一个团队去思考,怎样做才能在满足用户多样性需求的基础之上,创造更多的社会价值。
永远保持创业初期的心态应对挑战
和大多数程序员不同,程立每天早上7点就会起床早锻炼,8点出头出门送孩子上学,9点准时到公司开始一天的工作。如果没有会议安排,他会在晚上8点左右回家吃晚饭。
多年的程序员生涯之后,程立发现,将更多时间留下来陪伴家人尤为重要。
“程序员在外人眼里会有‘木讷’的刻板印象,很大程度上是因为程序员每天接触的都是冰冷的机器和没有感情的计算机语言。”程立说,在工作之余,能和家人、朋友多交流,培养一些“不动脑”的兴趣爱好,既能让自己从紧张的脑力劳动中解放,也可以拉近与真实世界的距离。
BUG找不到、数据平不了、需求够不着……这些事件都会在程序员的日常生活中反复上演。一些心态不好的人在这样的交锋过程中积劳成疾,发际线逐渐上移。
而在程立的奋斗哲学里,“因为信任,所以简单”成就了他和团队——在任何困难挑战面前,要充分相信自己的队友,既要拿出舍我其谁的勇气,也要有互相成全的心理准备。
在互联网行业全球化竞争愈发激烈的当下,中国的竞争优势愈发明显,技术创新和丰富使用场景的能力让世界惊叹。从过去的一路跟随到并驾齐驱,再到“换道超车”机遇的出现,我们已从“摸着石子过河”逐步过渡到为后来者“铺路架桥”的阶段。
程立认为,虽然程序员经常被外界打上各种带有误解意味的标签,但无论外界怎么议论或企业如何发展,创业初期的心态和激情不能丢。
程立告诉记者,一次支付宝内部组织的“红蓝技术对抗赛”,让他记忆犹新。那次对抗赛中,共有10支队伍杀入决赛,由他带领的高管代表队在决赛中被其他队伍“揍”得不轻,最后只能屈居末名。
“虽然输了比赛,但是我们都很开心,因为我们看到了中国新生代程序员正在超越老一代程序员。”程立相信,在可见的未来,中国将出现越来越多的优秀程序员,去为全人类勾画一个弥合差异、平等发展的全新数字世界。(记者颜之宏、王俊禄、张璇)