導(dǎo)語:本期訪談對象@許式偉,七牛云存儲CEO,國內(nèi)Go語言圈領(lǐng)軍人物,ECUG社區(qū)發(fā)起人。許式偉的經(jīng)歷頗有傳奇性,大學(xué)時(shí)就有“C狂”外號的他,憑一份手寫簡歷成功應(yīng)聘金山,兩年后成長為首席架構(gòu)師,領(lǐng)導(dǎo)WPS 2005長達(dá)3年的研發(fā)。2006年,公司從軟件向互聯(lián)網(wǎng)轉(zhuǎn)型,許式偉建立金山實(shí)驗(yàn)室,以技術(shù)總監(jiān)身份主導(dǎo)分布式存儲開發(fā)。2009年加入盛大創(chuàng)新院,成功推出盛大網(wǎng)盤和盛大云之后,于2011年創(chuàng)立七牛云存儲,專注企業(yè)級存儲服務(wù)。
在某技術(shù)大會的間隙,我第一次見到許式偉。連日出差輾轉(zhuǎn),他看上去略微有些疲倦,并無CEO的架子,只是話極少。我覺得有些冷場,怕被他拒絕,硬著頭皮稀里嘩啦說了一堆。素知他低調(diào),未曾想技術(shù)范兒到如此,于是生出不少好奇:在技術(shù)上追求極致的人,難免會陷入自我的世界而不自知,他在工作中到底會怎樣思考及行事?內(nèi)心與現(xiàn)實(shí)世界的連接又是如何建立?從技術(shù)大牛到創(chuàng)業(yè)公司CEO,產(chǎn)品、市場、管理的坎,分別都是在他職業(yè)生涯的哪些階段,用什么方式跨過去的?
帶著這些疑問,我細(xì)細(xì)看過了他曾經(jīng)的演講和采訪,不禁平添許多佩服。敏于思考、勤于實(shí)踐、不迷信權(quán)威、不盲目跟風(fēng),早在許式偉求學(xué)階段,就已經(jīng)發(fā)展出獨(dú)立的心智模型,并在對理性世界的探索中臻于成熟。從他的行為決斷中,能很容易找到內(nèi)心自信的痕跡,例如在Go語法特性還未穩(wěn)定時(shí),就選其作為七牛服務(wù)端的主體語言。這些異于常人、甚至看上去冒險(xiǎn)的決定,當(dāng)你足夠了解他之后,自會明白背后的深思熟慮。一個(gè)人的心智模型,到底會在多大程度上決定他的未來走向?斷斷續(xù)續(xù),我寫下3209字,包含了71個(gè)問題的提綱,決心把這好奇窮盡。
在另一場技術(shù)會議舉辦地的酒店大堂,我和剛結(jié)束完演講的許式偉碰面,他中午才到北京,第二天一早要回上海。我們從下午4點(diǎn)40分,一直聊到晚上10點(diǎn),其間他還借著吃飯時(shí)間安插了一場面試。井井有條的忙碌中,能看出些他平日的行事風(fēng)格。創(chuàng)業(yè)3年,從精于底層技術(shù),到把核心技術(shù)產(chǎn)品化、服務(wù)化,再到讓15萬企業(yè)用戶為此買單,許式偉帶領(lǐng)七牛,在競爭激烈的云計(jì)算領(lǐng)域闖出了一條新路。
這同時(shí)也是一個(gè)典型技術(shù)人的理想實(shí)現(xiàn)之路。扛過國產(chǎn)軟件研發(fā)的大旗,忍受過在Office和盜版夾擊下的艱難求生,經(jīng)歷過公司轉(zhuǎn)型和個(gè)人轉(zhuǎn)型交織的洗禮,軟件時(shí)代的技術(shù)人注定逃不開在逆境中成長的命運(yùn)。曾奮斗在同一戰(zhàn)壕的金山人大多進(jìn)了游戲行業(yè),許式偉卻始終獨(dú)愛基礎(chǔ)研發(fā)。從產(chǎn)品掌舵人,到公司掌舵人,他已逆流而上行了十一年,在轉(zhuǎn)向順流的下一站,等待他的會是責(zé)任更重的行業(yè)掌舵人。
注:本文大部分觀點(diǎn)及內(nèi)容屬首次發(fā)表,訪者在其它場合闡述過的重要觀點(diǎn),在文中以標(biāo)注形式給出。
技術(shù)人攻略:七牛是國內(nèi)第一家選Go語言做服務(wù)端的公司,你也曾多次談到選擇Go的理由,創(chuàng)業(yè)公司做這種重大決策要冒很大風(fēng)險(xiǎn),能不能談?wù)勛鲞@些決策背后的思路?
蠻多人質(zhì)疑七牛,為什么早在2011年,Go的語法還沒完全穩(wěn)定下來的情況下,選擇Go作為存儲服務(wù)端的主體語言。這種看上去激進(jìn)和冒險(xiǎn)的決定,實(shí)際上經(jīng)過了嚴(yán)格的論證過程,并不是隨意為之。我一直認(rèn)為:選擇和信息的對稱程度有關(guān)系。當(dāng)你越不了解一個(gè)東西,越會趨向選擇保守性的方案,而當(dāng)你對某個(gè)領(lǐng)域了解得足夠透徹,你的決策過程會非常自然。
我做決策前,會先試圖了解整個(gè)背景,看別人一般怎么做,有哪些新興的idea,這些idea是不是靠譜,如果我來做,會傾向于往哪個(gè)方向走。當(dāng)你深入研究了新技術(shù)的思考方式,以及它要解決的問題,就會知道它和自己要解決的問題有多大的相關(guān)性。這就要求你具備嚴(yán)謹(jǐn)?shù)乃季S方式,在很多人眼里,嚴(yán)謹(jǐn)是古板的,會扼殺創(chuàng)新。但在我看來,嚴(yán)謹(jǐn)不是創(chuàng)新的對立面,而是創(chuàng)新的基礎(chǔ)。奇思妙想再好,如果不經(jīng)過嚴(yán)謹(jǐn)?shù)耐评磉^程,就無法變成行動力。用這樣的方式分析,有可能會出現(xiàn)一些比較大膽的選擇,但其實(shí)并不是隨意決定。如果你僅僅知道一些名詞,不了解背后的具體原理,必然會傾向于選最保守的方案。
我曾多次公開分享過Go語言的亮點(diǎn),包括它的并發(fā)編程模型、對軟件工程的支持,以及對編程哲學(xué)的重塑。在我看來,Go對并發(fā)與分布式的支持算不上特別,所有新興的語言也都有工程化的思想,所以編程哲學(xué)的重塑才是Go語言獨(dú)樹一幟的根本原因,其它語言仍難以擺脫OOP或函數(shù)式編程的烙印,只有Go完全放棄了這些,對編程范式重新思考,對熱門的面向?qū)ο缶幊烫峁O度簡約但卻完備的支持。Go把其全新的編程理念,稱為面向連接的語言。作為一名老程序員,我認(rèn)為Go的編程哲學(xué)獨(dú)具魅力,超越其它新興語言。
前VMware云平臺的首席技術(shù)官Derek Collison,曾在2012年斷言Go語言將在兩年內(nèi)制霸云計(jì)算。我認(rèn)為他的說法略有激進(jìn),但和實(shí)際的發(fā)展趨勢吻合,Docker、CoreOS等新的云計(jì)算基礎(chǔ)設(shè)施都基于Go。在我看來,Go是互聯(lián)網(wǎng)時(shí)代的C語言,不僅會制霸云計(jì)算,10年內(nèi)將會制霸整個(gè)IT領(lǐng)域。
技術(shù)人攻略:你這種不迷信權(quán)威,獨(dú)立思考的思維方式,是從什么時(shí)候形成的?這種思維方式給你帶來了哪些益處?
從初中起,我就發(fā)現(xiàn)大人們有時(shí)也會做出不可理喻的決定,于是就開始有了獨(dú)立思考的習(xí)慣。核心就是一句話:凡事都要問個(gè)為什么,要有打破沙鍋問到底的精神,不可人云亦云。所以在學(xué)習(xí)的時(shí)候,我不喜歡簡單地去記老師教的結(jié)論,而是用推演的方式,研究書上的公式和理論到底是怎么來的。
進(jìn)大學(xué)之后,接觸到《理論物理》這門課,學(xué)到拉普拉斯方程,能解高中所有物理問題。這個(gè)方程給了我很深的觸動,牛頓經(jīng)典力學(xué)幾個(gè)公式看起來并沒有推導(dǎo)關(guān)系,但其背后卻原來有非常自然的內(nèi)在關(guān)聯(lián)。
另一門《現(xiàn)代數(shù)學(xué)》也讓我受益很深,它對多維幾何、群論、分形學(xué)、混沌理論比較現(xiàn)代化的數(shù)學(xué)分支都有涉獵。其中分形幾何實(shí)際上是一面數(shù)學(xué)和計(jì)算機(jī)圖形學(xué)的交叉學(xué)科,讓我很想往深去挖,于是把圖書館所有關(guān)于分形和混沌的書都看了一遍,還寫了一個(gè)程序,把接觸過的分形模型都用計(jì)算機(jī)模擬了一遍。
這兩門課讓我看到了許多事物從不相關(guān)到相關(guān)的內(nèi)在聯(lián)系,也推動了我去思考和探究背后的原因。長此以往,我發(fā)現(xiàn)從某種意義上看,這個(gè)世界沒有學(xué)科之分,計(jì)算機(jī)、代數(shù)、物理,并沒有非常明顯的邊界。
這種思維方式對我后來的工作有很大影響,舉個(gè)例子,蠻多人會認(rèn)為,存儲不就是把東西存到磁盤里嗎,跟數(shù)學(xué)有什么關(guān)系呢?實(shí)際上往高深去做,存儲系統(tǒng)和數(shù)學(xué)有非常緊密的關(guān)聯(lián)。通常的存儲服務(wù)要保證數(shù)據(jù)不丟,必須存多份,存多份就會增加存儲成本,經(jīng)典的3副本存儲,冗余度是3。想用更低的成本去存,就要用到域代數(shù)。
域代數(shù)遵循自然代數(shù)的加減乘除規(guī)律,但數(shù)據(jù)值控制在有限區(qū)域,不管怎么算,結(jié)果都在0到255這個(gè)域里面,所以叫域代數(shù)。存儲文件可以認(rèn)為是0到255的一個(gè)序列,舉個(gè)例子,一個(gè)100K的文件拆成10份,每份是10K,存在10個(gè)地方,但文件仍然是一份。這時(shí)候用域代數(shù)里的加法(其實(shí)就是計(jì)算機(jī)中的異或操作),從這10份數(shù)據(jù)里取出一份校驗(yàn)數(shù)據(jù),數(shù)據(jù)變成了11份,它的冗余度是1.1。這是一種基于校驗(yàn)碼的存儲方式,成本比較低,但效果和雙副本差不多,其中任何一個(gè)數(shù)據(jù)丟了,都能恢復(fù)回去。
利用域代數(shù)降低成本,在存儲領(lǐng)域是發(fā)展的必然方向,七牛的存儲2.0已經(jīng)采用了這種方式。由此可以發(fā)現(xiàn),任何一個(gè)方向的技術(shù)要做到頂峰,都必須橫向地去理解,因?yàn)槭澜缟纤械氖虑槎加嘘P(guān)聯(lián)。想要對云存儲理解得更透徹,你必須理解整個(gè)世界,而不光是云存儲。所以學(xué)技術(shù)實(shí)際上是不能專精的,在專精的過程中遇到瓶頸,就要往廣度方向去挖掘。
技術(shù)人攻略:除了用域代數(shù)降低存儲成本,存儲的未來還會有哪些趨勢?
從降低存儲成本的角度看,算數(shù)冗余已經(jīng)在算法上做到了比較極致的狀況,存儲領(lǐng)域接下來的突破,應(yīng)該發(fā)生在材料科學(xué)上。生活中各種東西都在電子化,現(xiàn)實(shí)世界會逐步映射到比特世界,如果以這種方式瘋狂使用,必然會面臨能源危機(jī)。如何能讓存儲系統(tǒng)在常溫、不耗能的情況下運(yùn)行,是接下來我們要面臨的一個(gè)重要問題。
可能大家會覺得七牛談這件事有點(diǎn)奇怪,但我卻認(rèn)為未必。創(chuàng)業(yè)是一個(gè)不斷降低不確定性的過程,剛開始創(chuàng)業(yè)的時(shí)候,充滿了各種不確定性和不可控性,但不能停滯不前。這個(gè)過程中最麻煩的,是不能把自己看成必須怎樣做,要完全放空,不從各種可能性上去限制自己。至少走一步,大不了發(fā)現(xiàn)錯了回頭,其實(shí)也不晚。
如果七牛真要把存儲做到極致,一定會往材料這個(gè)方向走,因?yàn)樗P(guān)系到我們能不能把存儲做長久。當(dāng)然現(xiàn)階段,材料不是我們首要的關(guān)注點(diǎn),我們的重點(diǎn)是針對客戶的訴求點(diǎn),解決數(shù)據(jù)應(yīng)用層面的問題。
之前網(wǎng)盤一直在打存儲配額戰(zhàn),但都停留在把用戶的數(shù)據(jù)存下來,沒把它們用起來,所以網(wǎng)盤的用戶粘性很低,這也是我放棄做網(wǎng)盤產(chǎn)品的其中一個(gè)原因。直到現(xiàn)在我仍然看好個(gè)人云存儲的市場潛力,但我相信最后的產(chǎn)品形態(tài)不會是網(wǎng)盤,應(yīng)該是更加垂直化的、由場景驅(qū)動的、讓數(shù)據(jù)流動起來的一種形態(tài)。
存儲領(lǐng)域真正的戰(zhàn)爭發(fā)生在應(yīng)用層面,在數(shù)據(jù)量越來越大的情況下,所有公司都會面臨數(shù)據(jù)管理的難題。數(shù)據(jù)一定要流動起來才會產(chǎn)生價(jià)值,如果僅僅解決存儲,數(shù)據(jù)最終留在七牛的可能性不是特別高。七牛會對針對數(shù)據(jù)的使用場景,幫助客戶做標(biāo)準(zhǔn)化處理,實(shí)現(xiàn)數(shù)據(jù)價(jià)值的最大化。例如目前存儲最多的數(shù)據(jù)是圖片,圖片用戶的典型使用場景,是需要不同尺寸的縮略圖,我們提供了這樣的功能,用戶就省心多了,不用去重復(fù)去建設(shè)這個(gè)過程。
技術(shù)人攻略:回顧一下你的過往經(jīng)歷,畢業(yè)后僅用2年時(shí)間,就成為WPS的首席架構(gòu)師,這個(gè)過程是如何實(shí)現(xiàn)的?
金山在管理上給員工較大的自由度,所以個(gè)人的成長空間也挺大。我2000年加入金山,實(shí)習(xí)期間參與了WPS Office 2001的開發(fā)。分配給我的任務(wù),是軟件的讀盤和存盤模塊。這個(gè)模塊當(dāng)時(shí)的重要性并不那么高,它看上去簡單,但我發(fā)現(xiàn)其中有不少有意思的挑戰(zhàn)。挑戰(zhàn)之一,是要求你理解軟件的所有功能,以及每個(gè)功能的數(shù)據(jù)表達(dá)方式。這讓我無意中觸及到一個(gè)軟件系統(tǒng)最核心的東西——數(shù)據(jù)。順著這條線索,我研究了微軟Office各個(gè)功能模塊的數(shù)據(jù)存儲方式,并把一些有趣的實(shí)現(xiàn)方法分享給同事們,他們會吸收其中有益的部分,據(jù)此修改原有軟件的設(shè)計(jì)。
湊巧的是,一年之后,金山開始研發(fā)WPS 2002。新版本被稱作“格式兼容之戰(zhàn)”,為了實(shí)現(xiàn)對微軟Office文件格式的兼容,I/O成了戰(zhàn)略層面的技術(shù),存盤功能從邊緣模塊,一下變成了整個(gè)WPS研發(fā)的核心模塊。從2002年底,我領(lǐng)導(dǎo)WPS整體架構(gòu)設(shè)計(jì),開始了WPS 2005長達(dá)3年的研發(fā)。
隨著對存儲更深入的理解,我們在軟件架構(gòu)層面做出了創(chuàng)新,引入了一個(gè)數(shù)據(jù)層,抽象出所有數(shù)據(jù)的存儲過程。數(shù)據(jù)層誕生之前,傳統(tǒng)的“撤銷/重做”功能,通過對命令的反操作實(shí)現(xiàn)。這種做法非常笨重,所有新開發(fā)的功能,都必須考慮反操作怎么做。而數(shù)據(jù)層帶來的好處,是讓所有的數(shù)據(jù)天然可回滾,可以輕松支持多版本存盤、Undo/Redo(撤銷/重做),以及各種異步操作。
這個(gè)創(chuàng)新并不是對微軟的簡單模仿,其靈感來源于對增量存盤的思考。Office有個(gè)“快速存盤”概念,用戶正在編輯的內(nèi)容,如果已經(jīng)存過了一次盤,修改過后再次存盤,只需要在原來基礎(chǔ)上補(bǔ)加數(shù)據(jù)。相當(dāng)于對同一個(gè)文件,存了兩個(gè)版本的數(shù)據(jù)。我想既然可以做快速存盤,那么就不必關(guān)心用戶到底做了幾個(gè)操作,要實(shí)現(xiàn)撤銷和重做功能,只需要基于數(shù)據(jù)狀態(tài)做前進(jìn)和回退即可。
數(shù)據(jù)層的架構(gòu)大大降低了研發(fā)的復(fù)雜度,在當(dāng)時(shí)的金山起到了非常重要的作用。看上去,我像是很幸運(yùn),做的東西從邊緣模塊變成了核心模塊。我相信之前很多人接觸過存盤,但有多少人深入思考過其中的原理呢?我始終認(rèn)為,任何一件事情,想要做到極致,必須把它當(dāng)成一個(gè)學(xué)科來研究,把它琢磨透。假設(shè)這個(gè)東西很好玩,思考如果要把它做到極致,最終應(yīng)該是什么樣子。如果僅僅當(dāng)成一個(gè)簡單的任務(wù)完成,能取得的成果會很有限。
技術(shù)人攻略:你曾說過,金山向互聯(lián)網(wǎng)轉(zhuǎn)型的這個(gè)階段,也是你自己職業(yè)生涯中很痛苦的階段,你是如何度過的?
2006年是我職業(yè)發(fā)展的一個(gè)分界點(diǎn),之前專心致志做WPS,沒有任何二心。但在這一年,我遇到了瓶頸,對自己如何往下走,感到十分迷茫。國內(nèi)軟件業(yè)因?yàn)楸I版盛行,生存堪憂,WPS雖然有不少用戶,但并沒有取得商業(yè)上的成功。從2002年起,我已經(jīng)開始負(fù)責(zé)WPS的整體架構(gòu),但職位上的提升并沒有帶來任何成就感。如果產(chǎn)品無法讓最終用戶買單,從某種意義上說,你的價(jià)值并沒有被認(rèn)證。
中國軟件產(chǎn)業(yè)被盜版打擊得根本起不來,而互聯(lián)網(wǎng)能天然抑制盜版,金山蠻早意識到這一點(diǎn),開始探索辦公軟件的互聯(lián)網(wǎng)化。游戲是第一個(gè)從軟件變成互聯(lián)網(wǎng)的服務(wù),游戲能成功轉(zhuǎn)身,很重要的原因,是因?yàn)閱蝹€(gè)游戲天然有生命周期,下個(gè)游戲不提供單機(jī)游戲,用戶自然也會接受。辦公軟件是工具,必須沿襲用戶的習(xí)慣,互聯(lián)網(wǎng)化相對難很多。如果僅僅把辦公軟件在Web上做一套,能夠?yàn)橛脩籼峁┦裁葱碌膬r(jià)值呢?辦公互聯(lián)網(wǎng)化,最終必須顛覆原有形態(tài),而不是做一個(gè)Web上的WPS,但在當(dāng)時(shí),我們實(shí)在找不到更好的方式。
2006年是我成為產(chǎn)品人的開始,一下子感覺到光有技術(shù)真的不行,必須理解業(yè)務(wù)及其運(yùn)作方式,思考產(chǎn)品和商業(yè)的關(guān)系。為了拓寬眼界,我一方面廣泛參加行業(yè)里的會議、沙龍,找不同朋友聊產(chǎn)品方向;另一方面,我做了一個(gè)技術(shù)社區(qū)ECUG,探討Server端相關(guān)技術(shù)演進(jìn)。這期間,我逐漸跳出辦公,橫向接觸其它領(lǐng)域。
在苦苦思索辦公軟件的未來方向時(shí),我開始研究搜索引擎,順著這條線,發(fā)現(xiàn)分布式存儲的技術(shù)門檻相對較高,并且有可能發(fā)展出獨(dú)立的商業(yè)模式。當(dāng)時(shí)移動互聯(lián)網(wǎng)正處于萌芽期,雷軍已經(jīng)開始投資這個(gè)領(lǐng)域的初創(chuàng)公司。我認(rèn)為手機(jī)一旦開始流行,鍵盤就不會再是人與人交互的主要形式,圖片、語音、視頻等富媒體會成為潮流,這將導(dǎo)致未來存儲的需求出現(xiàn)爆發(fā)式增長。
雖然已經(jīng)確定了新的方向,如果想以此創(chuàng)業(yè),又感覺自己還是太技術(shù)化了一點(diǎn),欠缺的東西很多,獨(dú)立創(chuàng)業(yè)的難度蠻高。當(dāng)時(shí)有兩個(gè)選擇,一是去剛成立的Google,但仍然是做桌面開發(fā)(Google Desktop),不符合我未來的發(fā)展方向;二是留在金山,成立金山實(shí)驗(yàn)室,可自由探索新產(chǎn)品,這顯然更符合我的發(fā)展預(yù)期。
技術(shù)人攻略:后來你離開金山去盛大,又經(jīng)歷了哪些故事?
金山實(shí)驗(yàn)室成立的初衷是做一個(gè)偏孵化器的機(jī)構(gòu),可以脫離開WPS既定方向,借鑒Google 20%自由時(shí)間的管理方式,做一些全新的產(chǎn)品探索。于是先從內(nèi)部拉了幾位志同道合的同事,從零開始組建團(tuán)隊(duì),頂峰時(shí)期差不多有10人。早期我們的步子不敢邁得太快,產(chǎn)品重點(diǎn)放在分布式存儲研發(fā),并承接了金山一些內(nèi)部項(xiàng)目,好讓自己的存儲產(chǎn)品落地。
這樣做了一年,發(fā)現(xiàn)20%的自由時(shí)間執(zhí)行得不如預(yù)期,同時(shí)高層有一些不好的聲音,認(rèn)為這個(gè)部門短期難以見到利益。我覺得有些沮喪,感覺自己如果一直留在珠海,眼界仍然難以打開,就算受到領(lǐng)導(dǎo)的信任,以當(dāng)時(shí)的狀態(tài),也做不出特別像樣的東西,所以最終還是離開了金山。
離開金山后,我的第一個(gè)嘗試是加入百度,發(fā)現(xiàn)從技術(shù)人的角度,我在這里能獲得的東西,和金山并沒有太大差別。短暫停留了3個(gè)月后,于2009年加入盛大創(chuàng)新院。盛大創(chuàng)新院也做新產(chǎn)品孵化,和金山實(shí)驗(yàn)室的區(qū)別在于,它是盛大高層的戰(zhàn)略布局,投入的支持力度大很多,所以一時(shí)間吸引了不少技術(shù)領(lǐng)域的牛人加入。
盛大最初的理念很吸引人,但在早期,就已經(jīng)有跡象能看出來它做不成。我提了不少意見,但并沒有帶來任何改變。問題之一是樣板還沒樹立起來,就急速擴(kuò)張。急于創(chuàng)建搜索院、云院、語音院、多媒體院等一批機(jī)構(gòu),并想讓我去做云院院長。我對自己的定位是創(chuàng)業(yè)者,院長是一個(gè)創(chuàng)業(yè)扶持角色,我并不感興趣,況且自己沒在產(chǎn)品上成功過,怎么去扶持別人呢。
問題之二,整個(gè)創(chuàng)新院的扶持職能一直沒有形成,某些做法甚至對創(chuàng)業(yè)有抑制作用。比如機(jī)器申請需要走較長的審批流程,不能很快到位;團(tuán)隊(duì)負(fù)責(zé)人對招聘沒有決策權(quán),必須達(dá)到一定能力等級,由創(chuàng)新院的招聘體系通過才能進(jìn)人。對創(chuàng)業(yè)團(tuán)隊(duì)來說,招聘應(yīng)該是找到最合適的人,不可能要求所有人都很強(qiáng),總要有人做dirty一點(diǎn)的活;另外,公司內(nèi)部采用“收稅”式管理辦法,除了投錢讓你做自己想做的事情外,還得做公司賦予的一些事。蠻多團(tuán)隊(duì)都被牽著鼻子做這個(gè)、做那個(gè),最后成為項(xiàng)目組,干出許多莫名其妙的事情。
我非常堅(jiān)決要做存儲,最初是給內(nèi)部孵化的公司提供存儲服務(wù),盛大文學(xué)就是我們的種子客戶。緊接著對外推出了盛大網(wǎng)盤,這是個(gè)把存儲落地的好機(jī)會,而且不用受制于其它團(tuán)隊(duì)的發(fā)展。接下來因?yàn)楦邔拥臎Q策,我們被合并到盛大云,和另一個(gè)做虛擬化技術(shù)的團(tuán)隊(duì)合起來,提供相對完整的云服務(wù)。我在盛大云成立后沒多久就離開了,就決定自己做七牛。
技術(shù)人攻略:七牛創(chuàng)立過程中遇到過哪些困難?你怎么看待云計(jì)算領(lǐng)域的競爭?
七牛2011年6月正式成立,一開始的產(chǎn)品方向是網(wǎng)盤,9月中旬產(chǎn)品發(fā)布,10月決定轉(zhuǎn)向底層存儲,期間就花了一個(gè)月思考。這個(gè)決定做得很艱難,但從公司的核心競爭力考慮,必須做調(diào)整。原因之一,當(dāng)時(shí)國內(nèi)云計(jì)算環(huán)境還不夠好,七牛如果做網(wǎng)盤,很難找到一個(gè)第三方存儲供應(yīng)商。同時(shí)做底層存儲和網(wǎng)盤應(yīng)用這兩件事,精力上會有較大的分散。
原因之二,團(tuán)隊(duì)的基因偏極客,對終端用戶并不那么了解,如果不清楚用戶的喜好和習(xí)慣,很難做出打動他們的產(chǎn)品。程序員是我們很熟悉的群體,所以權(quán)衡之下選擇了云存儲這條路。
今天的創(chuàng)業(yè)者很難避開巨頭,舊有的坑都占完了,要想占新的坑,就得顛覆既有市場。從某種意義上看,巨頭并沒有那么可怕,它的業(yè)務(wù)是既成模式,行動也已經(jīng)很緩慢。但巨頭是大象,創(chuàng)業(yè)者是螞蟻,螞蟻必須讓自己的運(yùn)營效率更高,才有可能和巨頭一搏高下。新興的云計(jì)算為什么會是未來,因?yàn)樗軒椭鷦?chuàng)業(yè)者和巨頭競爭,讓創(chuàng)業(yè)者更敏捷、快速,而不是自己造輪子。
現(xiàn)在很多人提到云,會把七牛放到云之外,這對我們不是好事,但對于起步階段的公司,也不算壞事。七牛做云存儲,是通過一個(gè)很窄的點(diǎn)去切入市場,和其它競爭者形成明顯的差異化。如果一上來就被強(qiáng)大對手盯上,肯定是有害的。最終我們一定會和阿里云、百度云、騰訊云等巨頭發(fā)生正面競爭。也許是明年,也許是后年,但它一定會發(fā)生。
今天我對競爭的考慮比以前要成熟,在金山的時(shí)候,眼里光盯著微軟,這其實(shí)是不對的。任何一個(gè)新興的東西,都在顛覆舊有的秩序。真正的思考應(yīng)該關(guān)注:用戶群體為什么需要我們?以及我們到底在顛覆什么?而當(dāng)時(shí)我們眼里只有和微軟的競爭,如果把眼光放到提升辦公效率的角度,未必會去做Word,Excel和PPT這樣的軟件,也許會做出完全不同的產(chǎn)品形態(tài)。
今天做云計(jì)算也是一樣,我們不應(yīng)該狹義地盯著亞馬遜,否則就跟10年前盯著微軟沒區(qū)別。不必太關(guān)注眼前的競爭,而應(yīng)該考慮你到底要做什么,再考慮你應(yīng)該如何做。我雖然不知道未來的IT是怎樣的,但是肯定不會是現(xiàn)在這樣,顛覆者會以全新的形態(tài),出現(xiàn)在全新的領(lǐng)域。
云計(jì)算領(lǐng)域最大的競爭,是來自于老的思維方式和新興思維方式的競爭。云計(jì)算要顛覆的是傳統(tǒng)IT,在萬億的市場規(guī)模里,云計(jì)算才占到一小部分而已,顛覆的整個(gè)歷程至少會花費(fèi)10年。在任何行業(yè)的早期市場,正面競爭公司之間的競爭態(tài)勢都不是關(guān)鍵,因?yàn)榇蠹以诠餐嘤袌?,只要云的理念被更多人接受,大家都能獲得一杯羹。
技術(shù)人攻略:從技術(shù)到管理是一道坎,你從什么時(shí)候開始對管理產(chǎn)生興趣?
七牛創(chuàng)立第三年,團(tuán)隊(duì)擴(kuò)張到百人規(guī)模,我才真正開始思考管理。之前團(tuán)隊(duì)規(guī)模并不大,小team自然而然會形成好的協(xié)同方式,如果為了管理而管理,反而會降低效率。研發(fā)管理里面有個(gè)概念,叫做:不要過度優(yōu)化。企業(yè)運(yùn)營過程也類似,你得觀察公司當(dāng)前的門檻是什么,有針對性地去做優(yōu)化。
創(chuàng)業(yè)團(tuán)隊(duì)發(fā)展必然經(jīng)過研發(fā)、營銷、管理這三大門檻,創(chuàng)始人在不同階段,關(guān)注的側(cè)重點(diǎn)會有所不同。開發(fā)階段關(guān)注的重點(diǎn),是研發(fā)效率問題;接下來的重點(diǎn)是營銷,讓更多人知道你的產(chǎn)品;第三階段則要關(guān)注如何在人數(shù)擴(kuò)張的情況下,仍然保持團(tuán)隊(duì)間的協(xié)同效應(yīng)。
如何能構(gòu)建出一個(gè)協(xié)同良好的團(tuán)隊(duì),近期我在Qcon上海做了一次分享,主題是“追求自組織的團(tuán)體”,其核心思想有兩點(diǎn):第一,用自組織團(tuán)隊(duì)取代自上而下的組織架構(gòu)。第二,用服務(wù)認(rèn)知取代工種認(rèn)知。
關(guān)于第一點(diǎn),如果企業(yè)的經(jīng)營方式是一門學(xué)科,那就得研究這門學(xué)科的前進(jìn)方向,龐大的組織體系并不一定是最優(yōu)化的運(yùn)作結(jié)構(gòu)。傳統(tǒng)團(tuán)隊(duì)按照職能分為設(shè)計(jì)團(tuán)隊(duì)、產(chǎn)品團(tuán)隊(duì)、研發(fā)團(tuán)隊(duì),而我希望能按照要完成的目標(biāo),搭建出全職能的小團(tuán)隊(duì)。并且團(tuán)隊(duì)成員可自行選擇、自發(fā)形成、相互欣賞,而不是由上級強(qiáng)行組建,以保證協(xié)作的通暢性。即使是萬人規(guī)模的大公司,理論上也可以分為幾十個(gè)全職能小團(tuán)隊(duì)進(jìn)行管理。
第二點(diǎn),工種認(rèn)知并不重要,這是結(jié)合我自己的發(fā)展經(jīng)歷得出的思考,我為誰提供服務(wù)的認(rèn)知,比我是哪個(gè)領(lǐng)域的程序員更重要。舉個(gè)例子,如果你對自己的定位是“Go程序員”,未來出現(xiàn)一臺能自動寫Go程序的機(jī)器,你就下崗了。工種就是蛋白質(zhì)機(jī)器,越老越不吃香,很多人認(rèn)為自己到三十歲之后就不能做程序員了,原因就是基于工種認(rèn)知。
相反,如果我對自己的定位是做服務(wù),那么在行業(yè)待得越久,對這個(gè)行業(yè)就越了解,我的價(jià)值就越大。技術(shù)人員其實(shí)是有行業(yè)之分的,金融、云計(jì)算、辦公領(lǐng)域的程序員,面臨的問題不一樣,思考問題的方式也有較大差異。
工種認(rèn)知就是接受任務(wù),服務(wù)認(rèn)知首先要知道自己的代碼有人用才有價(jià)值,在這個(gè)過程中,你就得去思考我為什么要做這個(gè)服務(wù)?為了把服務(wù)做好,要做哪些功能?某個(gè)功能為什么會受到用戶群的歡迎。這其實(shí)是一個(gè)產(chǎn)品意識,會讓你開始思考原來不曾想過的東西。任何工種的人,都應(yīng)該有產(chǎn)品意識,所有的人都是產(chǎn)品經(jīng)理的概念,落實(shí)到最終執(zhí)行,就是弱化工種意識,把服務(wù)放到最核心的維度。
從這個(gè)角度出發(fā),我不太喜歡“全棧程序員”的概念,全棧背后還是工種認(rèn)知。這個(gè)世界上不存在全才,每個(gè)人都有自己的特長,一個(gè)團(tuán)隊(duì)離不開相互配合。我更傾向于“補(bǔ)位意識”,如果短期招不到某方面的人,有可能的話,我自己去補(bǔ)上,而不是為了全棧而全棧。
技術(shù)人攻略:許多創(chuàng)業(yè)公司都面臨招聘困難的問題,你如何解決這個(gè)難題?
初創(chuàng)團(tuán)隊(duì)獲得的認(rèn)可畢竟不像巨頭那么多,招聘難這個(gè)問題,還得從自身出發(fā),去尋求突破。一方面,初創(chuàng)團(tuán)隊(duì)?wèi)?yīng)該把招聘當(dāng)成市場推廣和品牌宣傳的機(jī)會,獲取應(yīng)聘者認(rèn)可。想清楚你對人才的吸引力在哪里,想清楚你需要什么樣的人。讓每一個(gè)進(jìn)來的人靠譜,比讓更多人進(jìn)來更重要。
另一方面,我認(rèn)為remote的工作方式,在未來會越來越流行。七牛所有的生產(chǎn)資料都放在網(wǎng)上,理論上只要員工從任何一個(gè)地方接入網(wǎng)絡(luò),都可以遠(yuǎn)程辦公。遠(yuǎn)程協(xié)同、遠(yuǎn)程電話、遠(yuǎn)程會議系統(tǒng)也越來越成熟。如果在分布式工作的情況下,還能保持很高效的協(xié)作能力,自然能跨地域獲取人才。
七牛目前有一個(gè)純r(jià)emote的研發(fā)團(tuán)隊(duì),6、7名團(tuán)隊(duì)成員分布在北京、杭州和上海。目前看來,這個(gè)團(tuán)隊(duì)的工作效率很高?!禦emote》那本書里也提到一個(gè)觀點(diǎn),一旦開始遠(yuǎn)程辦公,你的管理重點(diǎn)會從監(jiān)控員工的上下班時(shí)間,自然而然轉(zhuǎn)為關(guān)注他們做了什么事,產(chǎn)出了什么。所以我傾向于未來有更多人remote。
我自己很喜歡到不同的城市生活,生在浙江,大學(xué)在南京,工作后在珠海、北京、上海生活。對我來說,到一個(gè)新城市并不痛苦,而是非常新鮮的事情。當(dāng)然現(xiàn)在有家庭,搬家會更麻煩,但我仍然希望能到不同城市看看。未來這或許是一種新的生活方式,人們在不同城市工作,體驗(yàn)不同的生活,只要工作干得開心,做一個(gè)“流浪人”也未嘗不可。
技術(shù)人攻略:做CEO之后,你怎么平衡自己的時(shí)間?
創(chuàng)業(yè)這件事情占據(jù)了越來越多的時(shí)間,以至于我的業(yè)余愛好越來越少。我曾在北京待了6個(gè)月,在那6個(gè)月里,我很喜歡爬山。但是上海沒有山,所以這個(gè)愛好已經(jīng)被壓抑了很久。
其實(shí)我想做的事挺多的,但是人一輩子得先干好一件事情。七牛今天剛走了第一步,離成功還有非常大的距離,在這件事沒做完的情況下,我的時(shí)間一定會花在這上面。
我其實(shí)不太像CEO,你能想象的很多雜事,我都外包給了同事,這是蠻多人羨慕我的地方。但唯有一件事一定不能放,就是產(chǎn)品。我一直認(rèn)為,這個(gè)時(shí)代的CEO必須是首席產(chǎn)品官,你得知道用戶在想什么。脫離一線短期問題不大,但長期一定會出問題,因?yàn)樗袥Q策的依據(jù)一定是來自用戶的反饋,如果離開了這個(gè)重要的信息來源,想法可能會和現(xiàn)實(shí)出現(xiàn)較大差距。
對CEO來說,一是確保產(chǎn)品方向正確,二是確保整個(gè)公司的運(yùn)作機(jī)制足夠高效。想了解公司當(dāng)前的最大瓶頸,只能從一線獲得信息。接觸一線倒不是必須親自去編碼,我會review代碼,以了解公司的研發(fā)效率是什么水平,還有什么樣的提升空間。更多的自主權(quán)會留給員工,但我希望能參與進(jìn)去,獲得一線的反饋。離員工越遠(yuǎn),決定就越盲目。
技術(shù)人攻略:你從草根創(chuàng)業(yè)者成長起來,怎么看待社會上升通道的抑制?
社會上升通道受抑制,一方面原因在教育,中國的教育體制偏命令式、填鴨式,告訴學(xué)生們一堆知識,而不是激發(fā)學(xué)生思考背后的為什么。這種扼殺創(chuàng)造性的教育方式,把大多數(shù)人教育成了平凡的人,導(dǎo)致整個(gè)社會的創(chuàng)新能力不夠。教育造成的思維僵化,導(dǎo)致了上升空間的抑制,而不是真的有人遏制了你,不讓你上升。
另一方面,政府資源整個(gè)偏向大公司,對創(chuàng)業(yè)的扶植力度不夠。從美國社會發(fā)展來看,整個(gè)社會的創(chuàng)新力,是要靠無數(shù)小公司顛覆大公司的過程去實(shí)現(xiàn),企業(yè)家精神是美國社會快速發(fā)展的根本原因。美國政府努力去政府職能化,甚至連造火箭這樣的事,都是民營企業(yè)在玩。中國距此還有非常遠(yuǎn)的距離,政府應(yīng)該從提升整個(gè)社會的創(chuàng)造力的角度,提升人民的幸福指數(shù),從而提升國家競爭力。
蠻多人反感現(xiàn)行的教育體制,但雖然意識到問題,還是難免跟隨這種步調(diào),害怕找不到更好的方式。從某種意義上來說,是冒險(xiǎn)精神不夠。我喜歡反過來思考,看冒險(xiǎn)的機(jī)會成本是什么,如果機(jī)會成本并不高,那為什么不試一下呢?現(xiàn)在那么多人創(chuàng)業(yè),也正是因?yàn)閯?chuàng)業(yè)的機(jī)會成本蠻低。在中國創(chuàng)業(yè)是Hard模式,但整個(gè)環(huán)境靠著創(chuàng)業(yè)者的不斷努力,逐步爭取了過來。時(shí)代必然經(jīng)歷這樣的變化,過時(shí)的機(jī)制一定會被淘汰,自然而然,人也會變。大家不應(yīng)該做一個(gè)憤青,而要看到困難里面孕育的機(jī)會,與其抱怨,不如花點(diǎn)精力去做你覺得能讓這個(gè)社會變好的事情。
我一直認(rèn)為,你可以用任何方式去賺錢,但你從事的職業(yè),必須讓自己感到開心。如果你選了一個(gè)比較高薪,但自己一點(diǎn)都不感興趣的工作,自然不可能有太多獨(dú)特的見解,長遠(yuǎn)的發(fā)展前景會非常有限。如果你喜歡自己做的事情,自然而然會下功夫深入琢磨,樂趣才是你發(fā)揮創(chuàng)造力和達(dá)到一定高度的真正前提。
作者介紹:技術(shù)人攻略訪談是關(guān)于技術(shù)人生活和成長的系列訪問,由獨(dú)立媒體人Gracia創(chuàng)立和維護(hù)。