写点什么

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:549982

评论

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

云原生2.0构建数字化

科技云未来

redis持久化持久化的方案与各自存在的问题

想要飞的猪

Tomcat 的安装与环境配置

楠羽

开源 #开源

天翼云通过2022可信云安全首批云工作负载保护平台评估

Geek_2d6073

正式线上环境下微服务平台落地实践

HelloGeek

微服务 微服务架构 Spring Cloud Service Mesh 服务网格 mesh

灵魂拷问:你精神内耗了吗?由TA来治愈吧

脑极体

网站建设流程

源字节1号

网站开发

FlyFish|前端数据可视化开发避坑指南(二)

云智慧AIOps社区

JavaScript 大前端 低代码 数据可视化 大屏可视化

程序员过中秋

楠羽

中秋节

[教你做小游戏] 用86行代码写一个联机五子棋WebSocket后端

HullQin

CSS JavaScript html 前端 8月月更

华为云数字化

科技云未来

陈大好:持续创造小而美的产品丨独立开发者 x 开放麦

声网

人工智能

首发!这份阿里架构大神编写的K8S+SpringCloud笔记,真是大厂入场券

了不起的程序猿

Java k8s JAVA开发 java程序员

开放下载 | 飞天技术峰会-云原生加速应用构建分论坛资料开放下载

阿里巴巴中间件

阿里云 阿里云云原生

秒云获得阿里云首批产品生态集成认证,携手阿里云共建云原生智能运维生态服务

阿里巴巴中间件

阿里云 云原生 云原生加速器

融云,把企业文化放在“场景”里

融云 RongCloud

企业文化

企业应用现代化实用教程 | ​IT架构师必读的DevOps落地行动指南

York

DevOps 云原生 数字化转型 一体化架构 应用现代化

监控告警怎么搭建比较合理?B站SRE实践总结了4大关键步骤

TakinTalks稳定性社区

高可用 稳定性 SRE 监控告警 大厂实践

21个赛区,7大赛题,鲲鹏应用创新大赛2022区域赛期待与你相遇

科技热闻

K8s小白?应用部署太难?看这篇就够了!

北京好雨科技有限公司

Kubernetes 云原生

迁移 Nacos 和 ZooKeeper,有了新工具

阿里巴巴中间件

zookeeper 阿里云 云原生 nacos 迁移

中国掀起数字化浪潮的4个显著变化

优秀

数字化转型 数字化

IPv6过渡技术的推进策略

穿过生命散发芬芳

ipv6 8月月更

Monorepo 能给前端工程带来什么

领创集团Advance Intelligence Group

前端工程师 Monorepo

科普达人丨一图看懂块存储&云盘

阿里云弹性计算

阿里云 云盘 块存储

火力全开!鲲鹏应用创新大赛2022区域赛即将陆续开赛

科技热闻

华为云助力论坛服务

科技云未来

C++文件读写操作分析文本文件与二进制文件

CtrlX

c c++ 面向对象 8月月更 opp

leetcode 697. Degree of an Array 数组的度(简单)

okokabcd

LeetCode 数据结构与算法

直播预告(本周六)|关于数据可观测性的精彩讨论

观测云

Java: 为Word文档添加水印

Geek_249eec

Java word 水印 watermark

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