article_image

🔗 原文链接

“软件生产力”是个伪命题?Ben Rady 在他的文章里,用一个扎心的对比案例挑战了这个大家熟悉但从未深究的概念:两个程序员解决同一个问题,一个写了 1000 行高质量代码,另一个削减了 100 行旧代码,问题都解决了——但结果却完全不同。写代码的看着忙得不行,但留下了维护的麻烦;而删代码的,不仅高效,还让系统变得更简洁。谁更“有生产力”?Rady 的回答是:这个问题根本没意义,因为代码不是越多越好,关键在于问题有没有被真正解决。

他进一步解释,软件开发的目标是“搞定问题”,不是“产出东西”。代码、文档这些只是手段,甚至是“必要的麻烦”。开发中最棒的时刻,可能就是一句话的讨论化解了一个复杂问题,而不是动用各种技术展现自己的技术力。

我认为,优秀的软件开发者所做的就是解决问题。但是,生产力的衡量指标,比如代码、文档、数据等等,都只是解决问题的工具,并不是解决问题本身。

这篇文章原文很短,但评论区有不少讨论。

有人支持 Rady 的观点,说开发确实不应该追求“写了多少行代码”,而是看解决方案有没有价值。也有人反驳,说“生产力”其实是可以衡量的,只要用客户愿意付多少钱来评估就行。但这马上被其他人批评了——短期看起来有用的代码,可能会给后续的开发和维护带来巨大麻烦。比如那种为了赶进度写了一堆“屎山代码”的案例,客户可能买了你的软件,但再也不想用第二版了。

还有人提到,用测试工具或性能数据来“量化”开发者的贡献,像什么自动化测试、性能优化之类的确实能提供一些科学依据。但更多评论认为,这种方式往往也没抓住问题的本质——解决实际业务需求才是王道,性能好不好只是锦上添花。

最后,Rady 在评论区给出了一个回复:为什么我们非得用“生产力”这种工业化的说法来描述开发者的工作?写代码并不是什么流水线上的生产,而是一个不断解决问题的过程。与其纠结生产力,不如直接讨论怎么解决问题更靠谱。

“生产功能而不是价值,这是种典型的浪费。我们可能该完全停止谈‘生产力’,专注搞定真正的问题。”
——Ben Rady


author_avatar

UNTAG 官方