I can’t think about single developer who hasn’t tried or thought about starting a side project. But most of those side projects are never finished. Most of them are never even started. So what is the problem?
The problem that John Sonmez talks in his book is that we pick too broad ideas, projects that are too big and that are not well thought through.
So the answer is simple. Pick small projects at first. Projects that can be done in a week. We are very good at lying to ourselves. And when we start a project we are going to be enthusiastic and make up all this goals in our mind that we are going to accomplished Tomorrow and next week, and so on. But that energy will be gone as soon as we reach our first obstacle. The most important goal should be that You start finishing side projects. Project that is 99% finished has 0% value. So invest time and start being finisher.
How do you do that?
Be consistent. Plan ahead and plan well. Never miss a day of work. It’s the only way. Plan in small commitment. In my other blog post I talk about the importance of that no task should be longer that 2 hours. If we get over our head, we are going to fail and we are gonna give up.
A couple of first side-projects should be clones of already existing applications. Just so You go into this habit of finishing projects. But each side project should serve at least two purposes. For example if we plan to build a Twitter clone, what exactly do we want to achieve there except finishing project? Maybe we want to learn a new language or a framework, or maybe even practicing existing skill, or trying some new time management techniques, etc..
As I already wrote, nearly finished project is like having a project that is never started. So it’s always better to ship it no matter what. Pick a deadline a stick to it. If you give yourself too much buffer, you’ll procrastinate.
If it’s going to help, act as if You are doing it for someone else, so the thought of not finishing it, would hurt your pride. Of course some of You will have making money on side projects as the biggest motivation and that’s perfectly fine.
My conclusion is that what ever keeps you working, stick to it and finally finish that project that is forgotten, laying around for months and years now, on your machine or on Github.