996的逻辑

996的逻辑

前几天云风发表了一篇文章,《为什么说执行 996 工作制的脑力劳动者非蠢即坏》,详见https://blog.codingnow.com/2019/05/996.html。文章中的大部分论据我都是同意的,但是我也有一点话想说,那就是,他的前提根本就是不成立的,程序员的工作绝不是脑力工作。所以非蠢即坏我不能同意,事实上,没有蠢这回事,就是坏。看到最后你就知道为什么。


前几天字节跳动的一个HR跟我说,我们隔周周日要上班,假设公司有5万人,我们就创造了50万个工时。当时我心中暗暗好笑,什么时候软件工程师的工作开始用工时计算了?然而我转念一想,发现这种说法很有道理。尽管用工时计算产出有点问题,这部分我就不专门批判了,云风的文章写的很清楚。我们以ROI来衡量工作产出比,而不是以工时,引用一段云风的文字:

从游戏行业看,投资做游戏的人最期盼的是什么?并不是压榨你用更短的时间把游戏做出来,而是你能给个明确的计划时间表,在这个时间内保证质量的完工。这个时间可以比较长,但只要计划是明确的,就能估算出未来的收支情况。成功的游戏利润率非常之高,如果游戏能成功,用暴力手段压缩制作时间而减少的成本简直无足轻重。所以,游戏产品上线前,一改再改,无限延长开发时间反而是常态。

健康的项目,计划的落实是第一位的。那么最影响计划安排的是什么?不是工作时长,而是开发中的不确定因素:
顺利的情况下,一个人一天产生 300 到 500 行代码游刃有余。一个游戏程序最终的代码量,抛去一些机械产生的东西,由人的智力产生出来的不会超过 10 万行。这样算也就是 10 个人月不到的事。以现在动则十几数十个程序的开发团队,开发几年才能让游戏上线来看,绝大部分的工作都被废弃掉,或是意外产生的额外量。比如 Bug ,为一个 Bug 花掉 2,3 天时间,这种经历我想大部分程序都经历过;更常见的是改需求,不断地废弃掉已经完成的工作。项目完成后复盘的话,肯定会发现,如果一开始走了正确的路,能压缩掉一个数量级的项目开发时间。996 制度能增加多少工作时长?2 倍我觉得是极限了,再增加工作强度,影响到程序员的日常判断力的话,一定会大幅度的增加出错的概率。
所以,如果存在一个工作计划,那么就不可能事前规划出超长工作时间。因为你必须为不确定因素留出时间。因为经验原因未能按计划做完事情,说明能力不足,有改进空间。但既然是意外,就有顺利的时候,无论多糟糕的程序员,都有不出 bug 的日子,制度性延长工作时间对于落实工作计划毫无意义。

文中所说的利用计划估算出的收支情况,其实就是ROI的简单运用。用工时如何计算ROI呢?ROI里面有投入的资源和产出的资源,但是没有工时这种东西,工时是非本质的。

那么我觉得这位HR说的有道理的地方在哪呢?他的话中其实暗含了一个结论,字节跳动的软件工程师,大部分都是搞体力劳动的,我同意这种观点。

脑力劳动者是指长期从事科技、文艺、教育、卫生、财贸、法律、管理等领域的人员,以及那些体力劳动强度不大而神经高度紧张的群体,如观测、检验、仪表操作等人员。其主要从事脑力劳动,存在工作时间不规律、肌肉活动少等问题。

从脑力劳动者的概念上来说,程序员当然属于脑力劳动者,我想反驳的是,脑力劳动者的工作根本不属于脑力劳动。那他们为什么还被成为脑力劳动者呢,因为这个概念的提出是相对于传统的搬砖等劳动而言的,相对而言,脑力劳动者的工作中体力活动较少,脑力活动更多,所以称为脑力劳动者。但是,假如更加深入的分析,一个程序员每天的工作,每天用到的思维方式,每天设计代码的方式,其实千篇一律的。我绝不算一个差的程序员了,但我绝不认为我每天的工作是脑力劳动。事实上,科学家早就指出,人每天的活动95%左右都是潜意识完成,只有5%是靠表意识完成的,这更加说明了我们每天的活动大部分是体力劳动。同样,在某些人看来是脑力劳动的打游戏、平面设计、音乐设计等,在我看来,同样属于体力劳动。他们看起来是脑力劳动的原因,是因为门槛较高,需要比较丰富的知识,但这绝不意味着工作的过程是脑力劳动。总结一下,体力劳动者是体力劳动占99.99%,脑力劳动占0.01%的话,脑力劳动者就是那部分体力劳动占98%,脑力劳动占2%。

稍微举个例子,在我心目中,脑力劳动占比最多的可能是科学家这种职业。也就是脑力劳动占比:工人<工程师<科学家。一个工人的日常可能就是搬砖,铺砖,铺砖的时候可能稍微需要消耗脑力。(纯粹举例,我本人绝对没有任何看不起工人的意思)一个软件工程师的日常,可能是花一定的时间进行架构设计,再花一定的时间把设计用代码实现。尽管设计和思考如何代码实现都需要消耗脑力,但本质上,设计的方法和代码实现的方法也是非常机械化的。一个科学家的日常,可能就是搞数据写论文了。比如霍金,他可能每天都在思考用怎样的理论来解释宇宙。但是,他的脑力活动也仅存在于他提出理论的时刻。他需要花更多的时间来分析数据、验证理论,这些活动尽管也消耗脑力,也是非常程式化的。

有个理论叫做SIT理论,叫做系统创新理论,说的是创新并不是一种天才的创造活动,而是可以通过一定的程式化的方法做出来的。我非常喜欢这种理论,同样,我也认为,创新不是一种脑力劳动,而是体力劳动。

说到这里,很明确了,既然写代码不是脑力劳动,而是体力劳动,云风的论据就站不住脚了。所以996的程序员并不是云风所说的蠢,下面再说坏。


我同意HR所说的延长工作时长可以提高公司的产出。但是,我毕竟是半吊子经济学家是吧,我们从经济学来分析这件事,这个就和云风大佬的思路完全不一样了。

996的成本是什么,仅仅是我们付给程序员的加班工资吗,不是的。再拿出成本的定义,成本,是放弃了的最大代价。我们用996压榨了程序员的白天时间,他们回家之后还会学习吗,很难,在公司呆12个小时是很累的。加上路上的一两个小时,回家之后可能看看新闻玩玩游戏就洗洗睡了,那么他们什么时候看书,什么时候钻研自己想做的事情,什么时候思考自己的理想?他们最后能学会的只不过就是工作中学到的那些东西,一叶障目,不见泰山了。

爱因斯坦与学生的例子大家还记得吗,爱因斯坦问,你早上做什么,答曰做实验,中午呢,答曰做实验,晚上呢,答曰做实验。爱因斯坦说,那你什么时候思考呢?这位学生可以说是比996还努力了,那他能够成大事吗,在爱因斯坦看来,可能很难。

管理学有个概念叫窄化效应,我们谈公司治理的时候会经常谈到。《稀缺》这本书中所阐述的稀缺效应其实和窄化效应是非常像的。在长时间的工作之后,窄化效应会非常明显。长此以往,人的人格也会受到一定的影响,可能脾气会更差,更没有耐心,更没有爱心。

经济学讲,人都是有对策的,法律无效定律永远存在。这部分云风其实已经说了,我们只是把它上升到理论层次。我们把公司的996工作制当成一种法律,人就没有对策吗,当然有的。我上班的时候偷一下懒,刷一会技术论坛休息一下,看起来好像在Google技术问题,有人能发现吗,不可能发现的。引用云风一段话

当人不能通过自身的技能完成任务,又无法提高自身达到要求。或许能做到的就是给自己降级,用更无智力含量,对技能无所要求的方法来做事了。这样对自己是最佳的选择,因为本质上 996 这种制度性工作才是最容易办到的事,无需思考,只用不停的敲打键盘即可,还能获得极大的自我满足。同时,这样可以把身边的同事,同行业的其他人也一起拖入泥沼。我做不过你,但我可以肝死你,恐怕是这一类人的心声了。
聪明的工作方式,需要团队一起都用聪明的方法来做事,每个人都勤于思考,找到高效的途径。通过独立思考,减少自己的错误产出(尤其是会影响到他人工作的产出)。但是,只要有一两个人做了坏事,就很难维持。比如,原本可以由一个人写一个 meta 模块解决一堆类似的问题,可一旦有一个人偷懒写下一坨狗屎只解决其中一个,并要求后面的人依照这个模板复制修改 10 份,那么工作就轻易的拓展到了 10 人份。最终的结果就是劣币驱逐良币,团队所有人都要趋向于用笨方式更稳健的做事。一旦脑力活动从工作中消退,就演化成 996 制度性长时间体力劳动。

云风这段话要说明的是,实行996的程序员非常坏,降维打击那些聪明的程序员。这才是各个公司实行996的原因。因为99%的程序员都是不爱学习的,放假回去他们也只会玩。那么他们怎么才能拿到更高的工资呢,这还不简单,我接受996,我一下子就比你们有竞争力多了,然后我在班上偷点懒,就赚回来的。这样,爱学习的人也得跟我一起996,那些聪明人学习的时间更少了,而且他们往往不接受996,这样我们就把他们挤压走了。

就这么简单吗?就这么简单。996制度是市场选择的最终结果,很难扭转。那些在网上发生的996ICU又是怎么回事呢?那就是那些爱学习的程序员们的呐喊,到底能不能起到效果呢,我认为不能。996的存在是合理的,市场选择的结果一般而言是最高效的,这次也不例外,因为不爱学习的人永远居多,这是显然的,不可扭转的。那我们能怎么办呢?抓紧时间尽快提升自己的技术水平,升职,升职到一个相对自由的职级和位置,更能自由的支配自己的时间,这可能是我们唯一的应对办法吧。

发表评论

电子邮件地址不会被公开。 必填项已用*标注