外企的程序員需要加班嗎
作者:覃超
很多人對外企的程序員是否需要加班存有疑惑,有的人可能認為外企工作時間比較靈活,不會要求強制加班,其實這種觀念在一定程度上是正確的,但也因人而異,下面結合我自己的親身經歷談一談關于外企加班的問題:
我在 非死book 就職期間,沒有打卡,也沒有要求工作時間,類似傳說中的 flexible working schedule。其實情況是項目進度很緊,公司和組的 goal 制定得非常 aggressive,導致工程師們的工作時間普遍都在 8 小時/天以上。是不是加班到半夜因人而異;有少數人是早上很早來,然后5-7 點就離開公司的。其他大部分就是睡到自然醒(比如我),在公司吃一個中飯,然后一直干到晚上的。有時會有一些時間干到 12 點過后。
還有一些原因是里面的工程師很多都是 new grad(剛畢業不久),所以到了公司還是用宿舍里的作息習慣 --- 晚上干到很晚,然后早上起得也很晚。(這樣并不是很好)
最后是一些特殊時期,我們要趕一些項目的 deadline,這時項目時間異常緊張,經常會搞到半夜。另外還有 lock down 時期,比如和 Google+ 對打,比如我后來在的 messenger team 和 whatsapp 對打的時候,team lead 主動鼓勵加班到半夜。9 點準時有食物送到我們 team 的桌附近,附加 非死book 專門加開一路班車在凌晨 12 點的時候在我們樓下停著。
至今還記得,12 點后出來,整個停車坪都是黑的,內場很多地方在用水清洗路面。灣區冬天的晚上溫度會降到 0 度左右,這時我經常快步鉆進我的車(有時忘記停哪兒了。。),凍得直哆嗦。我把引擎打著座椅加熱開啟。凌晨之后的 highway 101 一般非常通暢,覺得那時開車就是一種享受,另外空氣常年通透,PM2.5 在 20 以下,看著天上的繁星閃閃覺得一切都很好。5 分鐘的高速后,我從 Rengstorff Ave 的路口開出,開一段 local 道路便回到了 apartment 里的車位上。
我停好車,掛到P檔拉上手剎,關了引擎。周圍寂靜得像馬一樣。我遲遲不愿下車,在車上會呆坐一會,想很多很多事情。2 分鐘或者 5 分鐘或者 10 分鐘過后,我終于拉開車門,走回房間。頓時,覺得在異國他鄉什么都不錯,就是偶爾襲來的刺骨的孤獨和疲憊感覺要把人給撕碎了。
另外看到有網友提問,在這種業務需求緊張的模式下,非死book 一些開源技術方案是如何產出的,是非業務團隊專門做的么?
我想說的是即使業務需求緊張,也一樣把代碼好好寫好,另外有牛逼的 tech lead 和嚴格的 code review,總的質量也不是很差。國內有一點很不好:經常沒有 code review;而且技術人員觀念不好,把要寫的代碼當差事,只要能完成能用就好。所以就越來越操。
(Code reivew 一直是硅谷一線互聯網公司的質量控制法寶,從 Apple 到 Google,從 非死book 到現在的 Airbnb 和 Uber。可悲的是,國內的人都太聰明,覺得這東西沒用繁瑣,而且減慢開發速度。有時,我們就是太過聰明。)
非死book 一些趕出來的代碼開始的質量也不是那么好。然后里面的一些 tech lead 在后面幾版迭代的時候經常會不斷強調工程質量。另外整個工程師文化里以開源共享-對技術社區有影響為榮,績效評估里也會考慮開源的貢獻,所以一些好的 library 或者框架都盡量想著開源出去。甚至重點的一些開放項目會在 F8 上進行發布。這種開源的決定又從反面來促進了我們工程師把代碼在開源前努力改到最好。
還有一些客觀無奈:說實話,之前做 messenger platform 的時候,覺得里面的代碼很混亂,這開放出去豈不是貽笑大方。誰知道在最后兩周,他們組瘋狂優化和加注釋,最后開放出去的那天代碼感覺面子上還是能看過去的。再加上有 非死book 一塊牌子在,你放的一坨屎過去,很多所謂的“技術高手”都會幫忙把 非死book 的開源新技術吹到天上去。