Developers talk about the optimal solution like it's something to aim for. But software is never finished, so how can you possibly come up with the optimal solution?
Once you start engaging your potential customers seriously, you'll find what they need right now is different from what you thought. I guarantee it. I thought Get Your Game On was an easy way to run a sports competition online. Currently, it's a way for people to register and be invoiced for competitions online.
When developing software, the trick is to spend as little time as possible doing it. Delay everything that you can. Use your development skills to cut as many corners as you can safely [1], and rely on your experience to dig you out of the technical debt you build over time - when you need to, not a second before.
This might mean foregoing fundamental tenants of software development - skimping on test cases, dirty hacks, ignoring scalability and so forth. The question you need to ask yourself is - are these things really important right now?
If you think so, good luck with your hobby. You're a technologist, not a founder.
We could have messed about setting up a continual integration server, building out the day-to-day competition functionality, and learning python. Currently, we have test coverage on life support, the system can't even run a basic tournament and it's kludged together in perl. But we have three paying customers whom I talk to every week [2]. And we wouldn't have it any other way.
This post inspired by this one.
| [1] | Where "safely" means "won't blow up right now" |
| [2] | One of them I talk to daily. |
Like this post? Subscribe to my RSS feed and follow me on twitter to hear about new posts early.
Want to share this post? Tweet
Hi and welcome! In 2009 I quit my job to become an entrepreneur, founding 
