How I work on side projects
I have a lot of ideas that I wanna work on. It can get frustrating when you have all these ideas, but no time to implement them. (I have a full-time coding job.)
So I came up with 3 rules that are keeping me engaged:
Rule #1: Do a bit of work every day, no exception. Also called non-zero days. (Term from famous Reddit thread.) I have a big calendar and some flipchart markers. For each day I do as little as 10 minutes of work, I draw a big happy check mark. Small victories every day = big victories in the long term.
Rule #2: One project at a time. This one’s hard for me. My backlog is filled with genius ideas. But the thing about genius ideas, it’s better to let them sit for a while. See if they still seem so genius in a week’s time.
This also forces me to make small iterations. If I work on something for 3 months, I can’t work on anything else. So I will break that work into smaller iterations. Finish something in 3 weeks, then see if I have more exciting idea.
Rule #3: Project ends when shipped. There’s no point on working on something unless I ship it to users. It doesn’t matter if it’s not very useful. It doesn’t matter if no one uses it. All of that can be fixed in the next iteration. Important thing is to ship my results.
Bonus rules:
I do this work for enjoyment, so when I work on a side project, I will have something special:
- I will get a special drink. For me it’s non-alcoholic beer, which seems boring, but has only 100 calories per bottle. And well, it’s not water.
- Reward for shipping is McDonalds.
- No caffeine these days, but if I’m about to spend 3 hours on a side project, I’ll make a coffee. (As a reward.)