⭐⭐⭐ Spring Boot 项目实战 ⭐⭐⭐ Spring Cloud 项目实战
《Dubbo 实现原理与源码解析 —— 精品合集》 《Netty 实现原理与源码解析 —— 精品合集》
《Spring 实现原理与源码解析 —— 精品合集》 《MyBatis 实现原理与源码解析 —— 精品合集》
《Spring MVC 实现原理与源码解析 —— 精品合集》 《数据库实体设计合集》
《Spring Boot 实现原理与源码解析 —— 精品合集》 《Java 面试题 + Java 学习指南》

摘要: 原创出处 三分恶 「老三」欢迎转载,保留摘要,谢谢!


🙂🙂🙂关注微信公众号:【芋道源码】有福利:

  1. RocketMQ / MyCAT / Sharding-JDBC 所有源码分析文章列表
  2. RocketMQ / MyCAT / Sharding-JDBC 中文注释源码 GitHub 地址
  3. 您对于源码的疑问每条留言都将得到认真回复。甚至不知道如何读源码也可以请教噢。
  4. 新的源码解析文章实时收到通知。每周更新一篇左右。
  5. 认真的源码交流微信群。

最近加班很多,我就在想,为什么在所谓的互联网大厂,要加那么多班呢?

遥远的1995年,被认为是互联网元年,2024年,弹指一瞬30年,“三十年河东,三十年河西”,没有任何一个行业能够长盛不衰,互联网在经历了十年繁荣后,已经不可避免地进入了衰退期,增长点难以寻觅,裁员新闻屡见不鲜,新人入行日益困难,但是留在“网”中的人似乎一直沿着某种惯性,在一条固定的繁忙的轨道上继续前进。

为什么互联网大厂要加那么多班?这期,我们就来分析一些加班多的原因。

业务竞争与绩效考核的压力

在增量时代,很多市场是一片蓝海,那时候为了快速抢占市场,需要加班,到了存量时代,竞争不减反增,每一个赛道几乎都要拼的刺刀见红。就像字节和美团,两家公司的老板既是老乡,又是曾经是同事,但如今商业上也不可避免地竞争,字节要做本地生活,美团要做短视频。

同时,几乎每家互联网公司都实施了严格的绩效考核机制和淘汰机制,比如知名的阿里巴巴“361”绩效考核——30%优秀、60%合格、10%不合格,这就意味着几乎每年都有不合格的人员被淘汰,而绩效考核一般都是半年或者一年为周期,那么就要求我们要在半年或者一年的时间达成KPI目标,这个周期就像是一段赛跑,这一程跑完,环顾左右,终于过关,松了口气,但是往前一看,“新的风暴已经出现,怎么能够停滞不前”。

压力传递下的需求倒排

业务竞争的压力,最先感知到的是一线的业务团队或者运营团队,这些团队可能从前往后,或者从上往下地定下一些激进的业务目标,为了达到这个目标,压力就像多米诺骨牌一样,一层层传递下去,最终落在了了服务于业务的研发团队。

这样一来,业务需求一般都是倒排模式,只要是倒排需求,就意味着可能要加班了。当然,如果事前预留了足够的缓冲,且没有意外的情况下,可能按照正常节奏的就足以完成任务,但是,如果某一环节出现延期,那么就只能加班加点干了。

有时候,出于各种原因,很多业务需求的紧急程度和重要性会被有意无意地放大——

  • “这个需求必须在xx上线,不然……”
  • “这个功能特别重要,关乎到公司的……”

在这种情况下,研发的周期就被进一步压缩,如果中间再产生一些需求的变动,那就更加棘手。更糟糕的情况是,如果因为时间紧迫而导致线上出现问题,那简直是绝杀。

我觉得很多业务需求,价值和紧急程度最好要充分评估和复盘,不然很可能会造成资源的浪费,我自己经历过紧急需求,加班加点地干完,最后通知不用做了,这绝对让人恼火。

协作挑战与沟通成本

在互联网辉煌的二十年里,除了缔造了无数津津乐道的商业传奇,其背后也留下了错综复杂的业务体系和交织的生产关系。即使很小的功能改动,可能也涉及多个团队,整个流程链条上可能涉及众多业务部分。这种情况下,协作不可避免地伴随着一定的成本,而且必然导致效率的降低。

一个看似简单的需求,比如某处添加一个字段,可能需要调动上下游多达七八个不同的系统,牵涉好几个团队。而每个团队都有各自的目标和时间,要将这些团队有效地协调起来,不仅需要耗费大量的时间和精力,还面临巨大的成本。这种复杂度不仅增加了项目的不确定性,也可能导致效率的降低和资源的浪费。

历史负债的影响

我们常常说的一个词是“技术债”,而论技术债,没有比大厂更多的了,特别是那些已经存续了若干年的业务。这些业务的表面被包装起来,看起来光鲜亮丽,但是在美丽的皮囊之下,可能隐藏着老迈的内核。

每一行代码可能都隐藏着一个不为人知的故事,糟糕的是,可能已经难以从历史文档或者提交记录中侦知原貌,至于前人,可能已经换了好几茬。后人攀行在庞大的屎山上,艰难地维护着老系统,如履薄冰地开发着新功能,并且在屎山上继续堆砌新的块状物。

也许有一天,公司下定决心,要治理这座屎山,他们招来了一个新的架构师,用上种种高大上的架构手段,终于把这座山搬走,结果不久后发现,他堆的赫然是一座新的。

人员流动的影响

互联网的人员流动性很高,不管是寻觅机会的主动离职,还是降本增效下的被动离开,熟悉业务的人离开,必然会对原本的业务造成影响。

画板

新加入的成员,或者接前任工作的同事,都需要时间来熟悉业务,而且在复杂多变的业务背景下,这个过程常常伴随着陡峭的学习曲线,毫无疑问短期内的工作效率会下降。然而在快速迭代的业务中,项目的时间通常又非常紧凑,为了保证按时交付,新人就不得不通过加班来弥补这段时间的落地。

那么熟悉某块业务,终于游刃有余之后呢?变化来了,公司内部调整,个人可能会被投入到新的方向或者新的项目,新的学习适应期又来了。

人员流动,不止会影响直接的业务,也会影响关联的业务,熟悉业务的老人离开了,新接手的人员对上下游的支持效率也必然会降低,那么项目的风险和不确定性会增高,效率会降低,加班的可能性也就越大。

时间管理和并发

在互联网公司,常常有排期之外的事情,比如会议、值班、咨询、问题处理……,甚至有时候,可能整个白天都在会议里度过,那干活怎么办呢?只能到晚上,如果有人晚上还不放过,继续拉着开会,那就只能“脸上笑嘻嘻,心里MMP”。

画板

在多个任务并发之下,如果时间管理没有做好,为了保证进度,那就不得不加班来弥补失去的时间。

精力管理的挑战

我最近发现,好像很多时候,不管是某个公司组织还是组织里的个人,似乎会忽视精力对于工作的影响,大家潜意识好像认为,人的精力是无限的。实际上,每个人的精力更像是一个容量有限的水池,一旦这个“水池”被耗尽,个人的状态一定会受到明显的影响,包括工作能力下降、情绪变差、判断决策能力减弱等等——很多问题和事故常常出现在熬夜之后。

以我自己为例,假如在某个幽深的夜里,因为工作的原因,或者自己太嗨而熬了个大夜,那么第二天,可能会发现我努力睁大无神的双眼,同事熟悉的语言变得陌生,努力让我空洞的大脑焕发一点生机,这种情况下,完成任务、处理问题都比平时更加困难,可能会导致项目的延期,进而继续加班,进入一种恶性的循环。

个人追求与生活压力

卷,或者说努力,有被动的,当然也有主动的,有些人是有职业追求的,会主动去加班,做职责或者能力边界之外的事情,来提升自己的能力,追求职业的突破。我挺羡慕这些人的,他们是天生适合互联网,有着一种成功的特质,在我还在内耗焦虑的时候,他们已经跑出去了很远。

“生活不易,码农卖力”,有一部分人也是为了生活,我之前有个同事,因为房贷的压力,不得不从一个比较安逸的地方,跳槽到比较卷的环境。所以有可能,低物欲的生活,能减轻一些不得不卷的压力。

我前一阵子看了一本书,叫《稀缺》,讲的是在生存的压力之下,穷人会比富人显得更缺少智慧,这是因为每个人的心理带宽都是有限的,同样,对于我们,被工作的流量打进来的过多,自然给生活的就少了。

企业的目标是追求利润最大化,在投入成本时,自然追求更高的回报。随着互联网进入衰退期,边际收益逐渐递减,已经成为一种不可逆转的时代趋势。这种背景下,有时候我在想,有得卷说明这个岗位还有价值可挖,如果没得卷,说明能创造的价值不多,可能离被淘汰不远。

如果有一天,整个互联网的环境都不卷了,那么一定是整个行业已经基本进入一个稳定的阶段,互联网行业会和一些传统行业一样,进入稳定停滞的态势。但是肯定会有一些人,像水一样,被攥了出去,可能是你,也可能是我。回望过去,我们大可高屋建瓴,展望未来,我们却只能随波逐流。

这篇文章不算完整,只讨论了“Why”,但是没写太多的“How”,我觉得个人可以做的不是很多,大概主要就是这三个管理吧:项目管理、时间管理、精力管理。

最后,你们觉得为什么会加班呢?针对加班有没有什么解决办法呢?欢迎把想法留在评论区。

文章目录
  1. 1. 业务竞争与绩效考核的压力
  2. 2. 压力传递下的需求倒排
  3. 3. 协作挑战与沟通成本
  4. 4. 历史负债的影响
  5. 5. 人员流动的影响
  6. 6. 时间管理和并发
  7. 7. 精力管理的挑战
  8. 8. 个人追求与生活压力