内卷之后,我决定“躺平”——一个5年经验代码人的真实职场思考

山海写码人
2025-06-13 03:56
阅读 714

一、从一场连续通宵的上线说起

一、从一场连续通宵的上线说起

去年年底,我们团队负责的一个核心业务系统迎来了年度最大一次重构。作为主力开发,我已经连续三周每天工作超过14小时,中间两次线上发布都选择在凌晨两点进行,因为只有那个时候流量最低。

那晚,第三次灰度上线失败后,我在工位前坐着发呆。旁边的运维小哥拍了拍我的肩膀说:“你最近是不是都没睡好?”我不禁苦笑了一下,心里冒出一个从未有过的念头:为什么我们一定要这样活着?

不是说不能加班,而是这种“不加班就是不努力”的氛围越来越浓,连刚入职的实习生都开始比谁走的更晚。我知道这不是某个公司的现象,整个IT行业都在“内卷”,而我,作为一个摸爬滚打了五年的老开发者,终于决定,在这场无休止的加班竞赛中,我要主动选择“躺平”。

当然,这里的“躺平”,不是放弃成长,而是拒绝无效消耗,用更聪明的方式工作,守住生活和健康的底线。下面我来聊聊我是怎么做到的。


二、问题来了:当技术债遇上人效焦虑

开发流程示意-1

二、问题来了:当技术债遇上人效焦虑

项目背景:旧系统的“翻新”之旅

我们的核心系统是5年前基于Spring Boot + MySQL搭建的,随着业务快速扩张,逐渐暴露出几个严重问题:

  • 接口响应时间变慢(部分接口达2秒以上)
  • 数据一致性难保证,多个服务之间存在耦合
  • 日志混乱,排查问题效率低
  • 部署流程繁琐,上线出错率高

于是,我们启动了一个“重构+微服务拆分”项目,目标是将单体服务拆分为订单、支付、库存三个独立服务,同时引入Kubernetes进行容器化部署,并使用Prometheus做监控。

挑战重重:技术+管理双重压力

项目初期,大家信心满满,但很快现实打脸:

  1. 人员配置不足:团队仅有3个开发,还要兼顾日常需求;
  2. 质量难以保障:为赶进度频繁跳过Code Review;
  3. 沟通成本剧增:各模块边界模糊,联调时扯皮不断;
  4. 上线风险高:由于缺乏完善的测试环境,预发布阶段总是出各种诡异问题。

那段时间,我几乎每天晚上都在处理异常日志,早上又要开会对齐方案。最崩溃的一次是,我在公司熬了一整夜跑数据同步脚本,第二天早上开站立会的时候差点睡着。

更讽刺的是,我们原本希望通过这次重构提升稳定性,结果反而把线上压垮了两次,导致业务方投诉,CTO也亲自找我们谈话。

这让我意识到:我们不是不够努力,而是方向错了。


三、转型之路:从“拼体力”到“拼策略”

技术概念图解-2

面对这些问题,我没有继续死磕,而是开始尝试换一种方式推进。

✦ 技术方案调整:先稳定再重构

之前我们想一步到位完成微服务拆分,结果适得其反。于是我提出一个“渐进式重构”策略:

  • 先用功能开关(Feature Toggle)隔离新旧逻辑
  • 对老系统做性能热点分析,优先优化关键路径
  • 将部分非核心功能抽离成子模块或外部服务
  • 引入自动化测试覆盖主要场景
  • 上线策略由“一次性切换”改为“灰度发布+A/B测试”

这个转变让我们的交付节奏更可控了,上线事故明显减少。

✦ 工程实践升级:提高工具效能

光靠人加班是不可持续的,必须依赖更好的工程能力:

  • 引入CI/CD流水线,每次提交自动构建+部署
  • 使用SonarQube做静态代码扫描,预防潜在问题
  • 统一日志格式,接入ELK实现日志集中查询
  • 所有API统一使用Swagger规范,前后端协作更顺畅

这些措施虽然前期花了一些时间搭建,但从长远来看,极大地提升了团队的研发效率。

✦ 思维模式转变:学会“拒绝”与“取舍”

以前总觉得“能者多劳”,现在我学会了“高效地少做一点”:

  • 明确需求边界:对模棱两可的功能点要求澄清后再投入开发
  • 拒绝不合理排期:提前预警风险,不轻易承诺不可能完成的任务
  • 学会借力:借助开源组件、成熟中间件解决问题,而非重复造轮子
  • 关注质量大于速度:写好单元测试、做好架构评审,减少后期返工

有一次产品要我们在两周内上线一个新营销活动功能,我评估后发现至少需要三周时间才能保障质量。于是我和产品经理认真沟通了技术风险,并建议延后上线日期。最后他们理解了我们的考虑,活动上线也非常顺利。


四、效果与收益:轻松不是懒惰,而是进化

经过这半年的调整,我们团队的变化很明显:

指标 调整前 调整后
平均每日工作时长 11小时 8-9小时
线上故障率 月均3次 月均0.5次
人均产出效率 1.5需求点/周 2.8需求点/周
团队成员离职率 30% 5%

最明显的是,大家不再天天喊累,反而更有干劲。我们开始有时间去做一些技术分享、代码Review和架构讨论。我也终于能准时下班吃晚饭,甚至周末还会约朋友打球。


五、给同行朋友的几点建议

作为一名过来人,如果你也在经历类似的困境,我想给你几点建议:

1. 认清“加班”本质:不是越忙越好,而是越有效越好

不要把加班当作奋斗的代名词。真正高效的开发者,是能在规定时间内高质量完成任务的人。

2. 学会用工程手段解决问题

  • 自动化测试、CI/CD、日志监控这些看似“笨功夫”的事,才是真正提升研发效能的关键。
  • 如果你还在手动生成SQL文件、手动修改配置文件,那你真的该反思一下自己的工程水平了。

3. 主动影响团队文化

你不是一个人在战斗。你可以带动团队建立良好的开发流程,推动代码质量标准,倡导健康的工作方式。哪怕只是从一次Code Review开始。

4. 不要害怕说“不”

有时候我们需要勇敢地说:“这个需求按当前资源做不到”,或者“这块代码目前没有文档,无法评估开发周期”。这不是推卸责任,而是对团队和项目的负责。

5. 给自己留点空间

别让自己被代码淹没。定期学习新技术、锻炼身体、保持阅读习惯,才是可持续发展的正道。


六、结语:真正的“躺平”是清醒后的选择

我不是号召大家都去躺倒不动,而是希望每位开发者都能清醒地选择适合自己的节奏。

技术发展太快,我们很容易陷入盲目追赶的陷阱。但请记住:

编码是一场马拉松,不是短跑。
真正厉害的程序员,是那些既能写出优雅代码,又能按时下班吃饭的人。

愿你在卷不动的时代,也能活出属于自己的从容与专业。


作者简介
十年编码生涯,五年带团经验。擅长Java体系、微服务架构与DevOps实践。坚持技术写作与知识分享,相信“最好的代码,是让人看懂的代码”。

评论 0

最热最新
暂无评论
匿名用户Lv.1
0
影响力
0
文章
0
粉丝