程式員熱衷於長時間地工作。我想說的是,你就承認吧,你的工作/老闆並沒有讓你這樣做,你自己要這樣做而已。當然,我知道,也許並非所有程式員都喜歡長時間的編程。不過肯定的是,隨著加班成為業內的普遍現象,至少一半的程式員必須喜歡加班,不是嗎?我早已聽慣了以下這類借口:“不,不是那樣的,我們只是喜歡炫酷的技術活,而且不想遺留未解決的問題。實際上,加班是一件好事,它讓我們變得出色!”
我認為,你不能只見樹木,不見森林。從某個角度來說,你這樣做並非為了自己,而是為了“某個人”。無須質疑,他也許是個高尚的人,但你並不是他的奴隸。從其他角度來說,你有多少次加班,是為瞭解決問題,研究新技術,編碼實現某些東西,以及在截止時間之前完成任務?但是,你在業務上是機智過人的程式開發人員,你在協助公司獲得成功。公司管理者已經向你說明了公司的經濟狀況——必須這樣做,公司依靠你。我想說的是,除非這個管理者現在就在你旁邊,半夜2點還在陪你聊天,否則他的話將一文不值。
讓我來講述一個朋友曾經跟我說過的故事。這個故事是關於一個天才程式員的,姑且叫他John吧。
John是一個百萬程式員當中才出現一個的超級明星。他理解和編寫代碼的能力高超,工作效率是其他任何人的20倍。有一天,公司拿到了一項短交期的 大項目。客戶提供了一本厚得讓所有人沮喪的規格說明書。John出手相助,他把說明書帶回家,此後三天沒有人有關於他的訊息。他回來上班的時候,樣子十分 憔悴,但他看懂了整本說明書並完成了項目的基本架構。除了一小部分不可能完成之外,說明書的其餘部分,甚至連客戶自己也不甚瞭解的需求,John也完成 了。真讓人吃驚!
當我第一次聽說這個故事時,感受頗深,我問了第一個問題“那John現在何處?”我朋友回答——“他死了,生活太艱難了!”或許用編程過勞死來形容更加合適。這個故事令人意外的是——John才30歲而已。
程式員從分享死亡競賽故事來獲得反常的快樂。甚至當我們帶著厭惡的情緒去這樣做的時候,這種厭惡也帶著一絲得意,以此慫恿同事去做得“更好”。但這 有點像那些穿著短褲的傢伙,他們的短褲短到你都看得到他們的內褲;也有點像一些把抽煙當時尚的人,他們和他們的朋友覺得這很酷——但其他人卻覺得愚蠢。
使糟糕的情況更糟
我可以理解偶爾付出一些額外努力以及一兩天加班到半夜的必要性。但是,當偶爾變成經常,當老闆不再因為你的努力而經常感謝你,而是習以為常時,事情就麻煩了。 老闆希望程式員經常加班,這不僅是你的悲哀,也是整個行業的。人類就像狗一樣,非常容易受到正面和負面強化的影響。整個行業的發展受到長年因過度加班而死 亡的悲劇影響,直到某個階段,在那個階段甚至還獎勵這種行為。我們每次陷入長時間的爭論中,都持續消極地加劇了這種趨勢。
這不能協助我們管理團隊。你只需要讓一個人做主,其他人遵守。內疚帶來平等——“我們不能讓我們的夥伴獨自去做困難的事情,我們得幫幫忙”。遵守的 人越多,那些拋下同伴的人壓力就會越大,直到整個團隊半夜裡聚在一起喝可樂,吃披薩。但他們如何容納一個同樣的人進入他們的世界,因為在這裡也有一個因特 立獨行而著名的程式員。當我們還是學生時,我們樂於把所有事情都推給某個人處理,然後在校內做我們想要做的事;但當我們走上工作崗位時,一切都要靠我們自己。真讓人困惑。
有趣的是,有時候這些大量的努力甚至並沒有得到正常合理的追蹤記錄,好像它反而讓項目看起來很糟糕一樣。所以他們“作假帳”,正如客戶只關心每個人每周工作40小時(或 者他們拿的是40個小時的工資),也許還會關心項目在目前的進度,但他們從不在意小組每個成員花費在項目上的另外40個小時。好吧,或許他們會在“第二套 假賬”中追蹤記錄的團隊成員的真正努力。雖然會計會因為此類造假而鋃鐺入獄,但在IT業內,沒有人會反對這種造假的要求。
可接受的進度成果
大多數敏捷開發過程都會就可接受的開發進度進行討論。不過,我也見過有些甚至自認為靈活的團隊會花幾個小時的時間坐下來一起討論交流如何讓程式更加高效合理,等等,你懂的。儘管團隊成員的思維依舊敏捷,你卻不敢說出其他東西。
每當我想起這東西,我總想到律師。你就像一個剛入門的律師,付出了大量的努力和時間,這是你在這個行業中獲得成功的常規途徑。沒有一個程式員想要跟律師做比較,但情況經常很相似,除非你不希望跟開發人員一樣通過長時間的加班取得進步(就跟律師一樣,除非你在4大諮詢公司打工,也可以成為一名律師)。所以,律師跟程式員,哪個是獃子?
關於一周工作時間超過40小時導致生產力下降的研究呈現出令人不安的規律性。作為程式員,如果你的創造力下降了,你的失誤就會增加,你就會遺漏現存 的問題,等等;直到到達某個階段,這個階段中,你做錯的東西比做對的東西還要多。當你花了很多的時間在同樣的活動中時,我應該特別提到健康問題。關於飲 食,你只能靠可樂存活很長一段時間——可憐的John甚至活下來不到40小時。
你現在能清楚我在反對長時間的工作和面臨死亡威脅的行軍了嗎?你的睡眠時間和睡眠品質達標了嗎?或許最近某一天我會告訴你我如何收到叫醒電話 (wake up call),這是一個有趣的故事。一群程式員步調一致地向一個方向努力,就像一群被豢養的貓——這是我對我們這些程式員又愛又恨的地方。但我希望過段時候,所有聰明的程式員要有一個明確的立場,堅決消除這種十分糟糕和違背生產力的業內趨勢。正如我所提到的,聰明的程式員不喜歡長時間工作,也不會因為迫於壓力而加班,他們把更多的時間用於享受生活。
編譯地址:伯樂線上
英文地址:Did Your Boss Thank You For Coding Yourself to Death?