為啥谷歌的內(nèi)部工具不適合你?
我一直在思考一個問題,為啥國外的好工具/好實(shí)踐到了國內(nèi)就變味了。難理解,難使用,用不順,效果差......總會有這樣那樣的問題。最近正好看到了一篇文章《離開谷歌的副作用:外面很難找到這么好用的開發(fā)工具》,越發(fā)覺得之所以用不好,效果差,源頭上這些工具可能就不適合你。這里的「你」不是單指某一個公司,而是眾多的國內(nèi)公司。
很多谷歌出來的小伙伴感嘆「離開谷歌之后,很難再享受到這些稱手的開發(fā)工具了」。是的,世界上很少有公司能有谷歌內(nèi)部那么多牛逼的工具,這是事實(shí)。在硅谷幾家互聯(lián)網(wǎng)公司橫著跳也許落差沒那么大,如果要是回到國內(nèi),環(huán)境的「水土不服」「難落地」可能是最大的問題,至于「工具不好用」我個人覺得倒沒那么重要,頂多不順手不好用,但不至于呆不下去。
國內(nèi)的很多公司也都在向外看,這是很好的。之前的老東家也經(jīng)常到硅谷去「開天眼」,主要是到互聯(lián)網(wǎng)公司參觀、學(xué)習(xí)、交流,順便可以和一些大牛聊聊,如果能拉幾位大牛入伙那就更好了。
國內(nèi)外公司軟件開發(fā)大環(huán)境上有很大的差異。主要體現(xiàn)在以下幾個方面
「生存」階段,先活下來再說
國內(nèi)的眾多企業(yè)還處在「生存」階段,更注重商業(yè)目標(biāo),尤其是互聯(lián)網(wǎng)企業(yè),生存都是問題。小車能跑就行,至于輪胎是固特異、馬牌還是米其林,生存期的很多公司考慮的并不多,即便考慮了,也不是第一位的問題。
國內(nèi)的企業(yè)賺錢難度高
即便國內(nèi)的企業(yè)度過了創(chuàng)業(yè)初期,千軍萬馬中活下來了,很多時候賺的錢也都是小錢、辛苦錢,而不是像谷歌搖錢樹「在線廣告」那樣賺得多賺得容易。也就不會長期投入大量的人力物力到基礎(chǔ)設(shè)施底層工具的建設(shè)上。
整體上,我認(rèn)為國內(nèi)的很多公司在工具建設(shè)基礎(chǔ)設(shè)施投入上是在上升的,尤其是BAT。簡單說,騰訊賺錢了,tapd、工蜂、CoDesign等也對外服務(wù)了;阿里賺錢了招了很多牛逼的人開源了眾多的框架、工具,比如Druid、Dubbo、RocketMQ、Nacos等等,阿里達(dá)摩院也在進(jìn)行基礎(chǔ)科學(xué)和顛覆式技術(shù)創(chuàng)新研究等;百度的自動駕駛 Apollo RT6 具備了L4 級別的自動駕駛。
如果互聯(lián)網(wǎng)公司都賺不到錢,又有哪些公司能低成本地賺到錢,去做那些「長期而重要」的事情?我們要允許一部分人一部分產(chǎn)業(yè)先富起來,先富的帶動后富的,逐步實(shí)現(xiàn)共同富裕。
國內(nèi)的軟件開發(fā)復(fù)雜度沒那么高
2015年谷歌已經(jīng)有20億代碼行,2019年達(dá)到25億行,這在現(xiàn)在也都是很大的一坨。眾所周知谷歌采用的是單根代碼樹,除了幾個特殊的業(yè)務(wù),比如安卓代碼,幾乎所有業(yè)務(wù)都在一個代碼庫中,且很少用三方代碼,不重復(fù)。而國內(nèi)的實(shí)情是1)國內(nèi)沒那么高的代碼量,2)眾多公司采用微服務(wù),一個倉庫一個服務(wù),復(fù)雜度大幅降低 3)國內(nèi)大公司除了 BAT,都是近些年快速發(fā)展起來的,歷史包袱少。所以整體上說,我們是需要很多的工具,但是我們遇到的情況比谷歌簡單的多,我們可選的工具列表要比谷歌多很多,我們有更多不錯的工具可以選。
每個工具的背后都有大量基礎(chǔ)設(shè)施的支撐
拔出蘿卜帶出泥。想引入一個工具,背后可能需要涉及眾多的工具,可能需要眾多工具的相互打通、數(shù)據(jù)流轉(zhuǎn),流程梳理固化,團(tuán)隊(duì)配合。另外就是單點(diǎn)、局部的工具優(yōu)化優(yōu)先級和重要性都比從根本上系統(tǒng)性地解決效能問題低。不要選擇太小眾的工具,對公司、團(tuán)隊(duì)和個人都沒有好處,日后的維護(hù)和二次開發(fā)都會成問題。
工具的背后是企業(yè)文化
當(dāng)你接受谷歌的工具時,某種程度上你還需要接受工具背后它的文化,這樣才能把工具用對、用好。否則很容易「形相似,意有別」。比如在谷歌推廣并發(fā)揚(yáng)光大的 OKR,國內(nèi)幾乎成了另外一種形式上的 KPI。
國內(nèi)公司的考核機(jī)制
國內(nèi)公司的考核機(jī)制往往也不利于基礎(chǔ)工具的發(fā)展。國外做工具升職加薪和做業(yè)務(wù)并無太大差別,而國內(nèi)很多公司的考核向業(yè)務(wù)傾斜,同樣都是 CRUD,為啥做業(yè)務(wù)的 6個月年終獎,做基礎(chǔ)工具的4個月年終獎?做業(yè)務(wù)可以隨著風(fēng)口一起飛,業(yè)務(wù)增長獎金翻倍,做工具的呢?自己做出工具來,還要能「自舉」。自己嘗鮮、自己推廣、自己運(yùn)營、自己支撐。業(yè)務(wù)做不好,客戶罵公司,絕對不會罵單獨(dú)一個人;基礎(chǔ)工具做不好內(nèi)網(wǎng)直接找到人, IM 直接噴。所以選擇做內(nèi)部基礎(chǔ)設(shè)施做工具鏈的都是心中有真愛的。
短周期小投入高產(chǎn)出的預(yù)期
上了這套流程或者工具,我們能省幾個研發(fā)人員?或者說同樣的人員一個迭代能多做幾個功能點(diǎn)?按照我們剛才聊的全流程打通、狀態(tài)自動流轉(zhuǎn),數(shù)據(jù)收集和度量,我們投入5 個人半年能搞定么?在公司人員一定的情況下,研發(fā)效能基礎(chǔ)工具的改進(jìn)能改善產(chǎn)研團(tuán)隊(duì)的工作體驗(yàn)、提高整體效率和質(zhì)量在一個相對穩(wěn)定的水平。在公司人員越來越多的情況下,它僅能保證效率和質(zhì)量處于一個相對合理的水平,而不至于下降太快。公司人員越多,基礎(chǔ)設(shè)施建設(shè)帶來的整體業(yè)務(wù)價值提升也就越高。激進(jìn)大體上看是好的,激進(jìn)一點(diǎn)、著點(diǎn)急上點(diǎn)火才有動力有心思有想法去搞新的東西,但是太激進(jìn)也待商榷。工具的建設(shè)非一朝一夕,需要長時間地積累和改進(jìn)優(yōu)化。
怎么才能做好呢
華為:先僵化-后優(yōu)化-再固化
對于引進(jìn)先進(jìn)的管理體系和管理規(guī)則,華為花了20億摸索出來的方法是:先僵化-后優(yōu)化-再固化
- 先僵化:一成不變地原樣照抄。找準(zhǔn)一個學(xué)習(xí)標(biāo)桿,別人怎么做你就怎么做,不管自己理解不理解,先來個死搬硬套再說。
- 后優(yōu)化:在新制度實(shí)施一段時間后,根據(jù)實(shí)際情況逐步改進(jìn)優(yōu)化流程,使之更加有效,以期取得更好效果。
- 再固化:一旦經(jīng)過實(shí)踐證明效果最佳,固定下來以后都按這個執(zhí)行,不允許隨意更改。
上面的方法需要1)巨大的投入 2)強(qiáng)大的執(zhí)行力 3)恰當(dāng)?shù)臅r間點(diǎn)和決策。而且每一步都要經(jīng)歷一些陣痛,若非華為強(qiáng)大的執(zhí)行力,真不是很容易落地下去。
公司內(nèi)生
我覺得人員有限、資源缺乏的情況下,公司內(nèi)生是一個比較好的策略。怎么內(nèi)生呢?沒有錢的公司就用開源軟件,有一點(diǎn)的找商業(yè)軟件,很有錢的自研;投入的資源多,得到的產(chǎn)品體驗(yàn)、功能、個性需求支持也就越多。不同段位的公司得找到與自己適配的策略和實(shí)現(xiàn)路徑,搭配錯了空生煩惱且同時浪費(fèi)心智。怎么解決這個問題呢?找人吧,可參考《找到能做好研發(fā)效能的人》。
全文總結(jié)
有些時候不是我們用不好國外的很多工具,而是這些工具根本就不適合你。做很多事情都要結(jié)合現(xiàn)實(shí)去搞,不能一味照抄國外,當(dāng)然也不能一味照抄國內(nèi)的一線大廠,否則很容易造成「沒有大公司的命,卻得了大公司的病」。腳踏實(shí)地日拱一卒也是一種小確幸。

浙公網(wǎng)安備 33010602011771號