Programmer’s Block
Russell Beattie posted the other day about his tendency to procrastinate on programming projects. I think anyone who has worked on a serious, non-trivial application has to have struggled with this problem from time to time, and I am certainly no exception.
In fact, I’m personally going through a pretty dry period at the moment, in both my personal and work projects. I would liken it to writer’s block—it’s exactly the kind of thing songwriters talk about when they say “Every time I finish an album I’m afraid I’ll never be able to write a song again.” To me, “programmer’s block” is the best proof yet that software development is, contrary to popular perception, an emphatically creative discipline.
Part of my problem right now is that I’m in a bit of a quandry about how to proceed on my “personal” projects (PodWorks and my EXIF project). More broadly, though, I think I agree with Pascale Soleil, who commented on Russell’s post that “serious procrastination is actually a manifestation of depression” which often can be caused by “low self-esteem.”
In my case, it seems to be a self-perpetuating cycle. When I’m doing
well on a project, my self-esteem tends to increase as I marvel at my own
cleverness in solving problems. This glow continues after a release, as I
soak up positive
href="http://www.versiontracker.com/dyn/moreinfo/macosx/17443">VersionTracker
feeback,
href="http://www.oreillynet.com/cs/weblog/view/wlg/2484">mentions in the press, celebrity customers, and the like (none of this applies to my work projects, of course, but success there has different kinds of rewards).
After taking it easy and enjoying my accolades for a couple of weeks, however, I start to feel the need to get back to work. If getting back into the swing of things is easy, as it sometimes is, there is no problem. If, on the other hand, I have a hard time (say, because I can’t resolve how best to proceed), I start to get frustrated by my lack of progress. This frustration breeds low self-esteem, and ultimately, I think, leads to a sort of “mini-depression” (not the “I want to slash my wrists!” sort—just a kind of general melancholy). This depression makes it even harder for me to make any progress, which in turn breeds lower and lower self-esteem.
Just like the songwriters mentioned above, I always manage to break the cycle eventually. Invariably, I finally hit on the inspiration I need to overcome whatever quandry is slowing me down, and begin making progress (and experiencing the attendant surge in self-esteem) again. Still, as Russell says, “programmer’s block” can be a pretty stressful and terrifying thing to experience when you make your living as a developer!