连续加班一个多月后,反思一下为啥国内程序员加班这么多

2023-03-28 15:04:26 +08:00
 zzzzzzggggggg

连续加班一个多月后,反思一下为啥国内程序员加班这么多

关注程序员耳东,编程转码真轻松

防杠指南:本文不适用于资深大佬,若喷必回

今年过完年之后一直在加班,关注我的粉丝应该也能看出来,2 月份和 3 月份写的笔记确实比较少,最近才开始恢复

加班完毕是得好好思考一下,毕竟咱这班也不能白加了对吧,我得好好想一想到底是为什么会导致我加班,我细数了一下平时导致我加班几个主要原因,大家看看有没有共鸣

业务需求倒排期,改的随意

互联网公司的业务迭代是非常快的,尤其是电商、营销相关的业务,基本上随时都在出需求,需求顺排倒还好,无非就是给了排期之后顺着做就行了

但是有一个非常蛋疼的点,如果这个需求业务方要的非常急,比如说 15 号出的需求 PRD ,月底就得上线,必须得倒排,那么就是说上线的时间定了,测试的时间占用一段,联调的时间再占用一段,留给开发的时间真的不多了

时间不够怎么办?要么加人要么加班,加人还有个问题,有的功能并不是很好拆分,而且人多了管理成本也在增加,1+1 并不是一定能等于 2 ,所以到最后就只能全员加班来肝需求

关于业务需求,还有一个可能导致加班的点是改的随意。

之前我在字节跳动打工的时候,每次需求评审会一堆年轻的 PM ,跟唱戏似的,你方唱罢我方上,哭爹喊娘的说自己的需求是多么多么的重要,常用的话术是:我这个需求是 xx 级别的老板看重的、我这个需求可以为公司创造 xx 的收入等等

一个个的 PRD 写的怎么样不重要,最重要的是抢占研发资源,最好可以把程序员固定在自己手里

等到需求开始做了,发现其实 PRD 里面有很多东西没想明白,这个时候就开始改 PRD ,改了 PRD 但是研发排期却不变,那这咋办呢?程序员加班呗

所以国内经常流行一个调侃的对联:

上联是:这个需求很简单

下联是:怎么实现我不管

横批是:明天上线

虽然这个对联是调侃的,但也暗示了很多公司在研发流程的不规范、管理混乱,这也是大部分程序员加班的重要原因

会议太多,占用时间

会议太多这个事情可能是大公司的通病,有时候屁大点事情就拉个会议,我细数了一下我一个月参加的会议:

  1. 需求评审会
  2. 技术方案评审会
  3. 需求复盘会
  4. 细节对齐会
  5. xx 项目启动会议
  6. xx 横向项目
  7. 技术分享会
  8. 周会
  9. 测试用例评审
  10. OKR 会议
  11. CodeReview 会议
  12. 等等......

其实这里面的会议真的太多了,有的团队还有早晨的站会等等,进一步压缩了写代码的时间

那能不能提升效率呢?我觉得可以

就说这个需求评审会吧,如果说每个人会前都能仔细的过一遍 PRD ,记录好疑点,那评审会完全可以开成答疑会,解答完疑问就差不多了,这样子可以节约很多时间,不至于一个需求评审会就开一两个小时

还有技术分享会,很多 leader 为了提升团队的技术氛围会要求组员进行技术分享,但是有的时候,分享的东西别人不一定感兴趣,深度把握的不好的话组员也会只把它当做任务去完成,这就是纯粹的浪费时间了

总之会议这部分,我觉得是一个存在很大提效空间的地方,一个事情是否需要拉会、是否要拉那么多人,是值得思考的

技术需求,各种丐版轮子

关于技术需求这个问题,我不知道是不是国内程序员的特色哈,就是纯做 PM 提的业务需求是很难得到好绩效和晋升的,因为这些事情是你工作职责范围内的事情,你很难说清楚这些事情带来的收益是 PM 的功劳还是研发的功劳

要想得到好绩效、超出预期,那就必须得做一些纯技术的事情,也就是所谓的“技术需求”,而且必须自己挤时间做,不会为这部分工作量专门划时间

常见的技术需求,比如说这两年特别流行的 LowCode 平台,据我所知很多大公司都在搞这种,并且是投入了很多研发的精力在里面的,美其名曰 LowCode 平台可以提高效率,所以在很多需求开发中强行推,要求研发必须使用 LowCode 平台来完成研发,但是在使用的过程中并没有提升效率,反而让研发增加了很多兼容成本和额外的工作量,不管能不能提供效率,先卷了再说

甚至有时候,多个团队之间在卷同样的技术轮子,一个大公司内部至少有 3 个 LowCode 平台、5 个组件库、3 个部署平台、4 个项目管理平台等等,大家都在加班卷技术项目,卷自己团队的存在感和好绩效

到最后,这个技术项目会出现在晋升答辩的 PPT 和汇报材料上,包装后的数字和成果都很亮眼,技术项目的发起者拿到了好绩效、晋升成功,等到晋升成功之后,这个技术项目的使命也就完成了,从此刻开始它就走上了烂尾的道路,历史项目也就留下了一堆烂摊子代码

老老实实做业务需求的人得不到晋升,做各种丐版技术轮子并且强推的人最后得到了晋升,这个问题在国内大公司非常普遍,这也是造成很多研发被卷着加班的重要原因

杂七杂八的事情,耗费精力

程序员还有一些杂事儿,也是相当的耗费精力了,我举几个例子

首先说线上 oncall ,这个事情其实也算是研发的正常工作范围内的事情了,但是如果一天出一个比较麻烦的线上 bug ,那今天肯定其他的事情就没空做了,或者只能加班去做

更不用说,如果所在的部门是基础架构部门的话,要处理技术之外的一些使用答疑事项,这部分事情毫无技术含量,和客服无异

还有就是非常强调技术要去深入业务,好嘛没问题,但是深入业务也是需要耗费时间的,这就意味着你除了读 PRD 以外还得去看 MRD ,可能你需要去和业务部门、市场部门的同事开会旁听 ta 门关心的事情,除过技术相关的东西以外还需要去关注业务指标

这又给自己增加了工作量,leader 不会说专门给这部分工作量去给你增加时间,只能自己挤时间了,这无形中又增加了加班

总结

我总结的这几个原因是我结合自身加班情况分析而来,可能国外的程序员也存在同样的问题,也可能有的人看法不一样,欢迎交流

19341 次点击
所在节点    程序员
159 条回复
zzzzzzggggggg
2023-03-28 16:24:06 +08:00
@fkdog 你说个深点的,我洗耳恭听
Janji
2023-03-28 16:24:40 +08:00
因为我国的《劳动法》名存实亡
CEBBCAT
2023-03-28 16:24:43 +08:00
@Leonard #13 偏激了。公司有工会,彻底执行劳动法就能解决这些问题吗?反之,没有工会,劳动法执行不彻底的公司,就一定有这些问题吗?
zzzzzzggggggg
2023-03-28 16:24:44 +08:00
@GP1 扎克伯格那个我确实也看了,裁员的有理有据
zzzzzzggggggg
2023-03-28 16:25:08 +08:00
@zpo 不只是字节,破会太多了
zzzzzzggggggg
2023-03-28 16:26:32 +08:00
@Nazz 同病相怜
xuanbg
2023-03-28 16:27:59 +08:00
任何产品,都有特点的时间窗口。所以很多时候,能不能出得来就是生死攸关的事情。但产品不能总是急冲冲的开发新功能,也需要沉淀。不沉淀,也是个死。
wangtian2020
2023-03-28 16:33:43 +08:00
我觉得还是要团队有宽松的氛围和有可行性的计划,不然开发计划量化到小时数后,领导急急急,底层员工就使劲加班了。团队中要有非常抵触加班的人在,比如我。我不怎么加班另外一点原因就是求仁得仁,上一家面试的 996 公司我过去待了 3 天就离职了。我现在在的公司我前端基本不加班,代码不奔着质量最高的去,而是写下班最快的代码。同事 java 后端使劲加班就不关我事了,是他们菜,我上班稍微糊点页面下班到点就跑。
nothingistrue
2023-03-28 16:46:28 +08:00
虽然说得这么多,也是国情下不可解决的东西,但这还是标不是本。本上还是没有有效的制衡措施。当你解决了本,比如说工会真是工会的时候,这些问题老板和客户会上赶着自己去解决,因为工人没必要替他们解决。

有一个片面的东西需要纠正,国内加班多的,不止是程序员,是全行业。程序员跟其他行业的区别不大,大概就是在过度劳动的时候,脑力劳动者比体力劳动者的损耗更大(当然相对收益也大)。
dustin2016
2023-03-28 16:52:12 +08:00
PPT 工程师,日常摸鱼,日常甩锅
为了不让你思考,不让你远行,为了压榨收获利益止不住的贪心

但凡你有时间写笔记,好好思考,赚钱的路多了去
snowlyg
2023-03-28 16:56:12 +08:00
都是为了生存而已
rannnn
2023-03-28 16:59:51 +08:00
流程太多了,这么多评审会有什么意义吗,不能直接 comment ? code review 为什么要开会?不能直接 comment ?测试用例为什么要开会?所有东西都要写一遍再开一遍会能不慢吗。
rannnn
2023-03-28 17:01:09 +08:00
到处都是 low code 话说我进中国公司之前都不知道什么叫 low code
DeltaSix
2023-03-28 17:06:26 +08:00
压迫成立的前提是被压迫者服从
大部分人遇到被逼的情况,就一般说一句“怎么办呢”“这就是生活”“公司要求没办法”就过去了
但你也可以选择“PM 想赶紧上线捞钱关我屁事”“老板想怎么样跟我有什么关系”“公司有好事了想过我吗”
形成了规模之后就会瓦解
tisswb
2023-03-28 17:08:15 +08:00
有个前提:干活最快最好的人,得到的往往是更多的活。
baseline
2023-03-28 17:09:27 +08:00
尼玛,我们组一新人跑到公司领导那说:他们公司以前都加班到 10 点多,我们这边到点都没人了,搞得他都不好意思加班,真服了这个老 6.
tisswb
2023-03-28 17:10:20 +08:00
有个前提:干活最快最好的人,得到的往往是更多的活。
有了这个前提的话,加班摸鱼-->不会分到更多的活,不加班-->要么技术不达标被裁,要么就会得到更多的活。
Richardhtw
2023-03-28 17:18:42 +08:00
到点就 run ,带头开 run 。抵制卷狗,人人有责。
404www
2023-03-28 17:19:04 +08:00
所以`关注程序员耳东,编程转码真轻松 `这个是什么意思
c3de3f21
2023-03-28 17:20:24 +08:00
Test: 我怎么不用加班?

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/927862

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX