Why I stopped writing “perfect” code and started solving real business problems

Ameet MadanAmeet Madan
2 min read

As a software engineer, I used to obsess over clean architecture, DRY principles, perfect test coverage, and pixel-perfect UI. I still value all of that—but I’ve realized it’s not what moves the needle.

What finally clicked for me was this: no one outside the engineering team cares how beautiful the codebase is if the business isn’t growing.

The Wake-Up Call

In one of my previous freelance gigs, I spent days refactoring legacy code to improve maintainability. I was proud of it. But when I demoed the results, the client’s response was lukewarm.

Why? Because while I’d cleaned up the code, I hadn’t delivered anything new that helped them acquire more customers, save time, or make money.

That was the turning point. I started asking myself:

  • Is this feature tied to a clear business outcome?

  • Will this reduce churn, increase revenue, or improve efficiency?

  • Can I ship this faster by reducing scope or skipping the “ideal” implementation?

Code Quality Still Matters—But in Context

I’m not advocating for spaghetti code or skipping tests. But I’ve realized there’s a balance. High-quality code is a means, not the end.

Shipping a useful tool with 80% code quality today is more valuable than shipping the perfect solution six weeks late—especially in startups or fast-moving teams.

I now aim for:

  • Sane defaults, not over-engineering

  • Modular, extendable systems, not future-proofed abstractions no one uses

  • Tests for critical paths, not 100% coverage

  • Speed of iteration, not architectural perfection

The Shift That Changed My Career

Once I made this mindset shift, three things happened:

  1. Clients and stakeholders trusted me more—because I spoke their language: growth, conversions, and retention, not just tech debt and architecture.

  2. I started being seen as a partner, not just a coder. I could challenge features, propose smarter solutions, or reduce scope with confidence.

  3. I built leverage. I could charge more, take on consulting roles, and eventually start designing systems that didn’t just run well—but ran the business better.

Final Thought: Code is a Tool, Not the Product

Your code doesn’t live in isolation. It’s part of a system—business, users, processes. Don’t fall into the trap of thinking your job is to write beautiful code.

Your job is to create value. Sometimes that means writing a script that saves the ops team 10 hours a week. Sometimes it’s building a feature that closes sales. Sometimes it’s deleting code entirely.

You’re not just a coder. You’re a problem solver. Embrace that.

0
Subscribe to my newsletter

Read articles from Ameet Madan directly inside your inbox. Subscribe to the newsletter, and don't miss out.

Written by

Ameet Madan
Ameet Madan