For the last week or two I’ve been working on a software project that I am very happy about. It’s an ambitious undertaking, arguably too ambitious to be tackled by one person, but the challenge is part of the fun.
I’ve been observing how I’ve been wrapping my life around this project and vice versa. Whether or not I go into work, hang out with friends, see a movie, each day I make sure to put in several hours of work on the project. It’s astonishing how much you can get done over the course of time if you devote several hours each day to something.
Of course not all hours are the same. Sometimes I feel tired and distracted, at other times full of energy and focus. So I’ve come up with strategies. When I’m at my best and most clear headed, I tackle the harder parts. But at other times I have a list of “clean up jobs”. These are tasks that really just require putting one foot in front of the other — nothing spectacular, but necessary for getting the job done. In this way there’s always something useful I can do, no matter what my mental state.
And if all else fails, I go to NetFlix and watch a few episodes of some stupid TV show or other. This strategy is always successful in the long run, because sooner or later I realize that I’d really rather be programming.