There’s a famous story about Bill Atkinson where management asks everyone to account for how many lines of code they wrote each week. Most developers understand the nuance immediately: lines of code is a bad metric because good programs are often written in less code.
But lines of code isn’t a inverse metric either.
Don’t Repeat Yourself (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. Code should ultimately reflect an outcome, and code reuse is not necessarily one. DRY code is not a product.
The purpose of DRY, if there is one, should be ensuring a single source of truth. This is true reusability - ensuring that a changed business requirement need only be updated in one place. What DRY shouldn’t be is “code reuse”. DRY is about sharing implementations not saving future development costs. These development cost savings are hypothetical and rarely data-driven.
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.