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