《加班内卷的IT行业,我选择躺平》
引言:为什么我会写下这篇“躺平”日记?

在过去的几年里,我亲历过多个项目的高压推进、连续数周的996模式,也见证过同行朋友们因工作强度过大而身体崩溃。我们总说“技术改变世界”,但当自己被现实压得喘不过气时,真的还有心情去憧憬那句宏大的愿景吗?
作为一位从业八年的后端工程师、架构师,我也曾是那个“别人家的孩子”,热爱编程,享受解决问题带来的成就感。可当我站在某个凌晨一点的办公室角落,泡着第三杯咖啡,盯着满屏报错日志的时候,我突然问了自己一句:“我到底在追求什么?”
这篇文章不谈“逆袭”,也不鼓吹“奋斗即正义”,我想分享的是,如何在这个普遍内卷、动辄加班到深夜的IT行业中,找到属于自己的平衡与节奏。
背景故事:一次让我重新思考“工作价值”的项目经历

去年年底,我加入了一家快速增长中的互联网公司,负责一个核心业务系统的重构工作。这个系统承载了公司超过70%的交易流量,但代码库已经长达五年未有大修,技术债堆积如山,性能瓶颈频发,故障率节节攀升。
项目目标很明确:
- 架构升级,从单体转向微服务;
- 引入弹性扩容和高可用机制;
- 保证现有业务零中断迁移;
- 同时上线两个新模块,支撑即将到来的年中大促。
听起来非常常规对吧?但真正开始执行时才发现,问题远比预期复杂得多。
团队15个人,每天早上9点开会,晚上10点还在改代码。为了赶进度,我们甚至在部署前一天还在讨论接口兼容性的问题。更夸张的是,有两周时间,我们几乎全员通宵上线。
这期间,我和前端组配合频繁出现协作断层;运维同学天天熬夜做灰度发布测试;最严重的是一次数据库结构修改导致线上数据丢失,修复花了一整天时间……
那次上线之后,我在医院住了两天——因为过度疲劳引发的心悸。
那一刻我才意识到:不是我不努力,而是我们正在用“加班”代替“效率”。
抉择时刻:我决定“躺平”,但不是放弃
这里的“躺平”并不是摆烂,也不是消极怠工,而是:
学会拒绝无效加班、学会管理预期、学会用技术和流程来提升团队整体效率,而不是靠堆人力和透支健康完成任务。
改变的第一步:重新定义“交付能力”
我主动申请调离原项目,加入了一个新的产品线。这一次,我向领导提出了几个要求:
- 不接受无计划的临时需求;
- 所有开发排期必须提前两周确定;
- 每周四下午是“强制休息/学习时间”,任何人不得打扰;
- 推行Code Review机制,质量优先,不盲目追求速度;
- 建立自动化部署+监控告警体系,减少人为操作风险。
这些看起来有些“反传统”,但在我的坚持下逐步落地了。慢慢地,我发现整个团队的工作方式变了。
实战案例:一次轻量级微服务改造实践
我们接手的新项目是一个用户行为分析系统,初期只是一个简单的埋点上报加数据分析服务,预计三个月内要支撑百万级PV。
考虑到未来可能扩展为用户画像平台、A/B测试系统等,我决定采用轻量级微服务架构,避免后期重复重构。
技术选型考量
| 组件 | 技术选型理由 |
|---|---|
| 语言 | Golang:性能好、并发处理能力强,且适合构建高性能的中间件 |
| 注册中心 | Etcd:相比Zookeeper更轻量,更适合中小规模场景 |
| 配置中心 | Nacos本地缓存+Consul远程拉取组合使用 |
| 服务发现 | 使用Go-kit内置的服务发现组件结合Etcd实现 |
| 日志采集 | Filebeat + ELK,降低部署门槛和维护成本 |
| 监控报警 | Prometheus + Grafana + AlertManager,开箱即用 |
关键挑战:如何让小团队也能高效协同?
我们在项目初期就明确了分工边界和API标准,每个模块独立开发,通过proto文件统一接口规范,并引入gRPC作为通信协议。
为了提高联调效率,我们搭建了Mock Server和CI/CD流水线,确保每次提交都能触发集成测试和自动部署到测试环境。
还有一个细节特别重要:我把核心的配置抽取为YAML文件,并写了一个config-server模块,方便后续动态更新。
实施后的变化:效率提升+情绪稳定+人还活着
三个月后,系统如期上线,顺利支撑了双十一大促活动。关键指标如下:
- 平均响应时间从3秒降至400ms;
- 系统故障率下降85%;
- 发布频率由每月1次提升至每周1次;
- 团队成员满意度明显提升,离职率归零。
最重要的是,我们做到了没有一个人加班到晚上9点以后。
我们是怎么做到的?
- 前置规划:所有需求评审至少提前三周开始,设计文档同步产出;
- 流程优化:引入标准化的CR模板、自动化测试用例覆盖率要求;
- 工具赋能:搭建了统一的DevOps平台,节省大量人工操作;
- 责任共担:我们不再一个人抗住所有风险,而是建立“小组责任制”,出现问题大家一起查,一起优化。
给同行的一些真心建议
如果你也在考虑“躺平”或者正在挣扎于是否继续内卷,请听我说几点经验:
1. 别拿“能干”当借口去拼命加班
你可能很能干,但不代表你要替所有人承担压力。真正的高手,是在合理的时间范围内做出高质量的成果,而不是拼体力。
2. 技术不能解决一切,但能大大减少加班
很多时候我们觉得累,是因为没有把事情做对。比如没有合理的日志监控、没有良好的架构设计、没有规范的流程机制……这些问题一天不解决,你就永远都在救火。
3. 敢于说“不”,是一种职业素养
产品经理改需求?请走正式流程。测试临时发现bug?上线前该有的步骤一步都不能少。不是你不愿意配合,而是你要守住基本的质量底线。
4. “躺平”不是逃避,是对生活的尊重
我见过太多同行因工作压力而失眠、脱发、焦虑、抑郁。我们做技术的,要学会照顾自己,也要有勇气去设定边界,保护自己的身心健康。
写在最后:我仍然热爱这个行业
也许有人会说,“躺平”意味着不上进,但我始终认为:
真正的上进,是你知道什么时候该全力以赴,什么时候该停下来歇一歇。
如今的我,依然每天写代码、看日志、做架构设计,但我更注重团队的整体表现,而不是一味追求“我干了多少事”。
我依然喜欢看到系统平稳运行、业务顺利开展的样子,只是我不再需要靠牺牲健康来换取成就感。
我希望这篇文章能给你带来一点点启发。或许你可以试着:
- 和你的团队聊聊“合理交付”的标准;
- 在下一个项目中尝试自动化部署;
- 或者仅仅是在今天下班前关掉电脑,早点回家吃顿热饭。
毕竟,人生不止代码,还有生活本身。
如果这篇文章对你有所触动,欢迎留言交流。
我是@老张,一个选择“躺平”的程序员架构师。

评论 0