A blog that needs work

Customers Don't Care About Your Code

Wow, I sure hope that this code was written using test-driven development in an agile environment ... said no customer, ever.

Let's face facts. Customers don't care about your code.

It's nothing personal: They don't care about anybody's code.

You care about code (hopefully). Your team cares about code (again, hopefully), but customers? Nope!

What does that mean for you, a developer? If the customer really doesn't care about your code, then there are some interesting conclusions that you can draw.

  • You've probably heard that version one of your software will suck, and that you should ship it anyway. I'll assure you that this is not the case; version two will probably suck as well. Before I had joined a startup, I thought that this talk was absurd, clearly version one of something couldn't be that bad... Regardless, the take-away from this is you need to learn from your mistakes quickly, move on, and improve as you go along. Unfortunate as it is, "there's never enough time to do it right, but there's always enough time to do it over."

  • Customers do care about your product. They care about how easy it is to use, how it responds, and what it looks like. Unless you've got some serious bottlenecks, don't worry so much about whether or not a solution is inefficient (unless that's your business); focus on achieving what it is that the customer needs to do, or better yet, learn what it is that the customer wants to do.

  • Customers not caring about your code is not a license to be stupid; it's a license to be mindful of the decisions that you make. It means being aware of what areas the customer is likely going to need next, and making it possible to extend those areas, and improve on them.

  • Accessibility, security, internationalization and all those -ity's and -ion's are important, because they build trust with the customer.

It's by no means an epiphany, but the past few days its been on my mind. No one cares about your code but you, so focus on making a good product for your customer instead.

Nicholas Terwoord

A self-titled software developer, "code archaeologist" (whatever that means), and professional geek. Spends too much of his time coming up with new projects, and not enough time working on them. Likes video games, board games, anime, manga, and Pathfinder / Dungeons and Dragons (GOTO: Line #1 - Geek).