我走进晚会的时候,演讲已经开始了,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

英文原文:http://java.dzone.com/articles/how-many-hours-can-programmer

翻译作者:码农网 – 小峰