Google和微軟,從大的角度來說,他們很像:他們都是軟件公司。但軟件公司多了,Oracle也是軟件公司,Adobe也是,Netscape也是,還有很多很多的軟件公司,但Google和微軟和他們有都不一樣,顯得很另類。從行業來說,微軟主營的是操作系統和辦公套件,Google專注互聯網上的搜索,看似行業不一樣,但他們在不同的行業又有一點相同。

這一點相同的地方,就是他們都是平臺提供商。

平臺這個被濫用的詞挺難準確的表達我想表達的意思的。我要說的就是,就是他們都希望做好東西,讓別人在在自己的基礎上做開發,而不僅僅滿足于別人用自己的應用程序本身。做為公司,它們是這樣對待外部的用戶和合作伙伴的,但更重要的是,他們也是這樣對待自己的員工的。



比如說Windows,首先要說,他是個不錯的應用程序,否則也就沒有它做平臺的份兒了。但他真正的成功是讓開發者在上面開發應用。如果我們看到微軟內部,內部的各個部門互相提供大量的編程接口,這成就了微軟內部的很多的創新。在微軟內部,大家都爭著為其他部門提供更好的"編程接口"好讓他們用自己的服務。也就是說,在微軟里面,自己可以在其上開發的“平臺”很多,所以可以做出更好的東西。

Google的搜索當然不錯,但看到他的背后,也是一個大的平臺,讓Google的工程師可以更高效的開發程序。比如GFS(Google File System),就提供了便宜的,巨大的,高容錯的,高性能的存儲。這樣的平臺,估計現在全球范圍內不多。還有Mapreduce,這個讓一個程序并發的跑在數萬臺電腦上的程序框架,讓一個剛剛加入公司的程序員就可以操縱數萬臺電腦一晚上處理到幾個Terabyte的數據;再比如說Bigtable這樣的東東,巨大的存儲結構。

這些東西,借用陽萌,其實是一個公司提供給員工的基礎設施。

放大個人的力量

在微軟和在Google的人,或許和在很多的成功的大公司里的人一樣,都有種交織在一起的幸運感和失落感,至少我是有的。幸運你的是,這個環境是如此的完美,干什么都有很多的工具,很多的知識庫,還有很多團隊在支持者自己。其中分工是如此之細,每個分工上都有最專業的人用最高效的方式提供支持。

比如在微軟,最喜歡的一個內部網站就是http://toolkit,各種各樣的內部的小工具,全是微軟平臺上的,工程師自己解決自己的問題寫的;如果要建個有新的郵件地址,隨便誰都可以馬上在autogroup里面申請一個abc@microsoft.com這樣的郵件,三分鐘不要,就可以發布到互聯網上去,接收郵件了;要解決問題,近百萬篇知識庫文章,找什么有什么的感覺;想學東西,內部的培訓資料好像比發布出來的1000都多,看也看不完;就算找人,各種牛人一把一把的讓你問。總之,很多人都會覺得在這個公司做一個工程師真幸福。

但失落感也同時在于此。優秀的公司是個系統,在系統里面,每個人都很偉大,離開了系統,離開了支持,自己頭上的光環就立刻消失,才發現干什么為什么都這么難,干什么都沒有現成東西支持著自己。所謂橘生淮南則為橘,橘生淮北而為枳。有自知之明的人應該知道,自己只是那一株橘子,而真正偉大的是土壤。

陽萌也有類似的感慨。Google內部的好的資源太多,外面有的,Linux陣營有的,Google內部都會自己實現一遍,讓自己覺得這里什么都有,自己建立在這些平臺上面可以做出來的東西,比自己不用這些資源的產出大不至百倍。這感覺就好像用匯編也能寫東西,用Windows下的Visual Basic也能寫東西,但是有了好的平臺和工具,畫同樣一個窗口花的時間是完全不同的。這也就證明了Windows+VB是芯片+匯編好得多的平臺。但問題就在于,所有這些好東西,根本沒有辦法拿出來用。

做加法還是做乘法的公司

一個好的公司,不能是做加法的公司。不是說一個人可以產生一塊錢,是個人可以產生十塊錢的公司。一個部門產生一塊錢,加一個新的部門產生兩塊錢。

好的公司一定是做乘法的公司。4個人可以產生4塊錢,5個人應該就可產生8塊錢。這個乘法的基礎,就是大家都在做基礎設施,自己站在別人的肩膀上,也讓別人站在自己的肩膀上。

微軟和Google的不同

但很顯然,微軟和Google支持員工的基礎設施還是有很明顯的區別的。

微軟更多的還是在包裝好的軟件的層面。這和微軟過去30多年的積累有關。比如微軟里的一個工具,可以方便的做出單機,或者局域網環境的好的系統 - 微軟工具的快速開發是被業界稱道的,但是他沒有辦法把自己的數據中心向員工開放,因為,從本質上來說,微軟不是一個圍繞著數據中心起家的公司,微軟的數據中心的成本,也不足以支撐這個體系。畢竟,在微軟誕生的年月里,現在規模的數據中心的概念還無法想象。

而Google更多的是在于服務上面。Google從第一天就是建在數據中心基礎上的公司,他的基礎設施顯然也是對于所有的員工開放的。一個普通的工程師獲取的支持,不是一段代碼,而是跑著一個服務的上萬臺電腦。有種說法,Google已經成為世界頭幾大的PC制造商了,只不過他們的PC都是自己用,而不銷售而已。

如果從這個角度上來說,微軟的支持是一節電池,一個發動機,可以組裝成一個個玩具車;而Google的支持更像一個交流電網,一個電話系統,可以做出基于這些網絡的應用。而沒有這些模塊支持的人,好似在森林里赤手空拳的找到了一根木棍。

所以微軟依然會在他擅長的軟件領域取得巨大的成功,無論是安裝在桌子里的電腦,放在硬件設備上的軟件,而Google則會在圍繞互聯網數據中心的領域取得成功。這些,都是可在公司的DNA里面的。

給我們的啟示

無論是程序還是公司,架構很重要,就是如何把人員和資源搭成梯子,文化上有讓別人更偉大的導向,讓一個剛剛進公司的人,可以迅速的做到比他進入其他公司的同齡人獲得更多的支持,這才是一個公司的結構上的成功。

好的公司,尤其是非常成功,并且長久成功的公司,一定是在基礎機構上面投資最多的公司;一個好的公司,一定要讓員工站在自己的肩膀上。

原文地址:http://home.wangjianshuo.com/cn/20080213_cceeae.htm