February 23, 2023

DRY code isn’t a product

DRY is a great principle that every SWE should be familiar with. But it can be overused. Programming is about managing tradeoffs. And the tradeoff to not repeating yourself” is extra abstraction.

I will almost always trade highly-coupled DRY for ones that are repeated, but decoupled.

Remember that code reuse and developer velocity are not primary business outcomes. DRY code is not a product. If leadership is fixated on software consolidation, it can indicate a lack of real, user-focused direction.

Code reuse isn’t a customer feature, it’s a cost accounting practice.



Copyright Nathanael Bennett 2025 - All rights reserved