難道美國的程序員就不加班嗎?他們就一天八小時工作,還想來就來,想走就走?非工作時間完全找不到人?還有什么食物飲料都免費提供?
讓我來告訴你真實的情況吧,還... 真是這樣的。加班文化應該是中美兩地最明顯的不同了,形成這種差異的原因不是一兩句可以講清楚的。國內(nèi)程序員加班嚴重,問題首先不在程序員這個群體。
我在兩個國家都工作過,也在不同崗位工作過,所以就盡量從不同角度來簡要說一下。
產(chǎn)品層面拍腦袋決策多
產(chǎn)品層面,拍腦袋決策多,美其名曰:互聯(lián)網(wǎng)思維、小步快跑、試錯思維,其實是沒想清楚,反正我就需求一提,技術團隊來做。
上線后成功了我是產(chǎn)品天才,失敗了也沒啥壞處,找個借口說什么“互聯(lián)網(wǎng)市場變化太快”也能搪塞過去,或者找個新項目,繼續(xù)畫大餅。
國內(nèi)的產(chǎn)品經(jīng)理實在是太多了,很多還是剛畢業(yè)的小鮮肉,沒有一點經(jīng)驗積累,憑借天馬行空的想象力,提一個需求,就能讓一幫技術專家為之操勞好幾個月去實現(xiàn),這簡直是不可思議的。
即使產(chǎn)品經(jīng)理很厲害,但人數(shù)一多,每個人都要業(yè)績,都拼命想點子、提需求,技術團隊怎么能招架得住那么多需求呢。
于是就會出現(xiàn)這些現(xiàn)象:
節(jié)假日來了,我們上一個活動,或者節(jié)日小彩蛋功能。
競品上了一個 xx 功能,看起來不錯,我們也抓緊上一個。
10 個產(chǎn)品經(jīng)理同時跟你說:這個需求我跟老板對過了,xx 之前必須上線。
產(chǎn)品經(jīng)理沒有想清楚某個功能的價值,或者帶來的收益不痛不癢,而技術團隊則需要為此付出巨大的心血,也就是加班。
當然這也不一定是產(chǎn)品經(jīng)理的錯,國內(nèi)公司,老板的指令太多了,不說了,你懂的。
在美國這邊,產(chǎn)品經(jīng)理大多是行業(yè)經(jīng)驗非常豐富的人,要么是從工程師轉過來,要么是從多年的商業(yè)領域經(jīng)歷然后讀個 MBA 轉過來。
上線一個功能,經(jīng)過嚴謹?shù)睦碚撏蒲?、多輪前期調(diào)研、科學的 AB Test,從提出 idea 到最終用戶看到更新,經(jīng)常耗時半年或一年。
很多不成功的 idea 還沒面市,就因為數(shù)據(jù)不好而“胎死腹中”。這樣一方面提高了產(chǎn)品需求的質量,另一方面也給技術團隊足夠多的時間來設計和實現(xiàn)一個可持續(xù)發(fā)展的架構。
技術團隊話語權低
管理層在做決策時,往往更重視產(chǎn)品更新迭代,而忽視技術的建設。
比如說技術團隊有 100 個小時,老板可能會把 90 小時都投入到實現(xiàn)產(chǎn)品功能,給技術優(yōu)化、修補技術債務。
于是就會出現(xiàn)技術實現(xiàn)非常粗糙的情況,舉個例子,給你一周時間,實現(xiàn)一個 IM 功能,你還會考慮什么模塊化、可維護性、性能優(yōu)化之類的嗎?
當然是怎么快怎么來,百度一下有沒有別人實現(xiàn)過的代碼,Ctrl+V / Ctrl+C,一點運行,誒,跑通了,上線。
所以國內(nèi)很多程序員看別人的代碼,感覺都是一團 Shit,完全沒法維護,干脆自己重寫一個。
技術老大能跑到老板面前說“我們先把產(chǎn)品需求停一停,讓我們的技術團隊好好地優(yōu)化一下基礎設施吧?!眴??只要他不是傻子,都不會這樣說。
話語權低還體現(xiàn)在,對產(chǎn)品幾乎沒有決策權,甚至不能質疑產(chǎn)品決策,提反對意見,總會被產(chǎn)品經(jīng)理各種理由擋回來,產(chǎn)品經(jīng)理有一句話終結爭論的尚方寶劍:這是老板要做的。
久而久之,技術債務越堆越高,Bug 越來越多,程序員不加班,誰加班?
而美國公司的現(xiàn)象是,技術話語權非常高,一個沒想清楚的產(chǎn)品需求,能被技術團隊直接打回去。
同時,技術團隊可以自主地花很多時間在技術優(yōu)化上面。產(chǎn)品不能按時上線?經(jīng)理說:沒關系,延后,按照最優(yōu)的技術方案來推進。
有時候你想趕緊上線,提交一段粗制濫造的代碼,會被同事鄙視死,被老板罵死。
每個季度最后一個月,專門抽出精力,來彌補技術債務,產(chǎn)品需求放一邊先。
在這樣的環(huán)境下,短期看起來效率低,但長期是最高效的。國內(nèi)是“欲速則不達”,美國是“慢工出細活”。
技術基礎設施差
知乎上有一個比較熱門的討論:騰訊的技術建設是否落后?這不但是騰訊的問題,實際上絕大部分公司的技術基礎設施都非常差。
有多少個公司能養(yǎng)一個專門的 Infra 團隊?有多少個技術團隊能專門成立一個小團隊,進行 Infra 優(yōu)化?即使有,有多少個公司能保證 Infra 團隊的成果能在全公司推行?
我相信能做到這樣的公司是鳳毛麟角的。中小公司不必說,在這樣高度競爭環(huán)境下,哪有財力養(yǎng)一個不能直接帶來 KPI 提升的團隊,即使有錢,也沒時間搞優(yōu)化。
而大公司呢,即使騰訊這樣的體量,有一個 TEG 事業(yè)群做基礎設施建設。但是現(xiàn)實情況是,依然沒有全公司通用的內(nèi)部工具,各個團隊依然在重復造輪子。
阿里算是做的很好的,前幾年開始推行的大中臺戰(zhàn)略取得了顯著的成果,解放了各個產(chǎn)品部門的生產(chǎn)力。
計算機程序這種東西,一個人寫和一群人寫,幾千個用戶使用和幾千萬用戶使用,是完全不同的概念。
沒有強大的基礎設施建設,技術團隊越壯大,效率越低,用戶數(shù)越多,Bug 越多。
出來混總是要還的,今天沒有人關注基礎設施,未來就會有無數(shù)個程序員為此加班。
而說回美國這邊,專門的 Infra 團隊幾乎是每個公司的標配了。這也是工程師文化的結果,創(chuàng)始人、高管團隊一定有很強的技術背景,走過了很多彎路,所以非常重視基礎設施建設這種“重要而不緊急”的事情。
畸形的職場文化
最后再來說說文化的差異。美國人非常注重個人和家庭,犧牲自己的時間來給公司加班,這是不可能的。
一到下班時間準點走,非上班時間完全不查郵件。很多公司入職培訓就專門強調(diào)了怎么平衡工作和生活,其實就是說:下班時間就是你的時間,你有權利不處理公司事務。
反觀國內(nèi),不知道從什么時候起,加班就是約定俗成的。還出現(xiàn)了看似很有道理的人生經(jīng)驗,比如“年輕人就應該多拼一下”,“加班能學到更多東西,對未來也有好處”。
加班,竟然成了光榮的、可以拿來攀比的現(xiàn)象,比如說加班到凌晨一兩點,拍個照,發(fā)個朋友圈,收到老板的點贊很開心。
而管理者呢,還就吃這一套,誰加班多、會來事兒,考核的時候就更有好處。
在這種加班氛圍下,甚至還出現(xiàn)了“偽加班”。早上十點到公司,上個廁所、看會兒新聞、刷刷朋友圈,就到十一點半了,什么工作也沒做,然后準備吃午飯。
飯后逛一逛、睡個覺,又到 2 點上班時間了,寫會兒代碼、刷刷知乎,一下午又過去了,很多公司有免費晚餐,吃完飯回來 7 點左右,再寫寫代碼,磨到 10 點。
哦耶,又是充實的一天呢,發(fā)個朋友圈給老板知道。其實一天有效工作時間還不夠 8 小時,但就是“加班”了。
綜上,大概就是國內(nèi)加班嚴重的原因。我覺得這也是某個時代特有的現(xiàn)象,誰都沒有錯,誰也沒有辦法改變這種情況。
在國內(nèi)這樣一個高度競爭的環(huán)境下,公司為了生存必須跑快點,個人為了發(fā)展必須多做事,畢竟你不做就會有千千萬萬的人來搶。
等到中國真的發(fā)展到美國這樣的發(fā)達程度,生存壓力減小了,才有資格談更好的生活品質。
出處:轉載自微信公眾號:LJ說(ID:LjNotes)