防御式编程拖慢迭代,企业该选维稳者还是架构师

github热门推荐 › 防御式编程拖慢迭代,企业该选维稳者还是架构师 (第 53 章)
文章工具

 防御性编程:一场员工与公司的“互相伤害”死局

一个真实故事:一套系统前人开发了3个月,后来新人增加个小功能又改了2个月,我开玩笑说“这个系统可以干一辈子”。再后来,我花2周分析并重写了系统——架构健壮、拓展性强,常规功能基本不用开发就能支持。


📌 引子:一个后背发凉的对话

“现在很多公司裁员,优先裁的就是那些把系统搞得太稳定、太好维护的负责人。因为换个人也能维护,留着你干嘛?”

我突然理解了为什么很多系统越做越烂、越改越乱——那不是技术问题,是生存问题。


🔍 什么是“防御性编程”?

在软件工程教科书里,“防御性编程”指的是写代码时预判各种异常情况,让程序更健壮。

但在职场语境下,这个词有了另一个含义:


通过制造“技术债”和“知识孤岛”,让自己的岗位变得“不可替代”。


📊 员工视角:为什么我要“防御”?

安全感公式

安全感 = 不可替代性 + 职业技能 – 被裁风险

变量
含义
如何提升
副作用
不可替代性
公司离不开你的程度
制造知识孤岛、代码混乱
长期来看,自己也被困住
职业技能
真实的可迁移能力
学习、实践、总结
✅ 正向资产
被裁风险
外部环境的不确定性
无法完全控制
公司策略决定


关键洞察:

  • 不可替代性带来的是短期安全感,但代价是技术退化

  • 职业技能带来的是长期安全感,到哪里都值钱

  • 防御性编程的本质,是用不可替代性替代职业技能——饮鸩止渴

防御策略的成本收益

策略
短期效果
长期后果
把代码写复杂
别人不敢动,岗位“安全”
自己维护也痛苦,技术退化
不留文档
知识都在自己脑子里
自己成了系统“人质”,不敢休假
拒绝重构
系统“稳定”不犯错
技术债越滚越大,最终崩盘
制造神秘感
公司觉得你“不可或缺”
一旦被裁,发现真实能力已荒废

🏢 公司视角:你裁掉的是“垃圾制造者”还是“架构师”?

两种员工的真实画像

裁员决策的逻辑陷阱

裁员决策
结果
讽刺之处
裁掉稳定系统的负责人
系统还能跑,省了一个高薪
下一个人接手后,系统可能开始变烂
留下“只有他能修”的人
系统勉强维持
公司被“技术绑架”,失去主动权
裁掉高薪老员工换新人
人力成本下降
新人写更烂的代码,债越堆越高

📌 熟人说的没错:很多公司确实在裁那些“把系统搞得太好”的人。不是因为做得不好,而是因为做得好=可替代。


🔄 死循环:防御性编程如何摧毁一切

阶段
现象
伤害对象
第一环
公司随时裁员,员工没有安全感
员工心理
第二环
员工开始“防御”,制造复杂系统
代码质量
第三环
系统变成“屎山”,改不动、加不了
公司业务
第四环
公司更想降本,裁掉高薪老员工
公司和员工

这就是一个双输的螺旋。


💡 破局:公司要“善待员工”,才能“得到好系统”

良性循环 vs 恶性循环

维度
恶性循环(常见)
良性循环(理想)
公司策略
随时裁员、降本优先

长期主义、善待员工
员工行为
防御性编程、制造壁垒
架构优化、知识共享
系统质量
越来越烂、难以维护
越来越稳、易于扩展
公司收益
短期省钱、长期崩溃
短期投入、长期收益

公司应该怎么做?

员工也应该转变思路

错误做法 ❌
正确做法 ✅
把代码写乱,制造“不可替代”
把代码写好,建立“专业口碑”
拒绝分享,独占知识
主动分享,成为团队“知识枢纽”
抗拒重构,维持“稳定假象”
持续重构,展示技术领导力
把希望寄托在“公司离不开我”
把安全建立在“我去哪都能干”

📈 从“干一辈子”到“两周重写”

阶段
时间
做法
结果
第一阶段
3个月
开发老系统
能用,但很复杂
第二阶段
2个月
改一个小功能
发现改不动,陷入泥潭
第三阶段
2周
彻底重写
常规功能基本不用开发就能支持
心态转变
—
从“可以干一辈子”到“让系统更简单”
系统成功,自己也成长了

图表


🎯 感悟:真正的安全感,不是“这个系统离了我就不转”,而是“我走到哪里,都能快速搭建出好系统”。



🎯 结论:双赢才是唯一的出路

给公司的建议

  1. 停止把“不可替代”当成好员工的标志

    • 越不可替代,说明系统越脆弱

    • 越容易替代,说明架构越健康

  2. 建立“技术债”考核机制

    • 系统健康度纳入考核

    • 重构和文档工作要有回报

  3. 给员工真正的安全感

    • 明确的职业发展路径

    • 合理的技术成果激励

给员工的建议

  1. 别把“防御性编程”当护身符

    • 短期保住了岗位,长期废掉了自己

  2. 把安全感建立在“可迁移能力”上

    • 系统的稳定性是公司的资产

    • 你的架构能力才是你自己的资产

  3. 帮助公司变得更好,而不是绑架公司

    • 双赢才能长久

    • 零和游戏最后谁都赢不了


📚 一句话总结

防御性编程是一场员工和公司的“互相伤害”:员工为了自保制造垃圾,公司为了降本裁掉能人。

打破这个死循环的唯一办法,是公司善待员工、员工善待系统。

安全感不是来自“你离不开我”,而是来自“我走到哪里都有价值”。


⚠️ 版权声明

本文为免费文章,欢迎转载。转载请注明出处:一木科技(https://www.pingquan.vip/2026/05/28/%e9%98%b2%e5%be%a1%e5%bc%8f%e7%bc%96%e7%a8%8b%e6%8b%96%e6%85%a2%e8%bf%ad%e4%bb%a3%ef%bc%8c%e4%bc%81%e4%b8%9a%e8%af%a5%e9%80%89%e7%bb%b4%e7%a8%b3%e8%80%85%e8%bf%98%e6%98%af%e6%9e%b6%e6%9e%84%e5%b8%88/),并保留原文链接。

还没有评论,来说两句?

发表评论

欢迎交流技术细节;广告与人身攻击会被删除。

在线咨询