This week I was coding for hours on end while also doing laundry. It was great because I had 45 minutes within which I was trying to be productive before I had to do another load. If I had 5 hours to sit still in front of the computer, I would probably get maybe an hour or two of work done. During some sessions, I only did 15 minutes of work, and usually towards the end. The thinking was “Oh, geez! The timer is going to go off soon! I better get some productive time in!” Other times, I managed to use between 30 minutes to the entire 45 minutes.
After the laundry, I was still in a productive mood, so I kept going past the time I would otherwise eat lunch. My sandwich was especially delicious afterwards. I worked for a few hours, and then I felt I needed a break. I decided to play a game that I needed to review for Game Tunnel. I t would be fun as well as productive. I played for an hour or so, then tried out a different game since I was in the gaming mood.
It took me hours before I returned to programming that evening. I wasn’t exactly in The Zone earlier, so it isn’t that I fell out. I just wasn’t too motivated. Maybe I was too tired? No, I felt fine. It took some effort on my part to convince me to continue programming. Steve Pavlina, as he uncannily and usually does, wrote about exactly what I was experiencing in What’s Your Motivation Threshold?
He describes how certain tasks might not require too much motivation while others require a great deal of it. Checking email or getting a snack might not require a lot of motivation. I think it is partly because it is so easy to do some tasks that it isn’t like you are thinking about the effort you need to exert. Some people can easily play games, but for most games, I have to reboot a machine so that it shuts down Debian Gnu/Linux and starts up Windows. I can’t just play a game for a few minutes like some people can. Maybe some people would consider it a good way to keep productive, but that’s besides the point. As for email, I have Thunderbird up and running at all times, so it is a few seconds of my time to check if I have new messages, and with RSS feeds, another few seconds to check on blogs and news items. It is so easy, in fact, that I can find myself checking email what must be hundreds of times a day. Those seconds can quickly add up.
Programming, however, involves work. I have to think about what I am doing, and the nature of what I am doing is such that it is uncertain and unexplored territory for me. I noticed that whenever I think about programming, I am either thinking about finishing something that I started the last session, which doesn’t require a lot of motivation to do, or I am thinking about starting or designing a new task, which requires a lot of motivation. In the first case, I am basically on rails. I might have already written some stub functions, so it is just a matter of creating the implementation. What algorithm would work best here? What variables would I need? I’ve done similar things before, so it is easy. It’s almost as easy as checking email at that point, although if you would have asked me to do so a year or two ago, I might have felt that the task was still daunting. In the latter case, I need to think a lot more. I don’t have a lot of experience with design or project management. I have to really want to do it before I will do it.
So I think that the motivation threshold is partly a function of experience and partly a function of urgency. I’m sure someone who doesn’t know much about computers would feel that checking email is still a strange and foreign task (present maternal figures excluded, of course) and would really have to need to check email before trying to do so. It is why students will wait to the last minute to do papers. It may be important, but it isn’t urgent…until it is the night before the due date!
I don’t have a strong and urgent need to finish Oracle’s Eye. My income doesn’t depend on it as I have a day job. So what helps motivate me to work on it? What acts as my motivation modifier? I remind myself that I want to depend on it. I want to finish the game so that I can have something to sell. The sooner I can get to selling, the sooner I can work towards getting GBGames to provide financial independence from any normal day job. I don’t always roll 20s, but it usually puts things in perspective and gives me the boost I need.
No, I’ve never played D&D.