深夜十点,工程师小明提交了今天最后一行代码。测试通过,Code Review获赞,但他心里清楚:明天他依然不敢动那个已经运行了五年的“祖传模块”。为什么个人英雄主义救不了软件系统?因为我们都掉进了同一个思维陷阱。
凌晨两点,某大厂会议室里烟雾缭绕。
“我们的敏捷转型很成功啊,迭代速度提升了30%!”项目经理指着看板上密密麻麻的已完成故事点,脸上带着疲惫的自豪。
技术总监沉默良久,抛出一个问题:“那为什么我们上个季度推出的新功能,用户留存率几乎为零?”
会议室陷入死寂。
这个问题背后,揭示了中国无数软件团队正在经历的集体困境:我们如此努力地“制造软件”,却忘记了软件真正需要的是“生长”。
01 制造思维的困境:我们都在建造精美的“零部件”
回想你第一次学习编程的场景:老师给出明确的问题描述,你写出代码解决它。正确运行,任务完成。
这种思维深深烙印在我们脑中——软件是一个“确定的东西”,开发就是把它制造出来。
需求分析是绘制蓝图,编码是生产线,测试是质量检测。我们关注的是“这次交付是否正确”,像是工厂质检员检查每一个零件是否合格。
在这种思维下,我们自然地发展了复杂的流程:需求评审、设计文档、代码审查、自动化测试……一切都为了确保“制造过程”的完美。
然而,问题恰恰出在这里。
当200行优雅的新代码被投入一个已有10万行代码的系统中,会发生什么?就像把一瓶纯净水倒进一个已经浑浊的池塘——水质不会变好,好水反而被污染了。
这就是为什么个人代码质量很高,但系统整体却越来越“腐烂”的原因。
02 成长思维的觉醒:软件是一个“活着的生态系统”
让我们换个视角。
软件不是一台精密仪器,而是一个活着的生态系统。它存在于真实的业务链路中,与用户、市场、竞争对手持续互动。
微信支付最初只是微信的一个小功能,如今却成为数亿人日常生活的一部分。它不是在某个“制造过程”中一次性完成的,而是在与用户、商户、监管环境的持续互动中生长出来的。
成长思维的核心是两件事:获取生存资源和响应环境变化。
你的软件系统需要争夺用户的注意力、时间、数据——这些就是“生存资源”。而获取更多资源的方式,不是制造更多功能,而是优化你的业务链路,让用户流动更顺畅。
想象两个并行的水管,你的目标是让更多水流过你的水管。怎么做?不是制造更多接水口,而是减少你水管内部的摩擦和阻力。
这就是为什么软件需要持续修改——不是在修复“错误”,而是在优化生存策略。
03 那个令人警醒的“池子”比喻
软件系统就像一个不断被注入新代码的池子。
制造思维关心“这一次注入的是硫酸还是盐水,注入量多少”。成长思维关心注入后,整个池子的水质是变好了还是变坏了。
一个残酷的事实是:往污水池里倒再纯净的水,得到的依然是污水池。
这就是为什么那些看起来“高效”的团队,实际上只是在更快地制造垃圾堆。
敏捷开发让我们的迭代速度提升了,但如果方向错了,我们只是更高效地走向错误的地方。
TDD(测试驱动开发)的价值不在于确保单次代码正确,而在于确保每次改动后,整个系统依然健康。它是在维护池子的整体水质,而不是检查单次倒水行为。
04 大公司的“制造型创业”困局
在中国,尤其是国企和科研机构,存在一种令人痛心的模式:
专家基于想象和“意向”立项 → 走科研预算流程 → 研发团队落地 → 用业务指标考核研发团队。
结果是项目“成功结题”(代码跑起来、专利数达标),但没有真实用户使用。研发团队承担了“板子”,却无力改变上游的规则。
这就是“制造型创业”——以为制造出来自然就有人用。
真实情况是:你想象的业务需求,和实际的业务需求,中间隔着一条鸿沟。
专家们签字承诺“盈利多少钱”,年底却只能集体造假。这不是个别人的道德问题,而是系统性思维错误。
更荒谬的是:预算按科研标准批,考核却用业务标准。就像用足球规则选拔篮球运动员——注定失败,且无人负责。
05 从程序员到系统园丁:思维转变的实践路径
如果你受够了这种困境,可以尝试以下转变:
1. 从“交付功能”到“优化链路”
每次开发前问自己:这个改动会让用户的整个使用过程更顺畅吗?会减少步骤吗?会降低认知负荷吗?
2. 从“代码审查”到“系统健康检查”
审查代码时,不仅看这200行写得如何,更要问:这200行放入系统后,会对整体产生什么影响?会不会增加耦合?会不会让后续修改更难?
3. 从“完成需求”到“获取反馈”
需求文档不是终点,而是起点。真正的开发,是在功能上线后,通过数据观察用户如何使用(或不用),然后快速调整。
4. 重构不是“额外工作”,而是“核心需求”
就像园丁必须修剪枝叶才能让树长得更好,重构是维持系统健康的必要工作。把它纳入正常开发周期,而不是等到“实在不行了”再做。
06 在大组织中生存:柔性推动的策略艺术
如果你身处一个制造思维根深蒂固的组织,硬碰硬往往适得其反。语音记录中提供了几条宝贵策略:
1. 向上管理:对齐评估标准
不要抱怨“不公平”,而是主动了解真正影响你资源的人的评估标准。如果你不知道,就去问。
2. 汇报艺术:强调努力和重视
工作只完成80%如何汇报?不是“我们只完成80%”,而是“已完成80%,剩余20%我们之前对领导指出的问题重视不够,正在全力解决”。
3. 生存竞争:不要成为最差的那个
在好公司里努力跑得快,在差公司里确保不垫底。这不是道德问题,这是生存策略。
4. 柔性推动:拉人入伙
想推动变革?不要单打独斗。将周围的人变成利益共同体,用柔性方式获得支持。讲“我们的成功”,而不是“我的想法”。
夜深了,会议室里的讨论还在继续。
但有一点已经清晰:软件的真正价值,不在于它被制造得多么精美,而在于它在真实世界中活得多么健壮。
我们需要的不是更多“制造软件”的工人,而是更多“培育系统”的园丁。
下一次当你面对需求文档时,不妨先问一个简单问题:
这个改动,会让我们的“池子”变得更好,还是只是往里面倒了一瓶好看但无用的液体?
在这个变化越来越快的时代,能够生长的系统才会最终存活下来。
而能够培育这种系统的人,也将找到自己不可替代的位置。
毕竟,制造只能产生产品,而生长才能创造生命。