There is a great productivity post specifically for programmers and software engineers. Logan Koester tries number of ways to get through his coder’s block. Similar to writer’s block, in coder’s blocker, one couldn’t get started on a project or stuck in a problem for long period of time.
For my entire programming career (that is to say, my whole life), I’ve been searching for a solution to what I call “Coder’s block”. Roughly half of the days I sit down in front of my editor I find that I simply can’t get started. I’d imagine anyone who has been coding for longer than a week will agree that the most difficult problem is often simply finding out where you (or the guy before you) left off yesterday, last month, last year, or before you took out the garbage. Once you know where to start, the how falls into place by itself.
I can only speak for myself, but during this reacquaintance stage I’ll often get distracted by just about anything. Usually the culprit is Bloglines, Thunderbird, Gaim, or any other application that pops up to notify me of something going on. Giving into these temptations is suicide. I can literally get sucked in and spend an entire day accomplishing absolutely nothing.
Make sure to read through the comments – there are some great suggestions over there as well.