The Ethics of Legacy Code: Why 'Rewriting from Scratch' is Often a Failure of Empathy

Author: Omid Farhang Published: December 27, 2025 Reading Time: 5 min

Every developer has been there: you inherit a codebase that looks like a bowl of spaghetti, and your first instinct is to say, “We need to rewrite this.” You see the outdated libraries, the inconsistent naming conventions, and the lack of unit tests, and you think, “I could do this so much better from scratch.” But a rewrite is rarely just a technical decision. It’s a social and ethical one. Legacy code is code that is working. It’s code that is paying the bills, processing the transactions, and serving the users. When we dismiss it as “trash,” we are dismissing the context, the constraints, and the hard work of the engineers who came before us. ...

Continue Reading The Ethics of Legacy Code: Why 'Rewriting from Scratch' is Often a Failure of Empathy

The Cost of Consistency: When Your Design System Becomes a Bottleneck

Author: Omid Farhang Published: December 25, 2025 Reading Time: 5 min

Design systems are promised as the ultimate productivity booster. “Build once, use everywhere.” And for the first six months, it’s true. You see the velocity of your feature teams skyrocket as they stop arguing about hex codes and start assembling pages from a library of pre-built components. But as your team grows and your product evolves, the very system that was supposed to speed you up can start to slow you down. At work, we built a comprehensive Angular-based design system that initially reduced delivery time by 40%. However, as we scaled, we hit the “maintenance phase”—the point where the cost of consistency began to rival the cost of development itself. ...

Continue Reading The Cost of Consistency: When Your Design System Becomes a Bottleneck