Working on sides projects is a great way to build a portfolio for freelance or full-time job opportunities, crystallize your knowledge of programming languages/tools and development workflows and, if you play your cards right, earn some cool cash by commercializing your projects. But if you’ve worked on a side project before, you’re probably all too familiar with the trend that is brainstorming and coming up with great ideas, starting the project, stopping along the way, abandoning the project forever, and moving on to the next one. I’ve had my fair share of this experience and a lot of projects in project graveyard have my name on it.
I’ve thought deeply about my inability to complete many projects I started. One important reason people like me abandon projects is because their scopes are too large. Personally, I think your ideas can be as big and wild as possible. But your project’s scope? Not so much. I find my sweet spot for working on and completing a side project to be 2–4 weeks. If my project takes longer than that, I’ll probably never finish it. This is what works for me. I feel most people abandon projects because they’re too large and they give up on being able to finish it or just lose interest.
Think small, build small
In order to complete a project within a two-to-four-week timeline, I outline all the features of the project and select the most important one/ones which can be completed within that time. Even if you’re building the next Facebook, 4 weeks is enough time to crudely ship the core features that define your app. If this or a similar timeline is not enough (say you’re building an enterprise app that needs to have x features for clients to buy in), you should consider working full time on the project and probably getting others to collaborate on it.
My recommendation when working on side projects is to think small and build small. Your software doesn’t have to solve world hunger or serve 1 million people to be useful or even successful. In fact, some of the more successful products today started out as side projects that aimed at simplifying a multi-step process for accomplishing a common task to a one-step one. Yes, it can be that simple!