02 July 2013
I'm not perfect; I have had several independent projects I start, work on for a while, lose motivation, and eventually forget about. I have yet to find the magic recipe that leads to ultimate success for personal side projects, but here are some tricks I have learned that have helped me.
Having a full-time job, a family, and other responsibilities leaves me with minimal time for personal projects. Dividing my limited free time between multiple projects results in not only less time for each project, but also decreased focus and problem-solving capabilities, as I become spread too thin. If you are spending mental cycles on multiple projects, it's harder to think deeply about a particular problem you're trying to solve.
The first thing I do in the morning is work on my personal project. I don't check Twitter. I don't read email. I don't browse the Internet. Besides eating breakfast, the first thing I do is work on a personal project. Because I have a typical job with normal business hours, I get up as early as 5 a.m. and put in two to three hours before I go into the office. This usually means I have to stay a little later at the office, but it's worth it to me, as I find I'm extremely focused when I first wake up.
I complete about 75 percent of the work for my personal projects during large, extended blocks of uninterrupted time—typically on the weekends or during extended vacations. It takes me a decent amount of time to get back up to speed on a project, but once I get going, I really start to make large dents. In computer science terms, I would call this the context-switching penalty. Try to clear out your calendar on the weekends and let everyone know, including your family, you are busy working and should not be interrupted.
Public scrutiny is a huge motivational force. I try to get the first version of a project, the MVP, out as soon as possible. Once it's public, your name and reputation are at stake, which I find is a huge motivation to continue working on the project. A secondary benefit I get is tons of feedback, which tends to either validate my idea or help me morph it into something better.
Many of my friends and coworkers have cool side projects and do interesting things with their free time. I want to be like them. Friends that don't force me to grow tend to see less and less of me. Spending time with people who have accomplished similar things to what I want to accomplish has a powerful effect on me. I also find people love talking about their projects, which is a great learning opportunity.
There simply isn't enough time in the day to do everything I want. You have to be willing to make sacrifices to free up enough time to make measurable progress on your personal projects. When I'm in the middle of a project, my social life suffers; I spend less time than I would like with my wife, I don't exercise as much, I don't watch television, and I temporarily give up my hobbies (surfing, snowboarding, mountain biking). Fortunately for me, my wife is understanding and has several hobbies and projects keeping her just as busy.
Everything I said means nothing if you don't have a true passion for the project. You can't just work on projects for the sake of the projects.