I have a lot of ideas for side projects and things I want to build that aren’t small. My capacity to actually do them is somewhat limited by the amount of time I have and the other commitments I have (like a full-time job), so some filtering process like 100:10:1 is probably a good idea for sorting through them and choosing a few of them to focus on. I don’t do anything like that currently, though. This is how the pattern goes:
- Think of something new I want to make,
- Think of all the ways that idea is flawed, unoriginal, or uninteresting,
- Despair and self-loathing,
- Wait, maybe if I look at it this way it’s not so bad,
- Okay, that’s probably worth spending some time on,
- Make a tiny proof-of-concept of one part of the thing,
- Get distracted by trying to write it in a new programming language or paradigm,
- Get frustrated by how hard it is to get things done in a system I’m not really familiar with,
- Every time I think of the project now I just think of that frustration instead of what excited me about it in the first place,
- GOTO 1
As a result my ~/Source is littered with old abandoned projects, none of which I ever made any real progress on.
I think it may be possible to break this cycle somewhere between steps 8 and 9. I think the key is in valuing incremental progress. If I spend a day on a project and it’s barely, imperceptibly different at the end of the day compared to the beginning, that’s demotivating. I want to see big steps! I want to see progress! What do you mean, the game isn’t done yet?
But big things take time, and they happen in little increments. Developing a strategy for being motivated by that sort of small incremental progress is, I think, critical for me to succeed at making any of those ideas happen. I’m not really sure how best to do that. One experience that feels relevant is something I did a while ago, making a glass full of paper stars.
It takes me about three minutes to make one of those stars, including cutting up the paper for it. The glass contains about a hundred and fifty stars, so all up it took about eight hours to make, over the course of a few weeks. Each time I would spend a half hour or so working on the project, adding 10 or so stars, the difference in the number of stars in the glass, percentage-wise, was tiny, almost imperceptible. But making the stars was an enjoyable thing to do with my hands, it felt good physically to just make them. So that’s maybe a source of inspiration for how I can value incremental progress better: take pleasure in the small, in the mechanical process itself, without reference to the larger project.
Another idea that comes to mind is to use some more extrinsic system of motivation, something like using a Pomodoro-like system and just adding up all the time blocks I’ve spent on something. That feels like Sam Gentle’s idea of the Elo paradox: the feeling of constant improvement is very important. “Time blocks spent on X” is a number that never decreases, and if each time block is small enough, it’s relatively easy to add to the number and feel like you made progress. I suspect this is also subject to the “just one push-up” effect, which I’ll write about another time.