Republished from Opperator blog
When building a product for your audience, you need to empathize with their pains and problems. It's one thing to imagine yourself in their proverbial shoes, but it's much more effective to just wear the same damn shoes. It means using your own product while you're building your product. Startup slang commonly refers to this as "dog-fooding", but I dislike this term because it evokes images of being forced fed something you don't want.
While it's important to focus on relieving your customers' pain, it's equally important to optimize your own happiness along the way. Not only will you enjoy your work more, your code will be "happier" as well. Allow me to explain what happy code looks like.
When Michael and I started Opperator, we aligned ourselves with our customers. When life sucks for our customers, life sucks for us. When life is awesome for our customers, life is also awesome for us. It's a very simple formula to balance: remove sucky things, and increase awesome things. Simple as this sounds, many entrepreneurs only tackle the former half of the formula. For any startup, there are many things that happen behind the scenes that your customers don't see. Things like code smells, technical debt, and shoddy documentation. But just because your customers don't see these things, doesn't mean that you don't.
We execute quickly on Opperator, but we also take the time to step back and holistically evaluate our product.
These aren't things that your customer will see. But over time, these things will add up. If you're not happy with working on your product, then your efforts will be forced, and the results will reflect this. Taking a small slice of time to take care of any of these points will yield long term results for your business and for yourself.