My side-project backlog currently has twenty-three ideas on it and it keeps growing everyday. Seeing such a large number used to feel so heavy. I would get so demotivated, thinking I'd never have enough knowledge, time, energy to get anything done.

But having had the space at Recurse Center to play around with different ways of working, I've figured out a few things that has shifted me from despair to delight

Figure out the first step.

For every project I had, I outlined what would be the first few tasks I wanted to solve. The tasks would be limited to only the smallest possible discrete items. So instead of saying something general like, "Build the entire first screen", it would be broken down into, "Add the screen into the view hierarchy. Turn background purple to confirm it's been added. Add this label to the screen." And so on.

For example, for my first Android project, the first steps were:

  • build default template and get it compiling successfully
  • add a button to the template project
  • make the button do something purple

By taking a few minutes to figure out what the first step for every single project on my backlog was helpful because then when motivation hit, I could very easily context switch into the project and made starting something new feel less overwhelming.

Do as many as you want at a time.

Because context switching became a lot less expensive with all the next steps written out for each project, I gave myself permission to switch between as many projects as I wanted.

Having a rotating queue turned out to be super exciting, because as soon as I got stuck on one project, I just moved to another. Then by the time I got back to the original problem, my excitement was refueled by progress on another project. With that energy, I generally was able to figure out the original obstacle.

Plus, this is just me but I love seeing little pieces of progress on all my different projects rather one focused piece of progress on the one project.

Celebrate all the things!

Another great thing about constantly context switching is that by constraining myself to accept that I'm not going to have much progress done on any one project, I start to really celebrate every little thing:

"I just opened a connection to a SQLite database with Python, score!!!"

"I tussled with CSS and WON, look at that centered input box!!!!"

"I just made a sudoku solver in Rust and my brain feels like it's just done four hours of bikram yoga SO I GUESS I'M A GENIUS NOW."

It turns into this delightful feedback cycle where by celebrating every little step forward instead of the just big milestone achievements, the positive vibes makes you want to do more and suddenly before you know it, your little steps have added up into a whooole lot of productivity.

Figure out the distinction between disinterest and resistance.

Sometimes, I find myself having not worked on a particular project in a while. It might just be that I've lost the motivating reason behind the project (e.g. I wanted to build a Mac app that helped me KonMari my file system, only to realize I could also just delete all my old versions of iOS (6, 7, 8, etc) off the simulator and get rid of 30+ GBs that way). In that case, I happily thank the idea for its service and let it go.

But sometimes, the resistance is there to signal something to pay attention to and work through. Maybe it's the blog post that I'm afraid of expending the effort to write because I'm scared to find out no one cares. Or maybe it's the Python project that I'm stuck on because I'm intimidated by learning how to do performance profiling and multi-processing.

I'm still figuring out the distinction between disinterest and resistance myself, but I think it's if the voice in my head is saying, "Oh, that's too hard" or "This will take me too long to figure out how to do right", maybe that's a sign to timebox a little bit or to reach out for some pair programming instead of just dropping the project completely.

It's not a backlog, it's a list of potential.

Living in anticipation is actually a way of extending joy, because it gives you something to look forward to. So instead of thinking of my project backlog as something to catch up on or as this gap between where I am and where I should be, I instead try to think of it as a list of all the potential I have in front of me.