程序员为何偏爱复杂复杂对技术人有天然吸引力
文章分享:《程序员为何偏爱复杂》
在软件开发领域,程序员口口声声说要追求“简单”,但写起来却倾向复杂。尽管有“Keep It Simple, Stupid(KISS)”这样的原则,大部分项目仍然背离了它。原因并不只是项目本身难,而是复杂对技术人有天然的吸引力。
复杂的诱因:
1.复杂更容易“讲故事”:简单的小工具难以包装和营销,而一旦加上花哨功能,就能写博客、做演示、吸引媒体报道。复杂让普通代码摇身变成“产品”。
2.复杂带来“专业感”:人类普遍存在一种偏见——越难懂的东西越显得高级。十几个子模块、一堆抽象概念和复杂流程,常常让人觉得“强大”,而非“臃肿”。这也是为什么带有额外复杂度的框架,反而被视为“现代”的象征。
3.复杂是协作的副产品:团队开发中,每个人出于合理目的加一点封装、抽象或适配,最终叠加成层层嵌套的“金字塔”。久而久之,没人能说清底层逻辑。
4.复杂是旧系统的宿命:遗留代码和技术债让人不敢轻易重构,每次需求只能打补丁,时间一长,简单逻辑就被拖成了复杂巨兽。
5.复杂是创造的快感:开发者在构建庞大、模块齐全的系统时,往往比解决业务本身获得更多成就感。复杂让工程师感觉“专业”。
6.复杂是创新的外壳:产品经理和创业团队需要“新鲜感”,于是刻意加入炫酷机制,让产品看上去独特,即便体验未必更好。
复杂的陷阱:复杂就像一座金字塔,外表宏伟,走进去却空无一物。许多系统功能琳琅满目,框架层层叠加,但核心价值模糊、用户体验糟糕,甚至最终还是在调用最原始的接口。
真正的简单:真正的简单,应该是克制。复制粘贴50行代码,有时比写500行抽象逻辑更专业。简单的本质,是理解系统与场景后,只做必要的设计。
程序员他们未必“爱复杂”,但往往在想要做好、想要创新、想要面向未来的过程中,不自觉地倾向复杂。结果从技术骄傲变成技术债务。
程序员的挑战不在于能否建技术金字塔,而是能否在该停手时,建一座小而实用、能住人的房子。
原文链接:kyrylo.org/software/2025/08/21/why-do-software-developers-love-complexity.html