写点什么

996.ICU 背后:程序员在互联网公司的真实生态

  • 2019-04-08
  • 本文字数:4399 字

    阅读完需:约 14 分钟

996.ICU背后:程序员在互联网公司的真实生态

导读:最近 996 话题持续发酵,引起了社会上不同媒体的关注,包括“工人日报”。InfoQ 编辑也读到了一篇不一样的文章,它站在 IT 产业的视角试图去解析为什么企业会要求“996”工作制,解释“这种结构性压迫”的原因。如果亲爱的读者你们有不同意见,欢迎在文章后的留言区讨论!我们希望以此文带出大家的心声。

本文经授权转载自“川叶聊科技”。


从上周开始,一批在中国各家互联网公司工作的程序员在代码托管平台 GitHub 上建立了项目 996.ICU,向互联网公司的“996 工作制”(朝九晚九,每周六天)等侵犯劳动者权利的企业制度发起了抗议,获得了程序员群体的大量支持。


然而,996.ICU 这个项目的网站很快就被 360、QQ、UC 等国产浏览器以“非法信息”、“保障绿色上网”等理由屏蔽。



图片来自网友 @oiax


于是有人调侃:“中国程序员最大的困境就在于,昨天在 Github 上给反 996 项目加了星,今天就要加班给 360 浏览器、QQ 浏览器、UC 浏览器……更新屏蔽反 996 项目的网址。”


这句话只是一句玩笑,其实很不准确,现实恰恰相反,中国的程序员通常来说并不会直接负责这种工作,中国的大公司通常会把项目进行非常细致的拆解。


就拿这个功能来说,通常的实现方式是:应用的前端预留屏蔽的接口和界面功能,后端给出管理数据下发通道,再做一个供审核人员维护的数据管理后台。这样一来,没有哪个程序员具体地屏蔽了反 996 项目的网址,但几乎每个人又都参与了其中的一小部分。


如果你不是互联网行业的从业者,或者你即使在互联网行业工作,但对基层程序员的生存状态不太了解,那么你就是本文希望面向的读者。

“码农”和车间工人真的挺接近了

让我们从中国的大公司一般如何开发一个浏览器说起。中国程序员的处境如何?这件事情为什么能够迅速传播和有众多响应?了解了这个具体的案例之后,可能会有更直观的理解。


浏览器本身属于技术较为复杂、开发成本很高的软件,但国产浏览器却为数众多。一种复杂、高成本的东西却出现了同质化竞争,这是为什么呢?


这是因为国产浏览器基本都使用了名为 Chromium 的浏览器内核或类似的内核,在它的基础上进行二次开发,所需的开发成本极大下降。Chromium 是 Google 公司基于另外一些开源软件开发的浏览器内核,它本身也是开源软件。


这样做其实是十分正确的。近几十年来信息技术能够突飞猛进,并且越来越多的人成为信息产业的消费者和劳动者,就是因为开源软件成为了互联网的基础设施。由于互联网的基础技术几乎都是开源的,重复的“发明轮子”毫无必要。这使得开发者可以专注于两个方向:对基础技术的深入研究,或对技术应用的开发。


中国的信息技术产业,特别是过去十多年崛起的一些大型互联网公司,他们的重点主要还是在对技术应用的开发上。过去十多年来,中国互联网产业的发展所提供的机会,使得业界认识到:投入到应用中的收益,显然比基础研究的收益更大。


随着这些基础的开源技术开发工具的进步,中国的程序员的入行门槛也越来越低,这和市场对程序员的需求数量越来越多这一趋势又是匹配的。随着资本参与互联网的大战,“快”成为互联网行业的共识。其实由于开源生态的存在,技术开发如今本身已经快得不能再快了,但市场竞争是残酷的,没有最快只有更快。


这就产生了一个矛盾:产业迅速膨胀,从业人员的水分也越来越高,但市场对公司的效率要求也越来越高。在这种态势下,技术应用方面的研发,很容易落入劳动密集型的实质当中



难怪如今程序员往往自嘲为“码农”,意思是“写代码的农民工”。程序员褪去了“智力劳动者”的光环,似乎成为了和车间工人没太大区别的工种:无论是从工作的复杂程度来看,还是工作时长对工作的产出来看,都越来越接近了。


如果你自己尝试过学习一些网页开发基础,你也许会感叹自己和一个建筑工人、装修工人的工作状态有一些相似。

基层程序员的真实地位

当然,把程序员和传统的产业工人做类比其实并不完全正确,这主要是因为:脑力劳动,或者说智力和知识,在信息技术开发的工作中起的作用太大了。


前面讲到,以开源为基础的技术生态,造就了技术的自我迭代速度越来越快。信息技术本身是日新月异的,它是其使用者所创造,其使用者主导其发展方向,又驱使着使用者不断更新知识。


面对一个需求,可能有几十种现成的技术方案可供选择,具体应该选择哪一种,就需要技术方面的知识和判断力。为什么国产浏览器会纷纷选择 Chromium 作为其内核,而不是其它呢?这个决定不是哪个公司的哪个程序员自己做出的,必定是有各个公司的技术委员会决议,或者技术经理、架构师论证过的。


虽然大家都是用的同样的内核,但我们看到各家的浏览器有其特色功能。这就不是程序员自己的主意了,而是产品经理的要求。为了统筹公司里的市场、产品设计、技术研发团队用在某个具体项目上的资源,大公司往往还设立项目经理岗位,做项目管理工作。


由此我们看到了基层程序员所负责的工作在互联网公司的结构中所处的地位。



产品设计部门一旦把需求确定下来,技术研发部门继而把技术实现方案确定下来,剩下的工作,就是经过详细的拆解,交给基层程序员,按部就班,一行代码一行代码地做出来了。


各种经理忙着开会,跨部门开会,部门内开会,把需求确定下来,再落实到产品设计和开发需求上来。一个基层程序员,还可能面临着每天三番五次开会,或者需求变来变去,留给自己清净写代码的时间未必是自己能掌控的。

程序员不是一个单一的群体

讲到这里,想必大家能够理解:996 的问题所牵涉的,并不仅仅是劳动法的落实与否这样简单了。即使在程序员这个职业群体内部,面对这个问题,也可以看到几种明显的态度区别。


996 的问题是这样一种结构和现实造成的——互联网行业高速发展,行业薪酬水平已经很高,这个行业的从业者很少有转行的动力,因为转行往往意味着明显的薪酬损失。而想在这个行业待下去,就必须在这个结构中找到最符合自身利益的位置。这样一来,基层员工对劳动时间或者强度的抱怨,往往很难得到“工友”的实际行动支持:公司的竞争力有赖于比隔壁公司工作得更努力,而公司的竞争力是保持较高薪酬的前提。


这个逻辑让我想起当年记者调查富士康,工人为什么普遍超负荷加班。许多工人都表示,宁愿自愿多加班赚钱,怕的是不让加班、无班可加。


但和富士康工人不同的是,程序员群体中的确有相当多的人给反 996 项目加了星(截至本文写作时已经有 15 万人以上)。说明程序员中有相当一部分人是明确反对加班的。


给对这件事情的主流态度分个类:


  • 反对 996;

  • 虽然反对 996 但不认同采用强制措施;

  • 支持合法 996;

  • 支持完全的市场决定劳动制度。


我的个人观察是:越是基层的程序员越是反对,越是高级的技术经理人越是倾向于支持,起码不完全反对。甚至还有程序员直接表示:反 996 就是一场闹剧。


所以,并不能把“程序员”看作是一种真正存在的群体标签。程序员只是代表一个工种,这个工种内部的阶层区别相当丰富。因此,不同的程序员基于自身利益的出发点,有不同的政治主张。

代际差异与时代变迁

十多年前,第一批进入互联网行业的劳动者都是年轻人。如今他们中的一小部分成为行业精英,另一部分面临着老龄化的问题。但如今新入行的 95 后,和当初的 85 后面对的社会基本面,以及他们的生活态度,都有很大的不同。


我们似乎总是可以看到一些企业管理者抱怨现在的年轻人不好管了,频繁跳槽之类的。而已经全部进入 30 岁的 80 后们,虽然比 95 后看起来似乎更能吃苦一点,但作为独生子女一代身上的负担之重,也是企业所不能避免的。


互联网行业在中国疾风骤雨的时代已经到了尾声,行业增长趋于平缓。在暴涨时期,企业之间白热化竞争、同质化竞争却惯性依旧。从业者对自身收益增长预期的放缓,在心理上还无法完全接受。


所以反 996 事件在这样一种历史背景下,可以说是一种必然。过去十几年,明里暗里的 996 公司其实很多,别说 996 了,“007”的情况也不是没有。可是为什么现在才有互联网行业的反 996 运动呢?说到底,还是劳动者的付出和收益已经不成比例,或者说对未来的期许已经大不如前。



在一个理想的世界里,程序员们对新技术痴迷、利用业余时间研究创造,推动了技术的发展,所以把更多的业余时间留给程序员,更有利于产业的发展;在现实中,绝大多数程序员上班如“搬砖”,是一份养家糊口的职业。企业为了最大化人力产出,使用 996 作为一种管理手段,既压缩了人力成本,又满足了单个员工对自身薪酬的要求——但就无法满足员工对健康和生活的要求了。


在一个市场决定论者的眼里,反对或是支持 996 都是一个伪命题。因为如果 996 制度既不能满足市场需求,又不能满足劳动者的利益诉求,那公司也就不能从中获利,自然就会消失。但在一个社会责任论者眼里,社会的结构性压迫是单纯依靠市场无法消除的,必须有法治的正义作为保障,因此《劳动法》作为兜底是必需的。

代码、传播和声音

但是,对于绝大部分程序员来说,社会历史背景、公司管理、市场经济的理论,都不是他们熟悉的东西,他们的教育经历中缺少这方面的知识。


于是我们看到,他们在抗议的时候借助的是另一种他们熟悉的东西——像 GPL、MIT License 之类“开源软件许可协议”。


开源许可证是授权开发者使用软件源代码的一种合同,你必须同意条款,才能使用它。于是,有人建议和起草了反 996 工作制的“开源许可证”,希望能以此影响业界对 996 的态度。


围绕该不该用“开源许可证”反对 996,程序员基于政治立场的不同,当然也有不同的声音。但程序员对开源软件的生态其实都比较熟悉,大多数人并不会幻想这种许可证真的可以让 996 成为历史。


试图把反对 996 的这种声音,植入到开源软件的生态中,不得不说这是非常有意思的想法。因为开源软件本身就是一种传播媒介,一个开源项目会衍生出更多的开源项目,就像生物演化一样,形成丰富的分支。而许可证作为其唯一稳定继承的信息,会因这个项目自身的价值而被放大传播。


于是,代码和开源软件生态,成为一种表达意见的信息载体



其实这并不新鲜,开源软件的许可协议诞生之初,很大一部分原因就是开源软件的最初倡导者们为了表达开源、自由软件的主张而设计的。


历史有其自身的结构和循环。在理想主义的背景下,开源软件运动创造的生态使得中国的开发者可以迅速开发软件应用,形成大公司之间的白热化竞争、狼性文化,进而产生了 996 的问题。


而如今,一些中国的程序员希望通过开源软件内置反 996 条款的许可证,来传播反对 996 的声音,对抗一种结构性的压迫。


另一些程序员,他们有的成为公司中高层,权衡着 996 的利弊,掌控着对千万名程序员的业余时间的控制权;有的自己创业或成为独立开发者,24 小时心里都是工作,但具体时间自己灵活掌握;有的远渡重洋,去一个没有 996 的地方继续搬砖,成为当地的高收入者。


有能力的人是有选择的,自然可以自扫门前雪。但一个文明的社会,需要给所有人发出声音的渠道,更不能抹煞一个群体发出声音所做出的尝试。我想,与争论 996 是不是合理的相比,倾听他人、理解他人,整个社会的信息和声音的传播渠道的畅通无阻,才是更重要的。


2019-04-08 14:5410010

评论

发布
暂无评论
发现更多内容

Python 中文编码

依旧廖凯

Python 28天写作 3月日更

36 Kr | 打造企业统一数据安全入口,「图尔兹」想用新思路解决数据安全问题

BinTools图尔兹

数据库 sql 数据安全 权限 数据库管理工具

2021网络系统流行架构

杨东冬

架构 网关 ebpf cilium envoy

力扣(LeetCode)刷题,简单题(第19期)

不脱发的程序猿

程序员 LeetCode 28天写作 算法面经 3月日更

职场里,对数据库要有敬畏之心!

Simon

MySQL 数据库

2021最新分享:阿里内部总监手码的“Redis学习手册”风靡全网

比伯

Java 编程 程序员 架构 面试

突破关系型数据库桎梏:云原生数据库中间件核心剖析

京东科技开发者

数据库 nosql 分布式系统

Python 语言基础变量的类型转换

HoneyMoose

实习记录-埋点测试

YUKI0506

如何招聘一名产品经理

马踏飞机747

互联网 产品经理 招聘 职场成长

Java程序员福利!2021年最新17套完整版一线大厂面试真题

Java架构追梦

Java 架构 面试 金三银四

智能炒币机器人软件开发|智能炒币机器人APP系统开发

系统开发

mongodb 源码实现系列 - Mongodb write写(增、删、改)模块设计与实现

杨亚洲(专注MongoDB及高性能中间件)

MySQL 数据库 mongodb 架构 分布式数据库mongodb

JAVA已经呈饱和趋势了吗?

cdhqyj

Java 程序员 工作 IT

LDAP身份认证管理最佳实践

龙归科技

服务器 ldap 客户端

《我想进大厂》之分布式锁夺命连环9问 | 大理版人在囧途

艾小仙

Java redis zookeeper 分布式锁

Python 语言基础变量获得变量类型

HoneyMoose

数据库定时备份linux篇

xiezhr

数据库 Linux Shell 数据备份 3月日更

亿级用户中心的设计与实践

vivo互联网技术

大数据 架构设计 数据安全

Python 语言基础变量定义和使用

HoneyMoose

区块链电子合同应用落地--区块链电子合同签约

13530558032

纯干货 | 详解 HDFS 3.x 新特性-纠删码

五分钟学大数据

大数据 hdfs 28天写作 3月日更

不吹不黑聊中台

Geek_dn82ci

云计算 中台 企业架构

关于MPI-IO,你该知道的

焱融科技

存储 HPC 焱融科技 文件存储 分布式存储

【LeetCode】分割回文串 II Java题解

Albert

算法 LeetCode 28天写作

高考大数据:全国31省高考难度,哪个才是地狱模式?

不脱发的程序猿

大数据 数据分析 28天写作 高考难度 3月日更

平安智慧社区建设方案,平安小区的系统功能

13530558032

币管家量化交易软件开发|币管家量化交易APP系统开发

系统开发

阿里P8大牛亲自讲解!难道Android真的凉了?3面直接拿到offer

欢喜学安卓

android 程序员 面试 移动开发

了解MySQL6种约束的不同和特点

华为云开发者联盟

MySQL 数据 约束 主键约束 自增长约束

LoadRunner测试中遇见的不可思议的问题及其解决方法

陈磊@Criss

七日更 28天写作 3月日更

996.ICU背后:程序员在互联网公司的真实生态_开源_川叶_InfoQ精选文章