Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537
重要也更深遠(yuǎn)的意義或許在于,陽振坤的存在創(chuàng)造了一種新的生態(tài)。他顛覆了時(shí)下困擾這個(gè)行業(yè)的「35歲危機(jī)」:一個(gè)程序員必須在35歲之前躋身進(jìn)入管理層,否則將無法以技術(shù)身份立足,年長的技術(shù)人員意味著貶值、淘汰、失去意義,「60歲還在寫代碼」幾乎是對一個(gè)程序員最惡毒的職業(yè)詛咒。
陽振坤活成了這個(gè)危機(jī)的最好反例。他離開北大的那年已經(jīng)36歲,著手?jǐn)?shù)據(jù)庫立項(xiàng)的那年45歲,投身業(yè)界的過程并非一帆風(fēng)順,中途經(jīng)歷過不止一次的否定、質(zhì)疑、團(tuán)隊(duì)解散危機(jī),可他始終是一個(gè)絕對意義上的程序員。自始至終,他保留了王選教給他的職業(yè)原則:正氣、專注、頂天立地。
文|尤爾敏
圖|受訪者提供
去更遠(yuǎn)的地方
超過一萬名程序員在螞蟻集團(tuán)上班,但其中有一個(gè)人是另類。他今年已經(jīng)五十多歲了,活得卻像一個(gè)剛畢業(yè)的計(jì)算機(jī)系學(xué)生,他不帶團(tuán)隊(duì),沒有管理職務(wù),直到今天依然是第一線的程序員,每天跟程序員們坐在同一個(gè)工位區(qū),在工位上看代碼、找bug。他并不是一個(gè)愛說話的人,不跟大家開頭腦風(fēng)暴會議,參加團(tuán)建的時(shí)候不玩聚會游戲,中午也不跟大家一起吃飯,午餐時(shí)間總是一個(gè)人跑到樓下,邊聽英語邊繞著圈散步。
辦公室里流傳著許多關(guān)于這個(gè)另類的故事,他常常穿著沖鋒衣來上班,跟實(shí)習(xí)生開會的時(shí)候也會做筆記。還有一件廣為人知的小事:他不止一次在面試的時(shí)候自己拿出紙和筆,事無巨細(xì)地給桌子對面的人畫一個(gè)架構(gòu)圖,向?qū)Ψ脚ν其N自己的工作構(gòu)想——他想要做一個(gè)數(shù)據(jù)庫,叫,他試著說服對方理解其中的意義,Ocean代表海洋,Base是數(shù)據(jù)庫,它如何容納海量數(shù)據(jù),為什么做分布式系統(tǒng)……他的講解常常讓對方目瞪口呆,因?yàn)樵谀莻€(gè)面試現(xiàn)場,他才是面試官。
這個(gè)另類程序員就是陽振坤,創(chuàng)始人、首席科學(xué)家,現(xiàn)任螞蟻集團(tuán)副總裁。辦公室里既沒有人喊他Boss,也沒人稱呼他「陽總」,大家都叫他「陽老師」。這是他在第一份工作里留下來的稱呼。因?yàn)樗矚g數(shù)學(xué),考大學(xué)選的也是北大數(shù)學(xué)系,一路從本科的基礎(chǔ)數(shù)學(xué)讀到了研究生的應(yīng)用數(shù)學(xué),陽振坤差一點(diǎn)就成了數(shù)學(xué)系的老師。只是那時(shí)候他覺得自己英語不好,家里又沒錢,沒辦法出國留學(xué)。因此經(jīng)過當(dāng)時(shí)的北大數(shù)學(xué)系的鄧東皋教授介紹,他去找了北大計(jì)算機(jī)研究所所長王選,成為了一名實(shí)習(xí)生,想在數(shù)學(xué)之外的地方走得更遠(yuǎn)。
跟著王選的日子改變了陽振坤。王選是中國最早也最偉大的第一代程序員,正是因?yàn)樗麆?chuàng)立了漢字激光照排系統(tǒng),今天人們才能在計(jì)算機(jī)中使用漢字。王選是一個(gè)講究「方正」的人,陽振坤在導(dǎo)師身上看到了如何做一名程序員。在王選的課題組,做人比做技術(shù)更重要,當(dāng)一個(gè)程序員要有技術(shù)能力,更要有見識,有正氣,為人要正派,要有擔(dān)當(dāng)。陽振坤記得王選常說,「德才兼?zhèn)洌岚沃赜茫挥械聼o才,難當(dāng)重任;有才無德,以濟(jì)其奸。」
「那時(shí)候他經(jīng)常教我們,做事情要頂天立地。頂天就是你做的東西,技術(shù)上要有過人之處,否則就算你做出來,產(chǎn)品在市場上也沒有很大的競爭力。第二個(gè)事情是要立地,你從做東西的時(shí)候就得想著別人怎么來用它,如果你只是把技術(shù)做得很好、很牛,沒有太多去想別人怎么用,那樣也沒有機(jī)會的。」陽振坤說。「這后來成為我做很多事的原則,要做到頂天立地。」
抱著王選教給他的信念,他在激光照排領(lǐng)域做出了頂天立地的技術(shù)成果。他所發(fā)明的智能化高速向量還原算法讓光柵圖像處理系統(tǒng)不斷升級換代,他的技術(shù)貢獻(xiàn)讓他從35歲之后開始過上安穩(wěn)日子,他被連續(xù)破格提拔為副教授、教授,成為北京大學(xué)計(jì)算機(jī)科學(xué)技術(shù)研究所副所長,北京大學(xué)首批長江特聘教授……
就在邁向中年的節(jié)點(diǎn)上,陽振坤又一次找到王選,他想離開這個(gè)日漸成熟的行業(yè),去外面的世界闖一闖。當(dāng)時(shí)剛剛經(jīng)歷了互聯(lián)網(wǎng)泡沫,有很多技術(shù)空白,有機(jī)會讓他創(chuàng)造更多新的「頂天立地」。他在聯(lián)想做過無線局域網(wǎng)、無線投影技術(shù),做出了無線投影機(jī),后來在微軟和百度研究過云計(jì)算。最后,他找到了自己新的終點(diǎn):分布式數(shù)據(jù)庫。
2010年,陽振坤入職阿里巴巴,開始了分布式數(shù)據(jù)庫的研發(fā)。「我在微軟亞洲研究院學(xué)做谷歌的技術(shù),在百度做過云計(jì)算,后來到了阿里巴巴從0到1開始研發(fā)分布式數(shù)據(jù)庫。這些都有一個(gè)共同的特點(diǎn)——如何用更廉價(jià)而可靠的辦法,正確地處理越來越龐大的數(shù)據(jù)?」陽振坤說。
就這樣,商業(yè)世界里多了一個(gè)原本要當(dāng)數(shù)學(xué)家的人。離開學(xué)界已經(jīng)超過二十年了,他身上依然保留著一個(gè)學(xué)者的樸實(shí)。他是螞蟻高管里為數(shù)不多的自己貼發(fā)票報(bào)銷的副總裁,他沒有助理,凡事親力親為。他自己則像程序員一樣,坐在工位上,守著電腦看代碼。
一開始,沒多少人看得懂陽振坤在做什么。他是他所在的每一個(gè)群體里的另類。他是北大學(xué)者里少有的投身產(chǎn)業(yè)的人,而在觥籌交錯(cuò)的商人圈子,他的教師屬性又讓他格格不入。即便見到技術(shù)同行,他所創(chuàng)造的一個(gè)全新的數(shù)據(jù)庫,能理解的人鳳毛麟角。很長一段時(shí)間里,他必須活在無人理解的孤獨(dú)里。他參加技術(shù)圈的聚會并不多,倒不是因?yàn)楣ぷ髅Γ撬呀?jīng)習(xí)慣了熱鬧里的孤獨(dú)。「我還是會按照我的方式來做事情,我覺得需要參加的活動并沒有那么多……對程序員而言,更重要的是沉下心來做事情。就我自己的經(jīng)歷而言,一個(gè)程序員把事情想清楚的重要性要比人們認(rèn)為的大很多。」他說。
陽振坤和組員在工位區(qū)
12年過去了,他和他的技術(shù)已切實(shí)影響了超過十億消費(fèi)者,他曾經(jīng)一次次畫在紙上跟人解釋的數(shù)據(jù)庫構(gòu)想,最終全面替換掉了支付寶交易、支付、賬務(wù)系統(tǒng)原本依賴的Oracle數(shù)據(jù)庫,成為支撐著我們?nèi)粘I畹牡讓踊A(chǔ),這個(gè)中國的數(shù)據(jù)庫還出口到了東南亞和北美等地,為當(dāng)?shù)氐臉I(yè)務(wù)提供數(shù)據(jù)庫服務(wù)。這些真實(shí)世界的成功,讓這個(gè)技術(shù)另類的存在變成了一個(gè)有趣的命題:商業(yè)世界存在一個(gè)陽振坤的意義是什么?
最直接的結(jié)果是技術(shù)進(jìn)步。正是因?yàn)橛兴膱?jiān)持,中國誕生了一個(gè)擁有自主知識產(chǎn)權(quán)的分布式關(guān)系數(shù)據(jù)庫,這也是全世界第一個(gè)大規(guī)模應(yīng)用在金融核心業(yè)務(wù)的中國數(shù)據(jù)庫。在沒有任何先例可以參考的情況下,最初僅由只有幾十個(gè)人的小團(tuán)隊(duì)開發(fā)出來,以遠(yuǎn)低于傳統(tǒng)數(shù)據(jù)庫的成本,扛住了支付寶一次又一次的雙十一支付峰值,入選了2022年世界互聯(lián)網(wǎng)大會領(lǐng)先科技成果獎(jiǎng)。
然而,更重要也更深遠(yuǎn)的意義或許在于,陽振坤的存在創(chuàng)造了一種新的生態(tài)。他顛覆了時(shí)下困擾這個(gè)行業(yè)的「35歲危機(jī)」:一個(gè)程序員必須在35歲之前躋身管理層,否則將無法以技術(shù)身份立足,年長的技術(shù)人員意味著貶值、淘汰、失去意義,「60歲還在寫代碼」幾乎是對一個(gè)程序員最惡毒的職業(yè)詛咒。
陽振坤活成了這個(gè)危機(jī)的最好反例。他離開北大的那年已經(jīng)36歲,著手?jǐn)?shù)據(jù)庫立項(xiàng)的那年45歲,投身業(yè)界的過程并非一帆風(fēng)順,中途經(jīng)歷過不止一次的否定、質(zhì)疑、團(tuán)隊(duì)解散危機(jī),可他始終是一個(gè)絕對意義上的程序員。自始至終,他保留了王選教給他的職業(yè)原則:正氣、專注、頂天立地。他做過團(tuán)隊(duì)的管理者,但他大部分時(shí)間都在技術(shù)一線,全力專注于代碼、設(shè)計(jì)和具體的技術(shù)問題。他的團(tuán)隊(duì)信奉另一種職業(yè)邏輯:一個(gè)程序員也可以不必鉆研晉升捷徑,專注于自己的代碼,深耕技術(shù)也可以取勝。這對于熱衷談?wù)擄L(fēng)口、熱點(diǎn)、捷徑的互聯(lián)網(wǎng)行業(yè),不失為一種有意義的對照。
跟陽振坤一起爬過山的人都知道,他有自己的法則。在山腳下出發(fā)的時(shí)候,陽振坤并不是奪冠選手,他既不是體力最好的,也不是沖刺最快的,他的爬山也不講究走捷徑的技巧,他只是按照自己的節(jié)奏,找準(zhǔn)通往山頂?shù)穆罚痪o不慢地勻速前進(jìn)。他比不過起速快的年輕人,中途也會被抄小路的人反超,但整個(gè)全程他走得最穩(wěn),走得也最遠(yuǎn),所以幾乎每一次,他都是最早攀登頂峰的人。這是他的取勝之道,一個(gè)技術(shù)主義者贏的方法論。
「陽老師」帶領(lǐng)年輕程序員研讀學(xué)術(shù)論文
技術(shù)的愚公移山
楊傳輝是第一個(gè)看懂陽振坤想做什么的年輕人。2007年,他畢業(yè)到百度工作,入職的唯一要求是要進(jìn)陽振坤的組。后來陽振坤加入阿里巴巴,他也在一個(gè)月以后入職,繼續(xù)一起研發(fā)數(shù)據(jù)庫。
一開始,他們都著迷于谷歌的分布式系統(tǒng)。楊傳輝在谷歌實(shí)習(xí)的時(shí)候第一次知道它的概念,而陽振坤在微軟的時(shí)候,常常和王堅(jiān)討論起這個(gè)話題,每次聊起都覺得很震撼。以前人們要處理海量數(shù)據(jù),只能把機(jī)器越造越大,但是谷歌提出了一個(gè)新主意——我們可以用很廉價(jià)的機(jī)器,以一種分布式架構(gòu)組織起來,去完成大型機(jī)才能做的事情。這個(gè)主意激發(fā)他們?nèi)ヌ剿鳎绻麑⒎植际綉?yīng)用在關(guān)系數(shù)據(jù)庫上,同時(shí)解決這種系統(tǒng)的可用性和可靠性,那會是新的「頂天立地」。
當(dāng)時(shí),數(shù)據(jù)存儲是一個(gè)亟待解決的難題。他們在組內(nèi)討論業(yè)務(wù)前景,中國人網(wǎng)上交易是海量的,阿里巴巴的服務(wù)器最早就是以千為單位計(jì)數(shù),累積超過數(shù)千億條記錄了。當(dāng)時(shí)支付寶一天就一億多筆交易,如果像傳統(tǒng)商業(yè)數(shù)據(jù)庫那樣一筆交易成本一毛多錢,一億多筆交易一天就一千多萬,哪個(gè)公司扛得住這樣的成本?在這條路上依靠像Oracle這樣的商業(yè)數(shù)據(jù)庫是代價(jià)高昂的。更何況,業(yè)務(wù)還經(jīng)常會跑來說,下個(gè)星期我們要做一次大促銷,你們數(shù)據(jù)庫扛不扛得住?Oracle擴(kuò)容需要購買高端服務(wù)器和磁盤陣列,這至少需要2-3個(gè)月。這是擺在技術(shù)面前的挑戰(zhàn):能不能創(chuàng)造一種新的模式,既把成本幾十倍地降下來,又能保證穩(wěn)定、可靠、快速地按需擴(kuò)容縮容?
在一次次重寫的架構(gòu)圖紙上,陽振坤慢慢找到了一種可行的解決路徑——固態(tài)盤SSD每秒鐘能讀取幾萬次,每次只需0.1毫秒,大大優(yōu)于機(jī)械盤的讀取能力。如果設(shè)計(jì)一種分布式數(shù)據(jù)庫,采用SSD存儲數(shù)據(jù),只記錄修改的動態(tài)數(shù)據(jù),而把全部數(shù)據(jù)記錄的寫入時(shí)間放在用戶行為減少的后半夜一次性寫入,這就可以大幅提高效率,提升數(shù)據(jù)可用性。而同一份數(shù)據(jù)至少存在三臺機(jī)器上,這就好像把生命送上三個(gè)運(yùn)行的小星球上面,它們彼此都是對方的備份,失去任何一方都還有人能頂上,這就能保證數(shù)據(jù)的可靠。
這就是數(shù)據(jù)庫最初的構(gòu)想,陽振坤提出了一種同時(shí)解決了成本、性能、可靠、可用、容錯(cuò)、容災(zāi)問題的技術(shù)解決方案。之后十多年的現(xiàn)實(shí)證明,這個(gè)最初的設(shè)想不僅成立,而且是關(guān)系數(shù)據(jù)庫的顯著技術(shù)進(jìn)步。
第一個(gè)業(yè)務(wù)應(yīng)用在淘寶收藏夾,剛上線的時(shí)候是一個(gè)機(jī)房十幾臺機(jī)器,后來數(shù)據(jù)量和訪問量都已經(jīng)翻倍了,還是十幾臺機(jī)器。他們用了幾分之一的成本,實(shí)現(xiàn)了比當(dāng)時(shí)更高的性能。
但是,這個(gè)技術(shù)創(chuàng)新在誕生之初面對的卻是接連的否定。當(dāng)時(shí)Oracle數(shù)據(jù)庫已經(jīng)占據(jù)了市場統(tǒng)治地位,替換風(fēng)險(xiǎn)很大,那時(shí)候淘寶大部分業(yè)務(wù)也都已經(jīng)按照用戶維度做了分庫分表,一個(gè)全新的數(shù)據(jù)庫很難有用武之處。更重要的是,數(shù)據(jù)庫是底層系統(tǒng),研發(fā)周期以年為單位,短期看不出成效,但那時(shí)候人們還沉浸在中國互聯(lián)網(wǎng)的高速增長中,沒人知道十年后會有貿(mào)易戰(zhàn),大部分人不能理解為什么研發(fā)一個(gè)國產(chǎn)數(shù)據(jù)庫迫在眉睫。
面試新人的時(shí)候,陽振坤經(jīng)常問:「你覺得有沒有希望追得上Oracle?」在剛開始的幾年,他得到過表述不一的回答,結(jié)論都是統(tǒng)一的「不可能」。
在當(dāng)時(shí)的處境下,陽振坤提出「頂天立地」的技術(shù)目標(biāo)聽起來十分遙遠(yuǎn)。「那時(shí)候我經(jīng)常跟大家聊,我們做這件事情,一定不只是給淘寶做,給天貓做,給支付寶做,我們一定要面向全世界,做一個(gè)真的頂天立地、通用的數(shù)據(jù)庫,因?yàn)閿?shù)據(jù)庫一定會從單機(jī)走向多機(jī)、走向分布式,我們正好有機(jī)會先走了這一步。」
最初的很長一段時(shí)間里,陽振坤成為了數(shù)據(jù)庫行業(yè)里的另類,圍繞他身邊的都是懷疑:為什么要自己做數(shù)據(jù)庫?有那么多開源的數(shù)據(jù)庫,拿來用不就行了?數(shù)據(jù)庫發(fā)展那么多年,不止一家公司想做新數(shù)據(jù)庫都沒做成,你是一個(gè)沒有做過數(shù)據(jù)庫的人,憑什么你能做成?
「陽老師一直都覺得肯定能替代Oracle,當(dāng)時(shí)對我們來講覺得是一個(gè)天方夜譚的事,我們怎么可能替代Oracle呢?我們連人數(shù)上都(比不上),我們幾十人,人家Oracle幾萬人。從零到一做一個(gè)數(shù)據(jù)庫,覺得是愚公移山,大家都覺得有現(xiàn)成的干嘛不用,干嘛非要自己去研發(fā)一個(gè),但陽老師相信這件事。」在負(fù)責(zé)技術(shù)運(yùn)營的李琦說。「我覺得他身上有那股勁兒,非常執(zhí)著,對于他堅(jiān)信的事情一定要做到極致,并且會想盡辦法把他相信的事情變成現(xiàn)實(shí)。」
「其實(shí)技術(shù)永遠(yuǎn)不可能完全地舒展開,那是個(gè)理想狀態(tài)。但是我覺得一個(gè)技術(shù)團(tuán)隊(duì)(取得成功),也許有兩點(diǎn)很關(guān)鍵,讓大家看到技術(shù)很有價(jià)值,也要讓大家理解技術(shù)的力量。因?yàn)橛袝r(shí)候解決問題,可能不是用的技術(shù)手段,比如有人談判能力很強(qiáng),靠人的能力把價(jià)錢壓下來了。但是我要做的事情是讓大家看到,我們能用技術(shù)的手段解決問題。」陽振坤說。「我本身是一個(gè)程序員,我能把技術(shù)想得很清楚,估算出來大概需要花多長時(shí)間,多少人,就能把這件事情做出來。我們要讓大家認(rèn)同我們的技術(shù)做法,(相信)這個(gè)技術(shù)方向是正確的。」
這是陽振坤從王選時(shí)代就形成的信念。一個(gè)例子是,最早印刷的漢字看起來有點(diǎn)別扭,因?yàn)楫?dāng)時(shí)的技術(shù)沒辦法完美表達(dá)曲線,一碰到漢字有弧度的部分,像是撇、捺、點(diǎn)、勾,只能用短小的直線拼湊成近似彎曲的樣子,這導(dǎo)致漢字的每一種彎曲在芯片上的算法表達(dá)都很困難,一度陷入瓶頸,但是陽振坤一點(diǎn)點(diǎn)推敲,最終想到了辦法。他學(xué)數(shù)學(xué)出身,他用一個(gè)三次多項(xiàng)式表達(dá)這種曲線,再用三次加法的迭代讓芯片處理這條曲線,這樣一來就實(shí)現(xiàn)了芯片完美表達(dá)漢字里的每一種曲線,也是他的技術(shù)自信:那些原本你覺得不可能的事情,因?yàn)榇a的存在,它們都能發(fā)生。
「他有一個(gè)信念,他認(rèn)為沒有什么技術(shù)問題是解決不掉的,只要這個(gè)問題有最優(yōu)解,大家就一定能想到,這是他的自信。無數(shù)年的工作已經(jīng)證明了這一點(diǎn),他慢慢形成了這種自信。」楊傳輝說。
只要有技術(shù)的進(jìn)步,只要有人的堅(jiān)持,改變一定會發(fā)生,這種技術(shù)自信一點(diǎn)點(diǎn)感染著周圍的人。楊傳輝說,一開始出去談合作的時(shí)候總要開很久的會,因?yàn)閷Ψ阶鰳I(yè)務(wù),聽不懂他講的底層數(shù)據(jù)庫。每次一提到自家數(shù)據(jù)庫的特征,「既能保證強(qiáng)一致,又能保證高可用,宕機(jī)的時(shí)候還能保證不丟數(shù)據(jù)」,對方總是一臉懷疑,這怎么可能呢?有時(shí)候開會講不明白,開完會一邊吃飯一邊繼續(xù)講,他常常覺得最后對方同意,并不總是因?yàn)榧夹g(shù)。「有時(shí)候業(yè)務(wù)方也知道,他沒辦法理解底層的每一個(gè)細(xì)節(jié),他沒聽懂,但是他覺得你人是靠譜的,信任我們的為人,給我們嘗試的機(jī)會。」
2014年,支付寶的交易支付系統(tǒng)開始使用數(shù)據(jù)庫,為了說服管理層信任技術(shù),陽振坤當(dāng)時(shí)寫過一封郵件:「咱們的同學(xué)非常優(yōu)秀:給他們一個(gè)信任,他們會給我們驚喜甚至奇跡,我們認(rèn)為技術(shù)上做不到的,他們也能做到……」不久后,他也得到了信任的反饋:「我不懂技術(shù),但是我相信技術(shù)。」
事實(shí)上,技術(shù)最終給出了一份超出想象的答復(fù)。在很多層面上,已經(jīng)做到了互聯(lián)網(wǎng)數(shù)據(jù)庫基礎(chǔ)軟件中的最優(yōu)解。它在2017年在支付寶全面取代IOE,在2019年又在世界上最權(quán)威的數(shù)據(jù)庫評測機(jī)構(gòu)TPC(國際事務(wù)處理性能委員會)發(fā)起的TPC-C基準(zhǔn)測試上取代Oracle,成為第一名,打破了Oracle保持了9年的世界紀(jì)錄。不僅如此,從2017年開始,開始服務(wù)外部客戶,2021年面向全網(wǎng)開源,去年八月份發(fā)布了可以在全球最小的電腦樹莓派上運(yùn)行的4.0版本,這打破了當(dāng)前分布式數(shù)據(jù)庫只服務(wù)于大客戶的局限,新版本讓中小企業(yè)也可以低成本享受分布式數(shù)據(jù)庫的高性能。
這所有的現(xiàn)實(shí)成績證明了最初設(shè)想的成果,技術(shù)道路的確把商業(yè)帶到了更遠(yuǎn)的地方,朝著一個(gè)通用的數(shù)據(jù)庫邁進(jìn),這條路走得越來越遠(yuǎn)。
陽振坤獲得「CEO特別獎(jiǎng)」
打破「35歲危機(jī)」
所有人都意識到,陽振坤還想要去更遠(yuǎn)的地方。楊傳輝依然跟著陽振坤一起工作,他現(xiàn)在成為了的CTO,每次跟陽振坤聊天都會發(fā)現(xiàn),這位技術(shù)前輩總有新的想法。他在手機(jī)上預(yù)約剪頭發(fā)的時(shí)候意識到,理發(fā)店都習(xí)慣于把預(yù)約信息放在公有云上,這意味著一種新的數(shù)據(jù)存儲需求,而這可以成為分布式數(shù)據(jù)庫的機(jī)會,他們可以用切分虛擬數(shù)據(jù)庫來滿足這種新的需求。還有一年過完春節(jié)回來,他在紙上畫起了新的架構(gòu)圖,這是他用假期想明白的數(shù)據(jù)庫未來——在同一個(gè)數(shù)據(jù)庫里既做轉(zhuǎn)賬記賬,又可以算賬,一種被稱為HTAP的數(shù)據(jù)庫。
和陽振坤的每次見面都是一場新的學(xué)習(xí)。他已經(jīng)逐漸邁向退休年齡了,但他在工作中的熱情程度卻絲毫不亞于一個(gè)剛?cè)肼毜哪贻p人,直到現(xiàn)在依然喜歡提出新問題,討論新方向。陽振坤在團(tuán)隊(duì)內(nèi)部有個(gè)規(guī)矩,所有專利發(fā)明只要沒有他的直接貢獻(xiàn),都不能寫他的名字。但連他自己都沒有注意到的是,在 300多項(xiàng)專利里,超過三分之一的專利第一署名申請人是陽振坤。也就是說,留在技術(shù)一線的陽振坤一直在不斷輸出,一個(gè)程序員45歲之后的創(chuàng)造力依然強(qiáng)大,能源源不斷提出新的構(gòu)想。
辦公室里的「陽老師」在技術(shù)之外的地方,也留下了很深的影響。與他共事的人最常提及的一個(gè)影響是,在他身上,他們重新理解了年齡,重新理解了時(shí)間。
互聯(lián)網(wǎng)公司的典型項(xiàng)目周期是兩個(gè)星期——用戶提需求,他們在兩周內(nèi)響應(yīng),上線發(fā)布,項(xiàng)目結(jié)束。但是陽振坤的項(xiàng)目周期單位是年,最短也要以半年計(jì)算。當(dāng)時(shí)新到公司的年輕人找他抱怨說,他們的合租室友在天貓工作,別人做網(wǎng)頁,熬一兩周就能看到成效,指著網(wǎng)站上的頁面說,這就是我做的。可是自己來了半年了,好像什么都沒做出來,做出來的東西也都關(guān)在屋子里,根本沒有成績。
陽振坤的回答現(xiàn)在也成為了這個(gè)團(tuán)隊(duì)的經(jīng)典答案:「再過三年,你做的數(shù)據(jù)庫還在天貓用,但是他改的網(wǎng)頁三年后早就已經(jīng)看不到了。」
「MySQL從發(fā)第一個(gè)版本到普遍用起來,花了十幾年的時(shí)間。十年其實(shí)是一個(gè)挺正常的事情,基礎(chǔ)性的東西是不可能幾個(gè)月或者一兩年就能做成的。」陽振坤說。
「我們這種做底層系統(tǒng)的團(tuán)隊(duì),跟德國的藍(lán)領(lǐng)工人很像的,他們年紀(jì)也很大了,但是他們很珍貴,比方說最精密的車床一直是靠人工制造的,最精密的鏡片,最精密的望遠(yuǎn)鏡,到了一定程度之后,它要靠人的經(jīng)驗(yàn)。這也是為什么在美國一些老牌公司里面有很多年齡很大的程序員,那些做底層系統(tǒng)的人需要很長時(shí)間的培養(yǎng)、磨練和積累。」
這是陽振坤自己從數(shù)學(xué)轉(zhuǎn)行做程序員的體會。剛從數(shù)學(xué)系轉(zhuǎn)到王選所在的計(jì)算機(jī)系時(shí),陽振坤對于程序員的生活一無所知。面對計(jì)算機(jī),他幾乎什么都不會,不懂C++,不會寫任何一門編程語言,事實(shí)上他在此之前都沒怎么見過計(jì)算機(jī),因?yàn)榘耸甏谋贝笠还惨仓挥袔着_設(shè)備,計(jì)算機(jī)系教學(xué)都不夠用,更輪不上他所在的數(shù)學(xué)系。學(xué)計(jì)算機(jī)的頭五年,他基本上一天工作16個(gè)小時(shí),每天早上7點(diǎn)機(jī)房一開門就在門口。程序員的職業(yè)意味著什么?要怎么做?未來的路怎么走,全都是在摸索中發(fā)現(xiàn)的。
技術(shù)研發(fā)需要無止盡的探索
九十年代跟著王選去美國,他們?nèi)ピL問IBM的研究中心,不少白發(fā)蒼蒼的程序員坐在辦公室里,敲著鍵盤寫代碼。這一幕一直留在陽振坤的心里,這是他所理解的程序員應(yīng)有的樣子。「比爾·蓋茨曾經(jīng)說過,IBM之所以發(fā)展得不夠好,一個(gè)重要的原因是他們把聰明人都提拔成了管理者,很多技術(shù)、很多產(chǎn)品沒有足夠聰明的人繼續(xù)發(fā)展它。這句話可能不見得對,至少說明了一個(gè)問題,管理不是每個(gè)人發(fā)展的唯一路徑。」
「過去做應(yīng)用、做前端,大家都是一股腦兒跑去做一些很前端的東西,來了發(fā)現(xiàn)這個(gè)行業(yè)的人做了十年以上的非常多,這件事打破了我長期以來的觀念。」李琦說,「陽老師一直在說,我們一定要沉下心來,做底層技術(shù)就是需要足夠的耐心和充分的信心。我們自己也相信這件事,像陽老師那樣把事情做五年、十年、二十年,慢慢看到成效。我覺得這里打破了所謂傳統(tǒng)互聯(lián)網(wǎng)『35歲危機(jī)』魔咒。我們不會說35歲是一個(gè)坎兒,在這個(gè)行業(yè)里沉淀的時(shí)間越久,你對行業(yè)的理解越深,你也愿意再花精力在行業(yè)里繼續(xù)沉淀。在這里會有一種心態(tài)上的從容,把事情做好就行了,不用考慮太多。」
作為程序員,楊傳輝也是一個(gè)不相信「35歲危機(jī)」的人,甚至他在招聘中會更看重程序員的年資,這是他和陽振坤一起做數(shù)據(jù)庫十多年以來的切身經(jīng)驗(yàn)。很多核心的人在35歲以上,因?yàn)樽鰯?shù)據(jù)庫的開發(fā)設(shè)計(jì)需要時(shí)間沉淀,他自己也是花了近十年的時(shí)間才真正理解了數(shù)據(jù)庫,一個(gè)人到了35歲也剛好把自己行業(yè)最深的問題想清楚,所以35歲到45歲正是一個(gè)程序員整個(gè)工作生涯產(chǎn)出最高的時(shí)間段,而不是一個(gè)應(yīng)該憂慮的時(shí)間段。「一個(gè)50歲的人寫代碼,現(xiàn)在大部分人會覺得,這個(gè)人是不是不太行。以后看到這樣的人,你會覺得挺正常的。陽老師這樣的人現(xiàn)在只有一個(gè),以后會越來越多。美國白胡子程序員多了去了。」楊傳輝說。
再過幾年,陽振坤就要60歲了,他的愿望是那時(shí)候的自己依然可以留在一線,解決技術(shù)的問題。如果一切順利,退休的時(shí)候他希望自己依然是一個(gè)程序員。
「坦率地說,我并不是特別聰明的人。我見過聰明的程序員,比如在北大的時(shí)候我們的大師兄,內(nèi)部各種各樣的工具一多半都是他隨手寫完的。我佩服這樣的人,可我知道我不是這樣。我屬于不算特別笨也并不聰明,可是很努力的那種人。小時(shí)候父親教我一句話,『千年餓不死的手藝人』。我不想當(dāng)頭兒,也不想當(dāng)官,如果可以,我還是喜歡自己做事。」陽振坤說。「我覺得中國人在技術(shù)上的創(chuàng)新,尤其是核心貢獻(xiàn)與國際先進(jìn)水平的差距現(xiàn)在真的越來越小了。就像當(dāng)年的激光照排技術(shù)讓中國走在世界前列,我想我們的數(shù)據(jù)庫應(yīng)該也有這樣的機(jī)會。」
直到現(xiàn)在,他還是會在面試的過程中拿出紙,給新認(rèn)識的人畫的框架圖,講解一個(gè)個(gè)分布式數(shù)據(jù)庫里的技術(shù)細(xì)節(jié)。這是他作為商業(yè)另類最典型的例證,但現(xiàn)在,這也成為了他尋找同類的暗號。
他的團(tuán)隊(duì)里現(xiàn)在多了一個(gè)另類的故事——有一次的面試?yán)铮诂F(xiàn)場的候選人是曾在王選課題組里的學(xué)生。他曾經(jīng)在北大讀書,陽振坤是他的密碼學(xué)老師。來面試之前,他曾經(jīng)猶豫過要不要加入這個(gè)團(tuán)隊(duì),但是在面試的時(shí)候,陽振坤直接掏出一個(gè)本兒,跟他講的未來是什么。他說,他就是為了這一刻留下來的,因?yàn)槟欠N感覺像是回到了幾十年前的北大,回到了王選的課題組,回到了他們做技術(shù)最初的起點(diǎn),原來在學(xué)術(shù)界之外的地方也可以純粹地做技術(shù),講究正氣,追求頂天立地,把卡脖子的技術(shù)真正拿下,做中國人自己的技術(shù)。
他決定留下來,和陽振坤一起繼續(xù)往前走。一個(gè)人的堅(jiān)持變成了一群人的信念,辦公室里不再只有一個(gè)另類。
團(tuán)隊(duì)合影
親愛的讀者們,不星標(biāo)《人物》公眾號,不僅會收不到我們的最新推送,還會看不到我們精心挑選的封面大圖!星標(biāo)《人物》,不錯(cuò)過每一個(gè)精彩故事。希望我們像以前一樣,日日相伴。
《人物》首部女性報(bào)道合集
《她們和她們》
正式開售,點(diǎn)擊圖片購買↓↓↓
*請認(rèn)真填寫需求信息,我們會在24小時(shí)內(nèi)與您取得聯(lián)系。