转载自:www.v2ex.com/t/927862

原名:《接连加班一个多月后,反思一下为啥国内程序员加班这么多》
作者:程序员耳东

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

重视程序员耳东,编程转码真轻松

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

本年过完年之后一直在加班,重视我的粉丝应该也能看出来,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 不会说专门给这部分作业量去给你添加时刻,只能自己挤时刻了,这无形中又添加了加班

总结

我总结的这几个原因是我结合自身加班状况剖析而来,或许国外的程序员也存在相同的问题,也或许有的人观点不一样,欢迎沟通。