爲何美國程序員工做比中國程序員工做輕鬆、加班少?

摘要: 低效的加班文化須要時間改變吧。程序員

做者:LJ,微信公衆號「LJ說」( LjNotes ),卡耐基梅隆(CMU)碩士、前騰訊/OPPO產品經理。正在美帝留學的PM,與你分享產品、互聯網和學習成長話題。

Fundebug經受權轉載,版權歸原做者全部。性能優化

先問是否是,再問爲何。微信

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

讓我來告訴你真實的狀況吧,還... ide

真是這樣的。模塊化

加班文化應該是中美兩地最明顯的不一樣了,造成這種差別的緣由不是一兩句能夠講清楚的。我在兩個國家都工做過,也在不一樣崗位工做過,因此就儘可能從不一樣角度來簡要說一下。工具

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

產品層面拍腦殼決策多

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

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

  • 節假日來了,咱們上一個活動,或者節日小彩蛋功能。
  • 競品上了一個 xx 功能,看起來不錯,咱們也抓緊上一個。
  • 10個產品經理同時跟你說:這個需求我跟老闆對過了,xx 以前必須上線。

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

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

技術團隊話語權低

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

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

因此國內不少程序員看別人的代碼,感受都是一團 shit,徹底無法維護,乾脆本身重寫一個。

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

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

長此以往,技術債務越堆越高,bug 愈來愈多,程序員不加班,誰加班?

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

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

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

技術基礎設施差

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

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

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

我相信能作到這樣的公司是百裏挑一的。

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

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

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

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

畸形的職場文化

最後再來講說文化的差別。

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

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

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

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

其實一天有效工做時間還不夠8小時,但就是「加班」了。

綜上,大概就是國內加班嚴重的緣由。

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

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

做者:LJ,微信公衆號「LJ說」( LjNotes ),卡耐基梅隆(CMU)碩士、前騰訊/OPPO產品經理。正在美帝留學的PM,與你分享產品、互聯網和學習成長話題。
相關文章
相關標籤/搜索