程序員最多能用多少時間來編程?
我走進晚會的時候,演講已經開始了,Michael Arrington 正在大談特談關于創建企業的艱辛:很多時候甚至只能趴在桌上小憩一番。但是,我想補充幾句。我看到過很多論述,說這樣的工作方式反而會適得其反、與成功失之交臂,甚至還會對程序員的身體產生極大的危害。但是,很少有人會對此進行定量分析。鄙人不才,下面先行拋磚引玉。
我們一般每天工作 8 小時,那么一周就是 40 小時。在極端的條件下(當然也不現實),如果一個程序員整整一周不吃不喝也不睡覺,所有時間全部用來寫代碼,那么就有 24×7 小時,乘起來是 168 小時,是平時的 4 倍。
當然,人又不是機器,不可能 24 小時全部用來工作,程序員也是人,也有正常的生理需求:例如,睡覺。人的***睡眠時間是 7 至 8 小時。也許,熬上一兩天少睡一點,也能撐得住,但是之后往往需要補充睡眠,睡得更多。而且在此期間,工作效率往往很低。為了更好的工作,我們假設每天 7.5 小時的睡眠時間,7 天就是 52.5 小時,那么 168 小時減去 52.5 小時的睡眠時間之后,剩下 115.5 小時!
還有吃飯。吃飯也是必不可少的,首先得有食物(點餐或者自己烹飪),然后才能吃到肚子里。一天 3 餐,假設我們每頓需要 30 分鐘,那么一天就是 90 分鐘。如果是點比薩之類的快餐,那每次要花的時間可以減少到 15 分鐘,一天下來,可以減少到 45 分鐘。就算一天需要 60 分鐘也就是 1 小時的吃飯時間。那么 115.5-1*7=108.5 小時。此外,刷牙洗臉刮胡子,有的時候還有洗澡,這些至少要 30 分鐘 =>108.5-0.5*7=105 小時。還有上下班浪費在路上的時間,2007 年全國平均上下班所用的時間為 45 分鐘一個來回,也就是 5.25 小時一周 =>105-5.25=99.75 小時,就算 100 小時。當然,如果你想省這部分時間,完全可以趴在桌子上睡!
100 小時,也只是比平均的 40 小時多 1 倍半了。而我們甚至還未曾談及生產力、家務勞動、疾病、朋友聚會、約會、追妹子等等活動。撇去這些不談,假設一周 7 天天天工作,那么每天也就 10 至 14 小時的工作時間,而這樣的工作強度也只能在短時間內真正有效率(最多幾個月)。
所以,問題就來了,我們花了 2.5 倍的時間,是否能給創業公司帶來天文數字般(即 10 倍或 100 倍)的預期回報?我們多花的 150% 的價值在哪里?是不是一周干 40 小時企業回報率就泯然于眾,而 100 小時就會讓企業一躍成為類似 Facebook 這樣家喻戶曉的公司?如果增加員工的時間投入就能提升企業的價值,那為何不多聘用幾個程序員?坦然而言,如果投入更多的時間就意味著會有巨大的回報,那么肯定是增加員工更為劃算,這筆帳誰都會算,不是嗎?
如果上述結論不正確,那么為什么一些企業家還有拼命灌輸“瘋狂加班”的文化?大家為何對 Arrington 和 Jason Calacanis 提出的“工作、工作……直到死去”這一觀點極力追捧?其中一種可能是,大家不知道該如何衡量,只是單純地認為加班加點總會有有豐厚的利潤。不過我發現其中另有玄機。
事實是,無論我們用來考核工作的指標再怎么精密,也無法真正衡量出一個程序員的工作效率。此外,大多數公司中都有競爭機制。哪怕有的人并不想“爭權奪位”,也得花很多時間詳細地審核代碼、檢查 bug。像 Arrington 這樣的人,是不會花時間也沒有這個專業能力來做考核員工業績這種繁瑣的事情的。所以,他們就采取用工作時間來衡量一個人的生產力。這樣,哪些程序員花了多少時間工作(還必須時時刻刻都得寫代碼!)或者哪些程序員常常“不坐在電腦前寫代碼”,一眼望去,立刻清楚。打個比方,如果你能在凌晨 1 點 Arrington 打電話給你的時候,毫無怨言,立即開工,那么你等于是把時間都投入到了工作中,當然愚蠢自大的人是不會明白,其實接個電話修復問題只要 10 分鐘就可以搞定了。
因此,盡管 Arrington 和 Calacanis 一再強調,他們所說的希望程序員能一直工作的真實含義是,希望他們能夠隨時待命。很大一部分原因是,如果沒有這些程序員,有很多問題光憑他們個人,根本無法解決,但是這于一個創業公司的能否成功是無關的。話說,有些已經成立的公司里,甚至還會有這種愚蠢的老板,在他們莫名其妙的腦瓜里,竟然有這種觀念:比 boss 早走一秒鐘竟然是彌天大罪!
原文鏈接:http://www.codeceo.com/article/how-many-hours-programming.html