程序員編程需要多少個小時?
作者 Krishna Kumar 是一名軟件開發者,曾多次發表過軟件開發、程序、項目管理、商業管理等相關議題文章,原文來自《How Many Hours Can a Programmer Program?》現對此文進行編譯,與開發者一起探討如何合理、有效的管理好工作時間。
文章內容如下:
Michael Arrington 曾發表一篇博文說,創業者必須加倍的努力工作,甚至不惜趴在辦公桌上睡覺,這樣才能成功。對此,我并不贊同其觀點,我看了很多評論都是關于這樣工作會適得其反,不但沒有獲得成功,相反的,這也給程序員的身體造成一定的危害(長期或是短期都會有影響)。
我們每天平均工作 8 個小時,這樣算下來,平均每周有 40 個小時。假設,在最佳狀態下,當你啟動一個程序 24*7(不休不眠)這相當于 168 個小時,這就意味著是日常工作的 4 倍。
當然,程序員不可能像機器那樣可以一直工作,期間也會被其它事宜打擾。比如,睡眠。人的最佳睡眠時間是7-8個小時。你可以偶爾付出一些額外努力或者是連續一兩天加班,但是這將使你的工作效率達到低峰。當偶爾變成經常,你的老板也不再因為你的努力而經常感謝你。假設,以7.5個小時計算,那么,這樣就可降至 115.5 小時。
其次是飲食。每天你必須得吃飯(叫外賣或者自己下廚),一天至少三次,平均而言,每餐 30 分鐘,那么三餐就是 90 分鐘。假如你定一份 pizza,這樣每餐可延至 15 分鐘,一共可以延至 45 分鐘。因此,我們平均每天多空出一個小時,便降至 108.5 個小時。去衛生間?刷牙?淋浴?等等,在最好的情況下,每天 30 分鐘=>即可降至 105 個小時。上班途中需要花費多少時間?根據2007年的一份調查報告顯示,平均需要 45 分鐘往返路程,即每周需要5.25個小時=>降至 100 個小時。也許這樣算可以減少你在桌子在底下的睡覺時間。
100個小時,這當于2.5倍的工作量。我們甚至還沒有談到勞動力、家庭需求、疾病、朋友、非工作需要和其它活動等等。事實上,你是在尋找一個每周 7 天,每天 10-14個小時的工作場所。
問題是2.5倍的工作能使你的創業公司達到(10倍或是 100 倍?)的預期收益嗎?程序員額外的 150% 價值是多少?假如一周 40 個小時是公司的正常收益,那么,100個小時就意味著有類似 非死book 這樣的估值嗎?如果真是這樣,那么你的老板為什么不多雇傭些其他的程序員呢?如果只要投入更多的時間就會有巨大的回報,那么增加更多的人員肯定更劃算,不是嗎?
如過不是,那又是為何?為什么很多程序員喜歡像 Arrington 和 Jason Calacanis 文中提到的那樣成為一個工作狂,要知道這樣工作過度會導致疲勞致死。或許有一種可能性,他們不知道如何計算,或者他們認為多工作幾個小時可以轉化為額外的薪資。
事實上,即使你在工作中設立了復雜的工作指標,也無法衡量程序員的工作效率。這就好比一種游戲方式,即使人們不去嘗試比賽,但你也必須要花時間去了解代碼的細節。
有些人像 Arrington 一樣沒有時間或者沒有這方面的專業知識去做到這一點,相反的,他們會利用更多時間來提高工作效率,這就意味著,程序員大部分時間都在工作(他們每分每秒都在編寫代碼),這就使他們在非工作時間還在努力的編寫程序成為一種習慣。如果一名程序員在凌晨一點鐘時接聽 Arrington 電話,這就說明她一直在工作,她會花 10 分鐘的時間去接聽電話并且把這個問題解決掉。
因此,當 Arrington 和 Calacanis 說,他們希望程序員拼命工作,更多的原因是他們認為在他們的幫助下沒有程序員解決不了的問題。我想說,這里沒有絕對的成功或是失敗。你可以閱讀這些類似的故事,或許早離開一分鐘比晚離開一份鐘對你的老板來說意義完全不同。
一周工作時間超過 40 小時會導致生產力下降這逐漸呈現出一種令人不安的規律性。作為程序員,如果你的創造力下降了,你的失誤就會增加,直到達到某個階段,在這個階段中,你做錯的東西比做對的東西還要多。當你花很多的時間在某種活動中時,我是否該特別提醒下健康問題呢?
所以,我想說,程序員對待自己的健康問題,應予以重視。(夏夢竹/編譯)