深度 vs. 速度?Google、臉書企業文化的優勢與劣勢

深度 vs. 速度?Google、臉書企業文化的優勢與劣勢
圖片來源:作者提供

我們想讓你知道的是

Google與Facebook幾乎霸佔了整個數位廣告市場,而它們雖然都是網路科技公司,營收的主要來源也都來自數位廣告,但由於發展初期,獲得巨大成功的因素截然不同,所以也發展出完全不同的企業文化。

網路讓許多以前無法想像的科技公司快速崛起,成一方之霸。而這之中,Google與Facebook幾乎霸佔了整個數位廣告市場,而它們雖然都是網路科技公司,營收的主要來源也都來自數位廣告,但由於發展初期,獲得巨大成功的因素截然不同,所以也發展出完全不同的企業文化。筆者因為在兩家公司都待過一段時間,藉由這兩家公司的對比,來討論不同的企業文化並沒有絕對的熟優熟劣,端看所處的市場與產品的特性而已。

這裡筆者要特別說明的是,Google與Facebook都是員工超過好幾萬的大公司,裡面不同團隊也多少形成不同的文化與風格,這裡所有的觀察與討論都只是大體而言,單就個別的團隊一定會存在特例,但這應該不影響我們的討論。

深度 vs. 速度

Google是以搜尋引擎起家的,而最特別的是,在Google進入市場之前,市面上已經有了Yahoo!、AltaVista等七個比較有名的搜尋引擎了(連結)。所以Google成功的關鍵並不在於速度以及提早進入市場,其成功的根本因素在於更優越的演算法(主要是所謂的PageRank)與軟體架構,而這樣巨大的成功,也形塑了整個公司根本的文化──我們能夠勝出,是因為在根本上我們的技術更為優越。

你可能認為,這不是廢話嗎?在科技發展的道路上,不是總是技術較好的產品勝出嗎?不過綜觀整個科技歷史,像是Google這樣因為比較優越的技術而贏得市場的其實是少數,大部分最後獲得大量市場份額的產品,幾乎都不是因為技術的優越性,在商業上有太多太多的因素決定了,包含了更好的商業模式,甚至只是因為是對消費者來說最省時間、省力的選擇,都可能是決定成敗的因素。

遠的不說,光看Apple Map與Google Map的比較,在許多方面,Google Map都比Apple Map更為精準、資料更為詳盡,也更為好用,但是在iOS上面,Apple Map仍然是使用量最大的地圖類App(連結)。這都是因為Apple Map是預載(default)的地圖而已。

1
圖片來源:作者提供
左邊的是Google Map,右邊的是Apple Map,可以看到Apple Map並沒有清楚的標出綠地的範圍,而且也缺少了建築物的輪廓。

而Facebook更強調產品發布與迭代的速度,這家公司著名的口號「Move fast and break things」(後來把break things拿掉了,因為一個月活躍用戶超過20億的公司總不能常常當機),便是體現這家公司精神的最佳標語。公司最推崇的工程人才是所謂的hacker,就是那種發現生活中某些不便之處,或是某個產品或是服務不好用,馬上動手自己修改或是創造一個新的產品來使用的那種人。

會產生這樣的文化,是因為Facebook一開始的成功,並不是因為在技術上做出重大的突破,或是對於某項技術特別深入的專研,而是因應人類的社交需求,在網際網路中重現你實體生活中的社交網路。這須要精準地理解使用者的偏好與需要,而快速的迭代產品,就變成達成這個目標唯一的途徑,亦即不間斷的推陳出新,並用使用者的資料,作為反饋快速調整產品的方向。

企業文化的影響

創辦人以及這家企業賴以成功的因素,會順理成章地成為這家公司所標榜的企業文化,而即便公司不斷地擴張,越來越多人進入這家企業,仍然會藉由各式各樣的標準訂定跟管道,潛移默化到每位新進的員工身上,進而影響這家公司大部分產品的開發與流程,以及其切入市場的時機與角度。

像是Google由於重視技術的深度,便十分重視程式的質量,程式完成應該有的功能只是最基本的,在寫任何一行程式之前,很多都需要先撰寫所謂的設計文件Design Doc,經過冗長的會議,反覆討論不同設計的優缺利弊,常常過了幾個星期,一行程式都還沒有開始寫。因為Google認為,一個合適的設計,可以體現出許多優勢,像是效率更高、更節省資源、更方便之後想要更改或擴充功能。這也體現在Google在討論工程師升職時,其中一個重要的因素便是complexity,亦即這位候選人處理包含系統設計等等複雜問題的能力,而不是全然的以個人對專案的貢獻程度即做出決定。

另外像是Google也特別重視程式本身的品質,強烈要求大部分程式都要寫所謂的單元測試(unittest)以及各式各樣的測試。所有的一切都圍繞著一個核心思想:最好的技術才能開發出最好的產品,也才能贏得市場與使用者的心。

至於Facebook則選擇了另外一條路。整個公司的核心思想認為:在這個網路科技快速變動的世界,沒有人知道使用者想要的到底是什麼,有時候甚至連使用者自己都不知。在這樣的情況之下,過度的專研一個技術環節,或是一開始就把程式寫的極為高效,有強大的擴充性等系統設計理念一點意義都沒有,很有可能你做出一個在軟體工程上,在系統架構上極為出色的功能,但消費者完全不買單,因為他們根本不需要這個功能。

這裡最佳的案例,莫過於Google在2011年推出的Google+,很多的評論者都認為相較於Facebook,它的功能更完整、考量更全面,但這裡只有一個問題:你的朋友沒人在用。而對於一個社交網路來說,這可能是唯一重要的功能。

在這樣的情況之下,只有快速地推出與迭代產品,蒐集、分析使用者的模式,並做出相對應的調整,才是一條正確的產品開發道路。但凡事求快會犧牲很多東西的,除了技術的深度之外,像是程式到處充滿著所謂的hacky code(泛指只針對某個問題解決的程式碼,但犧牲了整體性與擴充性,程式也極難閱讀與維護)、或是資料本身的正確性,例如在2016年底開始被發現許許多多測量廣告相關的數值計算有誤,短短幾個月被發現了多達十處的錯誤(連結),這絕對與其崇尚速度的文化脫離不了關係。畢竟,過度的追求速度便很容易忽略必要的檢查跟驗算。

商業上的啟示