你的老板會(huì)因?yàn)槟闫疵帉懘a而感謝你嗎?
程序員熱衷于長(zhǎng)時(shí)間地工作。我想說(shuō)的是,你就承認(rèn)吧,你的工作/老板并沒(méi)有讓你這樣做,你自己要這樣做而已。當(dāng)然,我知道,也許并非所有程序員都喜歡長(zhǎng)時(shí)間的編程。不過(guò)肯定的是,隨著加班成為業(yè)內(nèi)的普遍現(xiàn)象,至少一半的程序員必須喜歡加班,不是嗎?
我早已聽(tīng)到以下這類借口。“不,不是那樣的,我們只是喜歡炫酷的技術(shù)活,而且不想遺留未解決的問(wèn)題。實(shí)際上,加班是一件好事,它讓我們變得出色!”
我認(rèn)為,你不能只見(jiàn)樹木,不見(jiàn)森林。從某個(gè)角度來(lái)說(shuō),你這樣做并非為了自己,而是為了“某個(gè)人”。無(wú)須質(zhì)疑,他也許是個(gè)高尚的人,但你并不是他的奴隸。從其他角度來(lái)說(shuō),你有多少次加班,是為了解決問(wèn)題,研究新技術(shù),編碼實(shí)現(xiàn)某些東西,以及在截止時(shí)間之前完成任務(wù)?但是,你在業(yè)務(wù)上是機(jī)智過(guò)人的程序開發(fā)者,你在幫助公司獲得成功。公司管理者已經(jīng)向你說(shuō)明了公司的經(jīng)濟(jì)狀況——必須這樣做,公司依靠你。我想說(shuō)的是,除非這個(gè)管理者現(xiàn)在就在你旁邊,半夜2點(diǎn)還在陪你 聊天,否則他的話將一文不值。
讓我來(lái)講述一個(gè)朋友曾經(jīng)跟我說(shuō)過(guò)的故事。這個(gè)故事是關(guān)于一個(gè)天才程序員的,姑且叫他John吧。
John是一個(gè)百萬(wàn)程序員當(dāng)中才出現(xiàn)一個(gè)的超級(jí)明星。他理解和編寫代碼的能力高超,工作效率是其他任何人的20倍。有一天,公司拿到了一項(xiàng)短交期的大項(xiàng)目??蛻籼峁┝艘槐竞竦米屗腥司趩实囊?guī)格說(shuō)明書。John出手相助,他把說(shuō)明書帶回家,此后三天沒(méi)有人有關(guān)于他的消息。他回來(lái)上班的時(shí)候,樣子十分憔悴,但他看懂了整本說(shuō)明書并完成了項(xiàng)目的基本框架。除了一小部分不可能完成之外,說(shuō)明書的其余部分,甚至連客戶自己也不甚了解的需求,John也完成了。真讓人吃驚!
當(dāng)我第一次聽(tīng)說(shuō)這個(gè)故事時(shí),感受頗深,我問(wèn)了第一個(gè)問(wèn)題“那john現(xiàn)在何處?”我朋友回答——“他死了,生活太艱難了!”或許用編程過(guò)勞死來(lái)形容更加合適。這個(gè)故事令人意外的是——John才30歲而已。
程序員從分享死亡競(jìng)賽故事來(lái)獲得反常的快樂(lè)。甚至當(dāng)我們帶著厭惡的情緒去這樣做的時(shí)候,這種厭惡也帶著一絲得意,以此慫恿同事去做得“更好”。但這有點(diǎn)像那些穿著短褲的家伙,他們的短褲短到你都看得到他們的內(nèi)褲;也有點(diǎn)像一些把抽煙當(dāng)時(shí)尚的人,他們和他們的朋友覺(jué)得這很酷,其他人卻覺(jué)得愚蠢。
使糟糕的情況更糟
我可以理解偶爾付出一些額外努力以及一兩天加班到半夜的必要性。但是,當(dāng)偶爾變成經(jīng)常,當(dāng)老板不再因?yàn)槟愕呐Χ?jīng)常感謝你,而是習(xí)以為常時(shí),我們就遇到了麻煩。老板希望程序員經(jīng)常加班,這不僅是你的悲哀,也是整個(gè)行業(yè)的。人類就像狗一樣,非常容易受到正面和負(fù)面強(qiáng)化的影響。整個(gè)行業(yè)的發(fā)展受到長(zhǎng)年因過(guò)度加班而死亡的悲劇影響,直到某個(gè)階段,在那個(gè)階段甚至還獎(jiǎng)勵(lì)這種行為。我們每次陷入長(zhǎng)時(shí)間的爭(zhēng)論中,都持續(xù)消極地加劇了這種趨勢(shì)。
這不能幫助我們管理團(tuán)隊(duì)。你只需要讓一個(gè)人做主,其他人遵守。內(nèi)疚帶來(lái)平等——“我們不能讓我們的伙伴獨(dú)自去做困難的事情,我們得幫幫忙”。遵守的人越多,那些拋下同伴的人壓力就會(huì)越大,直到整個(gè)團(tuán)隊(duì)半夜里聚在一起喝可樂(lè),吃披薩。但他們?nèi)绾稳菁{一個(gè)同樣的人進(jìn)入他們的世界,因?yàn)樵谶@里也有一個(gè)因特立獨(dú)行而著名的程序員。當(dāng)我們還是學(xué)生時(shí),我們樂(lè)于把所有事情都推給某個(gè)人處理,然后在校內(nèi)做我們想要做的事;但當(dāng)我們走上工作崗位時(shí),一切都要靠我們自己。真讓 人困惑。
有趣的是,有時(shí)候這些大量的努力甚至并沒(méi)有得到正常合理的追蹤記錄,好像它反而讓項(xiàng)目看起來(lái)很糟糕一樣。所以他們“作假帳”,正如客戶只關(guān)心每個(gè)人每周工作40小時(shí)(或者他們拿的是40個(gè)小時(shí)的工資),也許還會(huì)關(guān)心項(xiàng)目在目前的進(jìn)度,但他們從不在意小組每個(gè)成員花費(fèi)在項(xiàng)目上的另外40個(gè)小時(shí)。好吧,或許他們會(huì)在“第二套假賬”中追蹤記錄的團(tuán)隊(duì)成員的真正努力。雖然會(huì)計(jì)會(huì)因?yàn)榇祟愒旒俣Z鐺入獄,但在IT業(yè)內(nèi),沒(méi)有人會(huì)反對(duì)這種造假的要求。
可接受的進(jìn)度成果
大多數(shù)敏捷開發(fā)過(guò)程都會(huì)就可接受的開發(fā)進(jìn)度進(jìn)行討論。不過(guò),我也見(jiàn)過(guò)有些甚至自認(rèn)為靈活的團(tuán)隊(duì)會(huì)花幾個(gè)小時(shí)的時(shí)間坐下來(lái)一起討論交流如何讓程序更加高效合理,等等,你懂的。盡管團(tuán)隊(duì)成員的思維依舊敏捷,你卻不敢說(shuō)出其他東西。
每當(dāng)我想起這東西,我總想到律師。你就像一個(gè)剛?cè)腴T的律師,付出了大量的努力和時(shí)間,這是你在這個(gè)行業(yè)中獲得成功的常規(guī)途徑。沒(méi)有一個(gè)程序員想要跟律師做比較,但情況經(jīng)常很相似,除非你不希望跟程序開發(fā)人員一樣通過(guò)長(zhǎng)時(shí)間的加班取得進(jìn)步(就跟律師一樣,除非你在4大咨詢公司打工,也可以成為一名律師)。所以,律師跟程序員,哪個(gè)是呆子?
關(guān)于一周工作時(shí)間超過(guò)40小時(shí)導(dǎo)致生產(chǎn)力下降的研究呈現(xiàn)出令人不安的規(guī)律性。作為程序員,如果你的創(chuàng)造力下降了,你的失誤就會(huì)增加,你就會(huì)遺漏現(xiàn)存的問(wèn)題,等等;直到到達(dá)某個(gè)階段,這個(gè)階段中,你做錯(cuò)的東西比做對(duì)的東西還要多。當(dāng)你花了很多的時(shí)間在同樣的活動(dòng)中時(shí),我是否應(yīng)該特別提到健康問(wèn)題。關(guān)于飲食,你只能靠可樂(lè)存活很長(zhǎng)一段時(shí)間——可憐的John甚至活下來(lái)不到40小時(shí)。
你現(xiàn)在能清楚我在反對(duì)長(zhǎng)時(shí)間的工作和面臨死亡威脅的行軍了嗎?你的睡眠時(shí)間和睡眠質(zhì)量達(dá)標(biāo)了嗎?或許最近某一天我會(huì)告訴你我如何收到叫醒電話(wake up call),這是一個(gè)有趣的故事。把貓趕在一起,很容易與在相同的方向下讓程序員取得預(yù)期的成果這種情況相比較,這是我對(duì)我們的人(程序員)又愛(ài)又恨的地方。但我希望過(guò)段時(shí)候后,所有聰明的程序員要一個(gè)明確的立場(chǎng),堅(jiān)決消除十分糟糕和違背生產(chǎn)力的業(yè)內(nèi)趨勢(shì)之一。正如我所提到的,聰明的程 序員不喜歡長(zhǎng)時(shí)間工作,也不會(huì)因?yàn)槠扔趬毫Χ影?,他們把更多的時(shí)間用于享受生活。