NVIDIA 和 Google 文化比較
根據自身的經驗,NVIDIA 和 Google 分別存在著兩種很極端的文化。
Google 講求穩紮穩打,凡事圍繞著 design docs 進行:要開始一個專案,先丟出一個比較 high-level 的 design doc,讓跟專案有關的人充分討論之後,再基於這份 doc 丟出一個涵蓋所有細節的 design doc,再充分討論之後,取得所有人的 approvals,等大家都沒意見之後,才實際去執行。這套流程有個很大的優點,就是事情都是經過所有人的詳細討論,幾乎可以肯定設計上沒有任何問題,最後才執行,所以基本上細節都訂好了,實際寫 code 就是無腦把 spec 翻譯成程式碼的過程而已,執行上會超有效率,也幾乎不會有什麼大改。但缺點也很明顯,就是討論過程會超級無敵花時間,對於一個稍有規模的改動,討論拖個半年一年絕對不用感到意外。
NVIDIA 講求 SOL (Speed of Light),凡事回歸第一性原理去想:覺得什麼應該做,就以最快的速度去完成。以個人經手過的幾個專案來說,都是先憑直覺做出一個 prototype 產品,馬上丟出來給大家使用,馬上就會收到四面八方的 feedback,馬上再動態調整,很自然地,產品也會很快收斂到一個對大家很有價值的狀態。這個做法執行上勢必得隨時刪刪改改,有時候甚至會需要砍掉重練,但少了繁瑣的討論流程,也確實讓整體效率快了不少。甚至可以這麼說,我在 Google 花了一年多做的專案,如果以 NVIDIA 的方式去做,大概三個月內就可以完成。
話雖如此,當初剛從 Google 切換到 NVIDIA 時,也還是會有一小段覺得很混亂很沒有制度的時期,不過自從有了這種高效率創造高價值的體驗之後,就覺得這樣野蠻生長的方式也蠻好的。
然而,最近部門似乎也開始要推行 Google 的做法,個人覺得沒有學到精髓。如果大家在思維和文化上,沒有那種把 design docs 當作溝通工具,先充分討論完再執行的認知,反而就只會流於形式。大家被逼著寫 design docs,被逼著 sign off,在寫 design docs 的同時,東西還是照做,做出來的東西還是照樣不停一改再改,design docs 勢必也得跟著一改再改,流程只變成額外的負擔,浪費大家時間。所以,就斗膽把這樣的想法提出來跟老闆討論,老闆也表示會再和上層溝通。後續會如何調整,就讓我們繼續看下去。

