关于加班

16 May 2020 - 周岩

最近前司有位程序员加班猝死了,对这类事情已经麻木了,所以没什么感觉,但我还是想把自己关于加班的看法写一下,希望能对国内的环境有所改善。

先说结论:我不赞成加班(除非有特殊情况)

这是一种恶性循环,人不是机器,不能在保持持续运转的情况下还能不出错,且加班工作效率也很低。

我的论据

中国公司很多人其实上班时间在划水,没什么产出,加班就更不用说了,所以老板看着一群人坐在那里加班,但实际没什么产出。

云风在他讲 BigWorld 那篇 Blog 里写老外程序员的工作状态时,让我觉得真是达到一种理想状态了:上班时间很专注,下了班就走,绝不加班。

以下摘自云风 Blog:那些日子(二十)

此行让我感触比较深的是老外程序员的敬业。他们工作很正规,一天八小时都在那写程序,如果没有特别的事情,不会像我们那样在办公室里穿来串去。下了班就准时回家,上班就工作。可以说,一个工作日就是一个,不象我们公司,程序员们相对懒散,除了短期的兴奋期,每天集中精力能写程序的时间远不到八小时。想来这也不是网易一家如此,我见过的许多国内公司都有此问题。所以在澳洲看到的情景给我不小触动。

写代码不是搬砖,是一种脑力劳动,或者是一种脑力+体力劳动。 如果是体力劳动,比如搬砖,那加班是有效的,多干一小时,就多搬了一小时的量,因为不需要思考,产出是固定的(排除疲劳因素)。 但是脑力劳动不是说多干一小时就多产出一小时的代码量,如果大脑不能良好运转,没有好的思路,很可能什么都做不出来,甚至做出糟糕的设计,写出混乱的代码,结果出现各种Bug,回头还要去擦屁股,总的时间消耗反而更多。

当然了,如果在脑子好使的情况下做好设计(脑力劳动),在加班时间去编码(体力劳动),那这样加班是有效的。 但是越是优秀的程序员,体力劳动所占的比例就越少,有时候甚至编码过程也不是纯体力的,所以加班对于程序员来说,绝对是弊大于利。

我更希望中国公司和员工都能达到 BigWorld 那种理想状态,老板给员工充分信任,而员工在工作时间给公司付出100%的努力。

最近听说 twitter 已经允许员工永久在家办公了,这就是一种信任,twitter 相信员工在家也能把工作做好。我们想要达到这种状态,真不知道还要多少年。 有时候我真觉得,我们不是一个物种,别人的先进性,就像是科幻小说里未来人的样子。我们也许还要再过几代人才能达到这种状态。

员工在加班强度很高的公司里如何自救

当然最推荐的方式就是离职,但有时候成年人不能那么任性,这时候怎么办?

一句话:保持充足睡眠。

不管怎样加班,一定要保持每天至少有4个小时的深度睡眠,这不是说让你连续睡这么久,而是什么时候困了什么时候就睡,哪怕是在公司,趴桌上睡。 我相信没有任何一家公司在要求员工24小时工作时还不允许员工趴桌上睡一会。

《睡眠革命》这本书里讲到人最需要的是深度睡眠,晚上睡8小时,实际上就只有4小时深度睡眠,2小时为一个睡眠周期,前面1小时是浅睡,后面是深睡。 当你加班加到非常困时,趴桌上睡,马上就是深度睡眠,所以睡4个小时顶平时8个小时。 可以每次趴桌上睡半小时或1小时,分多次睡,这样就能保证不会猝死。

年轻人不管白天怎么糟蹋,睡一觉就满血复活了,这就是睡眠的重要性,那些加班加的觉都不睡的人,实际上不懂得如何高效的利用自己的身体。

2021-09-17 补充

这篇文章写了一年多了,现在回看依然觉得有道理,并没有什么要推翻的。
但想补充几点:

  1. 国内大部分程序员达不到 BigWorld 那种状态,上班总是会因为各种各样的事而变得不够专注。
  2. 很多公司现在出现加班“内卷”的情况,就是下班比谁走的晚,结果出现越来越晚,人为的制造出 996 的氛围。
  3. 还有的公司明明没什么事做,硬性规定每周的固定时间加班,或者强制大小周。这是一种比较扭曲的制度,不是按需加班,而是不分青红皂白的固定加班。
  4. 项目真的到 deadline 了,或者和外部有合作,延期就违约的情况下,是可以安排临时加班的,相信只要有足够的透明度,员工是完全可以理解的。
  5. 无意义的加班会让员工产生逆反心理:“你让我加班是吧,那好,我就上班摸鱼”,最终产出的东西是一样多的,甚至会降低。
  6. 公司给员工足够信任,员工提高工作效率,最终进入良性循环,工作和生活分开,这也会让员工对公司有更强的认同,提高产出的同时也变得更为稳定。
  7. 做老板的应该玩玩《Forstpunk》这个游戏,不想玩的看看云风写的《冰气时代》末日下的人性考验也行。真正把员工当人看,而不是螺丝钉,考虑下他们的感受,多些同理心,可能会对环境的改善有所帮助。