« 通过对缓存测速提取信息的旁路攻击 | 返回首页

为什么说执行 996 工作制的脑力劳动者非蠢即坏

抱歉我用了这么个吸引眼球的标题。但我其实是想分析一下 996 工作制度到底存在怎样的问题。注意,我说的是身体力行执行 996 工作制的人,而非要求员工进行 996 工作的老板,这是两类人,今天我想骂的是前一类。

如果让我给执行 996 工作制下个定义,我想不能把全身心投入到工作和事业上的工作方式等同。它并不指工作时长;而是指刻意的制度性的把工作安排在非正常工作时间段。对待工作,不是以是否完成计划内的工作为衡量标准;而是本末倒置的先预设工作时长,然后想办法填满这些工作时间。

对于我最熟悉的游戏软件行业,它的工作本应该是脑力劳动为主。尤其对于程序员来说,主要的工作应该是在你的脑子里通过思考完成的,如果你的工作效率受限于每天不停的敲打键盘、移动鼠标、那么就变成了一项体力劳动。不久的将来,猴子和 AI 都能替你把事情干了。体力劳动或许可以通过制度性的延长工作时间来加快进程,可硬生生的脑力劳动变成体力劳动,只能用蠢来解释了。

如果工作的重点是通过大脑思考完成的,那么就不在乎你在什么时间,坐在哪里进行这些思考。甚至入睡前的那段时间都能想很多,限制每天在办公室坐上 10 多小时没有任何意义。那为什么说起来简单,996 反而成了国内程序员工作的普遍状态呢?我以最大的善意揣测人性,若他们不是心眼坏的话,那只能是大多数从业程序员能力欠缺了。

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

健康的项目,计划的落实是第一位的。那么最影响计划安排的是什么?不是工作时长,而是开发中的不确定因素:

顺利的情况下,一个人一天产生 300 到 500 行代码游刃有余。一个游戏程序最终的代码量,抛去一些机械产生的东西,由人的智力产生出来的不会超过 10 万行。这样算也就是 10 个人月不到的事。以现在动则十几数十个程序的开发团队,开发几年才能让游戏上线来看,绝大部分的工作都被废弃掉,或是意外产生的额外量。比如 Bug ,为一个 Bug 花掉 2,3 天时间,这种经历我想大部分程序都经历过;更常见的是改需求,不断地废弃掉已经完成的工作。项目完成后复盘的话,肯定会发现,如果一开始走了正确的路,能压缩掉一个数量级的项目开发时间。996 制度能增加多少工作时长?2 倍我觉得是极限了,再增加工作强度,影响到程序员的日常判断力的话,一定会大幅度的增加出错的概率。

所以,如果存在一个工作计划,那么就不可能事前规划出超长工作时间。因为你必须为不确定因素留出时间。因为经验原因未能按计划做完事情,说明能力不足,有改进空间。但既然是意外,就有顺利的时候,无论多糟糕的程序员,都有不出 bug 的日子,制度性延长工作时间对于落实工作计划毫无意义。

除非,程序员干的就不是智力工作。当我们把工作的智力因素无限降低的话,996 工作制度的确可以保障任务以更加稳定的时间周期完成。就好比你用计算器从 1 加到 100 ,只要你肯把 1 2 3 ... 100 依次按下去,总能得到结果,当你按了几十次按钮后,就能大致估计出全部按完 要多长时间;而寻找等差数列的公式、验证其正确性,然后用更快的方法得到结果,反而是不可控的。996 有效的前提就是:一定要找到最笨最机械的方法去执行,通常必须由蠢人来干,如果你不够蠢,就要把自己变得更笨一点;整个团队的智力在工作状态中拉到一条线上,就可以有条不紊的推进了。

我刚刚提到了团队,团队合作正是另一项重大的影响因素。

996 工作制度下,通常就是无休止的讨论、会议、头脑风暴等等。团队的工作相互依赖,你的工作需要我的工作先完成,我的工作需要交给他审核。团队规模越大,分工越细,越需要更多的人长时间待在一起。否则,做了一半的事情找不到上游或下游就无法开展下去。可是,受过基本训练的合格程序员都应该明白一个道理:越是复杂的项目,就越是需要不同部分(工作)模块的解耦。为了模块划分干净,可以不惜增加模块间的沟通成本。工作也是这样,随时可以找到人讨论问题并不是一件好事,它好比两个模块间事无巨细的反复调用对方的 api 。就算你全部实现都 inline ,开到 -O3 的优化,都未必高效。设计问题无法用精巧的实现弥补;工作规划的失误,无法用超长的工作时间抵消。我们应该容忍工作因为沟通延迟或失误造成的工作浪费,但不应该容忍无穷尽的讨论和会议浪费掉的时间。聪明人规划好计划后,会珍惜每次有限的沟通机会。

不轻易打搅别人应该是职业人应该具备的基本素养。这点至少我觉得自己是做到了的。记得 10 多年前,我有项目半夜出了 bug ,因为是非工作时间,即使 bug 不出在我编写的模块中,甚至我连代码都没看过。可我还是忍住不联系相关的同事,花了一个通宵阅读可能有问题的代码,并在天亮前修复;另一个项目在上线发布前一晚,一块关键数据除了问题,但是维护数据的人已经下班,修改数据的专有工具甚至没有人会使用(编写工具的人也下班了),我的选择不是联系负责的人,而是根据数据格式连夜重新编写工具,在用新写的工具修改错误的数据。举这样的例子,一是想说明,全心投入到工作中,和 996 不是一码事;二是想说,有能力有意愿加班做事是一回事,要求别人是另一回事。并没有那么多耽误不起必须在今晚完成的工作,如果你判断事情严重到必须当晚解决,那么就要具备独自解决问题的能力。如果你没有这个能力,第二天天也不会塌下来,好好做好下一段的计划,不要总是陷入这种僵局。

减少工作沟通并不是说不和别人沟通,闭门造车。反而应该在工作外的时间,尽可能地和不同的人交流,了解不同领域的人做了什么,采用了什么方法。这样才能开拓视野。工作中的许多困境往往都是因为陷入了思维定势,需要一个外部灵感帮你跳出来。和影响工作进程的各种偶然因素一样,捷径出现在眼前也是出乎意料的。你无法期待一个灵感能给你节省多少时间,但若你关上了门,每天干到睡觉,起来就奔赴办公室,也就关上了这扇门。


谈完了蠢,就想说说坏了。这个坏或许不是本心,但实质性的伤害了别人。

当人不能通过自身的技能完成任务,又无法提高自身达到要求。或许能做到的就是给自己降级,用更无智力含量,对技能无所要求的方法来做事了。这样对自己是最佳的选择,因为本质上 996 这种制度性工作才是最容易办到的事,无需思考,只用不停的敲打键盘即可,还能获得极大的自我满足。同时,这样可以把身边的同事,同行业的其他人也一起拖入泥沼。我做不过你,但我可以肝死你,恐怕是这一类人的心声了。

聪明的工作方式,需要团队一起都用聪明的方法来做事,每个人都勤于思考,找到高效的途径。通过独立思考,减少自己的错误产出(尤其是会影响到他人工作的产出)。但是,只要有一两个人做了坏事,就很难维持。比如,原本可以由一个人写一个 meta 模块解决一堆类似的问题,可一旦有一个人偷懒写下一坨狗屎只解决其中一个,并要求后面的人依照这个模板复制修改 10 份,那么工作就轻易的拓展到了 10 人份。最终的结果就是劣币驱逐良币,团队所有人都要趋向于用笨方式更稳健的做事。一旦脑力活动从工作中消退,就演化成 996 制度性长时间体力劳动。

不思进取的工作方式还会导致对自己的结果不做进一步思考,设计好的功能扔给别人实现,期待做好了再看效果;写好的代码不仔细自我检查,期待有测试人员把关,对坏味道无动于衷,等出了 bug 再改,反正干什么活不是干呢?debug 也不影响拿工资就是了。

如果一整个团队就这么下去,坏影响会蔓延到同业。因为无论这种工作方式效率多低,但是产出稳定啊。滥产品能做出来也是产品,也能占据市场,至于对市场是否有消极影响就无所谓了。暂时做不出好产品的团队,一旦忍受不了,最便捷的方式就是把自己降低到同一个水准上。正所谓把敌人拉到和自己一个水平,用自己最熟悉的手段击倒对手。这或许才是整个行业都充斥着 996 工作制的真相。

Comments

根本原因在于国内知识产权意识淡薄,违法成本低、维权成本高。
所以,对于小组织来说,缺少生存土壤,社会也就没办法形成多元生态。而教育的同质化又加大了认知和产品的同质化,赛道拥挤不堪,恶性竞争在所难免。
社会更需要小而美的公司,而不是大而平庸。

你这样的老板也是挺恐怖,人家辛苦写的工具,被你半夜完全重写了。。让人家第二天如何面对父老乡亲

对于我一个大专应届生来说,目前躲在仿真VR/AR 教育类的公司里(双休 弹性工作),目前除了会U3D就剩下网站了,现在比较想去游戏公司,面试了几家都是996,强制性996,我不想牺牲掉生活,每天做重复的工作,有些996公司 薪资待遇还没目前的好,但又很想去做游戏,只能是先自己慢慢提升,要学的还有很多,当作爱好了,也许后面行业行情会好点,或许公司后面也会发展儿童教育类游戏,谁知道呢。

996通常是老板觉得你要996,正如你说的,老板觉得,你在公司的时间越长,能做的东西应该越多(资本主义剥削),但是从来不考虑给加班费这一个说法。变相的压榨劳动力,先不考虑程序员是不是合格的程序员,单纯从工作时长上,假如有加班费,我相信很多人也不会抱怨。反感996,通常就是因为付出和收入不成正比,虽然我天天都是陪加班,但是我也在浪费我的生命。

其实意思很清楚了,对于高效的程序员,996是一种侮辱,但对于平庸的程序员,必须上996。放眼当下,是高效的程序员多,还是平庸的程序员多呢?

感觉主要还是因为目前没有科学的方法来衡量工作量。
有的程序可以无脑一天敲上千行,有的一天可能才几十行。

希望能早日看到你的3D游戏引擎.-2019-05-18打卡

说法很对 不过我看这个是解决不了的
软件行业并不总是只有云风这样的 也有好多正如云风所抨击的那种的 老板也想雇佣云风这样能力的人 但是未必肯出那个钱 以及就算肯出那么多钱也没那么多供应量 所以最后只好得到一般人了

我觉得反对996那个抗议的思路就是正确的 你列出不996的公司 这个相当于一种相对的职位优势 前几年总是有创业公司哀叹人才都被大公司挖走了 因为他们高薪 现在机会来了 高薪也许你出不起 但是不搞996本身也是部分人才所看中的 只要坚持这个 加上云风说的那套工作方法 也许也能收获不少人才 这才是抗议的意义所在

当然更好的抗议是自己开个公司不搞996并且很成功

一针见血!
无论是前一类人还是后一类人,最核心的问题其实就是恶性竞争。职场竞争、企业竞争。也许是生存的压力让这两类人丧失了起码的良知。这也是当前这个社会的悲哀。

说得很好,对996和脑力体力劳动的想法,基本上跟您文章里说的一样。
同样,我也觉得提倡脑力劳动者996的老板太低估了打工者的人性,尤其现在消费水平高商业发达的地区。
那些老实低调不炫耀不邀功的程序员也低估了不是领导但转发赞同996的同事。

一个题外话,保持一天300行的效率,个人感觉挺难的。

我个人的感觉是:这类人主要由好奇心缺失的人构成。

我自己写代码时脑子里主要是想怎么办和为什么;出bug时回头分析常常发现这是碍于人类思维的特性——你在主要关心一个问题的档口,确实很容易忽视另外的方面,这种地方思维往往就按惯性走了。所以我知道也认为脑力活动就得尊从脑力活动的规律。累了、困了、饿了就是客观上会影响思维的效率与准确性的。所以,在我看来,996是双输的行为。

但我也确实认识一些人有点把脑力劳动当体力劳动干的意思,代码码出来能用就行,就更不用说内部组织合理性、整洁度等等问题了。这样的做法在代码规模变大后必然不可收拾。关键是,他们不认为这是有问题的。毕竟能用啊。你说容易出bug?哎呀,bug总会有的嘛,改就完事了。

结合我知道的一些其它事实,想想还是有可能的。
1,有些人真的精力充沛。健身、学习、工作排得满满当当,在其二十几岁时,还真有可能高效率996个几年。
2,规模上去后,一个合理的布局是核心、框架高质量的实现,周边雇毛头小伙子,配以一定的QA保障流程。
3,成功的企业,差且重要的部分,可以重做,也可以替代掉。不成功的企业挂了,挂于业务还是质量差,就不重要了。

那么对于这些xx成功大企业来说,有一大堆996执行者/推崇者,还真是可能的。

PS:学生时代是不是也有能答题能拿分数就够的说法。
PS:996归根结底是个政治权力问题,即便真能够提高生产力,劳动者去支持也是傻不溜秋的。

主要的还是太多的老板不再参与一线编码或就没参与一线编码,没有或忘记了初心

有一种程序员叫西西弗斯程序员,无论他们把石头推的多快,老板们总能通过反复横跳让时间永远不够用,当然老板们更喜欢称它快速迭代敏捷开发。

我觉得前一类人很多时候还是受到后一类人的压力吧。

我好几年前在岂凡工作,入职的时候 CTO 和 CEO 都说好的岂凡不存在加班。结果入职刚几天 HR 就发邮件说改成晚上九点下班。这个 CTO 没有股权也没有期权,属于第一类人。当时他很不好意思的跟我沟通加班问题,给我表示了歉意,说是团队都在加班,没办法所以只能让我陪着一起加班,但是我可以在六点到九点之间做些项目无关的事情。

当然实际上制度性的加班根本不可能有独处的时间,那段时间我在岂凡整天都在解决其他人的问题,坐在自己工位的时间都不多,“做些项目无关的事情”是绝不可能的。

后来我离职后就把岂凡给告了。不幸的是,劳动合同里有一句说是“工资已经包含了所有加班”。这种条款如果按现在的政策风向应该是无效的。但当时法院没判加班费给我,因为当时广东的法院可能更多考虑保护小企业,不大愿意太严格的执行劳动法。

Post a comment

非这个主题相关的留言请到:留言本