爲什麼美國程序員工作比中國程序員工作輕鬆、加班少?

640?wx_fmt=jpeg

作者 | LJ說

責編 | 伍杏玲

本文經授權轉載自LJ說(ID:LjNotes)

先問是不是,再問爲什麼。

難道美國的程序員就不加班嗎?他們就一天八小時工作,還想來就來,想走就走?非工作時間完全找不到人?還有什麼食物飲料都免費提供?

讓我來告訴你真實的情況吧,還真是這樣的。

加班文化應該是中美兩地最明顯的不同了,形成這種差異的原因不是一兩句可以講清楚的。我在兩個國家都工作過,也在不同崗位工作過,所以就儘量從不同角度來簡要說一下。

國內程序員加班嚴重,問題首先不在程序員這個羣體。

 

640?wx_fmt=png

產品層面拍腦袋決策多

 

產品層面,拍腦袋決策多,美其名曰:互聯網思維、小步快跑、試錯思維,其實是沒想清楚,反正我就需求一提,技術團隊來做,上線後成功了我是產品天才,失敗了也沒啥壞處,找個藉口說什麼“互聯網市場變化太快”也能搪塞過去,或者找個新項目,繼續畫大餅。

國內的產品經理實在是太多了,很多還是剛畢業的小鮮肉,沒有一點經驗積累,憑藉天馬行空的想象力,提一個需求,就能讓一幫技術專家爲之操勞好幾個月去實現,這簡直是不可思議的。即使產品經理很厲害,但人數一多,每個人都要業績,都拼命想點子、提需求,技術團隊怎麼能招架得住那麼多需求呢。於是就會這些現象:

  • 節假日來了,我們上一個活動,或者節日小彩蛋功能。

  • 競品上了一個 xx 功能,看起來不錯,我們也抓緊上一個。

  • 10個產品經理同時跟你說:這個需求我跟老闆對過了,xx 之前必須上線。

產品經理沒有想清楚某個功能的價值,或者帶來的收益不痛不癢,而技術團隊則需要爲此付出巨大的心血,也就是加班。當然這也不一定是產品經理的錯,國內公司,老闆的指令太多了,不說了,你懂的。

在美國這邊,產品經理大多是行業經驗非常豐富的人,要麼是從工程師轉過來,要麼是從多年的商業領域經歷然後讀個 MBA轉過來。上線一個功能,經過嚴謹的理論推演、多輪前期調研、科學的 A/B Test,從提出 idea 到最終用戶看到更新,經常耗時半年或一年。很多不成功的 idea 還沒面市,就因爲數據不好而“胎死腹中”。這樣一方面提高了產品需求的質量,另一方面也給技術團隊足夠多的時間來設計和實現一個可持續發展的架構。

 

640?wx_fmt=png

技術團隊話語權低

 

管理層在做決策時,往往更重視產品更新迭代,而忽視技術的建設。

比如說技術團隊有100個小時,老闆可能會把90小時都投入到實現產品功能,給技術優化、修補技術債務。於是就會出現技術實現非常粗糙的情況,舉個栗子,給你一週時間,實現一個 IM 功能,你還會考慮什麼模塊化、可維護性、性能優化之類的嗎?當然是怎麼快怎麼來,百度一下有沒有別人實現過的代碼,Ctrl+V / Ctrl+V,一點運行,誒,跑通了,上線。

所以國內很多程序員看別人的代碼,感覺完全沒法維護,乾脆自己重寫一個。

技術老大能跑到老闆面前說“我們先把產品需求停一停,讓我們的技術團隊好好地優化一下基礎設施”嗎?只要他不是傻子,都不會這樣說。

話語權低還體現在,對產品幾乎沒有決策權,甚至不能質疑產品決策,提反對意見,總會被產品經理各種理由擋回來,產品經理有一句話終結爭論的尚方寶劍:這是老闆要做的。

久而久之,技術債務越堆越高,Bug 越來越多,程序員不加班,誰加班?

而美國公司的現象是,技術話語權非常高,一個沒想清楚的產品需求,能被技術團隊直接打回去。同時,技術團隊可以自主地花很多時間在技術優化上面。產品不能按時上線?經理說:沒關係,延後,按照最優的技術方案來推進。有時候你想趕緊上線,提交一段粗製濫造的代碼,會被同事鄙視死,被老闆罵死。

每個季度最後一個月,專門抽出精力,來彌補技術債務,產品需求放一邊先。

在這樣的環境下,短期看起來效率低,但長期是最高效的。國內是“欲速則不達”,美國是“慢工出細活”。

 

640?wx_fmt=png

技術基礎設施差

    

知乎上有一個比較熱門的討論:騰訊的技術建設是否落後?

這不但是騰訊的問題,實際上絕大部分公司的技術基礎設施都非常差。

有多少個公司能養一個專門的 Infra 團隊?有多少個技術團隊能專門成立一個小團隊,進行 Infra 優化?即使有,有多少個公司能保證 Infra 團隊的成果能在全公司推行?

我相信能做到這樣的公司是鳳毛麟角的。

中小公司不必說,在這樣高度競爭環境下,哪有財力養一個不能直接帶來 KPI 提升的團隊,即使有錢,也沒時間搞優化。

而大公司呢,即使騰訊這樣的體量,有一個 TEG 事業羣做基礎設施建設。但是現實情況是,依然沒有全公司通用的內部工具,各個團隊依然在重複造輪子。阿里算是做的很好的,前幾年開始推行的大中臺戰略取得了顯著的成果,解放了各個產品部門的生產力。

計算機程序這種東西,一個人寫和一羣人寫,幾千個用戶使用和幾千萬用戶使用,是完全不同的概念。沒有強大的基礎設施建設,技術團隊越壯大,效率越低,用戶數越多,bug 越多。出來混總是要還的,今天沒有人關注基礎設施,未來就會又無數個程序員爲此加班。

而說回美國這邊,專門的 Infra 團隊幾乎是每個公司的標配了。這也是工程師文化的結果,創始人、高管團隊一定有很強的技術背景,走過了很多彎路,所以非常重視基礎設施建設這種“重要而不緊急”的事情。

 

640?wx_fmt=png

畸形的職場文化

 

最後再來說說文化的差異。

美國人非常注重個人和家庭,犧牲自己的時間來給公司加班,這是不可能的。一到下班時間準點走,非上班時間完全不查郵件。很多公司入職培訓就專門強調了怎麼平衡工作和生活,其實就是說:下班時間就是你的時間,你有權利不處理公司事務。

反觀國內,不知道從什麼時候起,加班就是約定俗成的。還出現了看似很有道理的人生經驗,比如“年輕人就應該多拼一下”,“加班能學到更多東西,對未來也有好處”。

加班,竟然成了光榮的、可以拿來攀比的現象,比如說加班到凌晨一兩點,拍個照,發個朋友圈,收到老闆的點贊很開心。而管理者呢,還就吃這一套,誰加班多、會來事兒,考覈的時候就更有好處。

在這種加班氛圍下,甚至還出現了“僞加班”。早上十點到公司,上個廁所、看會兒新聞、刷刷朋友圈,就到十一點半了,什麼工作也沒做,然後準備吃午飯;飯後逛一逛、睡個覺,又到2點上班時間了,寫會兒代碼、刷刷知乎,一下午又過去了,很多公司有免費晚餐,吃完飯回來7點左右,再寫寫代碼,磨到10點。哦耶,又是充實的一天呢,發個朋友圈給老闆知道。

其實一天有效工作時間還不夠8小時,但就是“加班”了。

綜上,大概就是國內加班嚴重的原因。

我覺得這也是某個時代特有的現象,誰都沒有錯,誰也沒有辦法改變這種情況。在國內這樣一個高度競爭的環境下,公司爲了生存必須跑快點,個人爲了發展必須多做事,畢竟你不做就會有千千萬萬的人來搶。

等到中國真的發展到美國這樣的發達程度,生存的減小了,纔有資格談更好的生活品質。

作者簡介:LJ,卡耐基梅隆(CMU)碩士、前騰訊/OPPO產品經理,正在美帝留學的PM,與你分享產品、互聯網和學習成長話題。

公衆號:LJ說(LjNotes)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章