Have you ever tried an application that looked great at first, but once you started using it, it just didn’t feel right? The UI was slick and the feature list looked perfect, but the workflow just wasn’t there?
I see this all the time, and quite often it’s due to developers not using their own applications. They built something they thought would sell instead of something they needed, so they don’t see their software the way an end user would. They don’t notice the hundreds of little things that would make their applications easier to use, nor do they notice all the minor bugs that customers consider too small to report.
Not only does this result in less effective applications, but it also results in a boring job. Before becoming an independent developer, I spent a few years building corporate applications that I never used – and I hated it. My only reward for building these applications was a paycheck, which is nice and all, but it didn’t make working on them exciting.
Take it from me: building something you need is a lot more fun, and it also increases the chances that you’ll build something that people love.