Recently I started following the StackOverflow podcasts by Jeff Atwood and Joel Spolsky. It's better listening to them, on the way to work, then listening to the Israeli politics crap.
I was listening today to another great episode (#31) where they were talking on the "programming swamp" and how to get yourself out of it.
I think almost every average programmer have this kind of "swamp" times when you are in a lack of energy to just sit and write code. You feel like the task is too heavy to carry, it is boring, you don't know where to start, the design is still not fully mature in your head, etc...
Usually what happen is that the coffee machine becomes your best friend or your grade in the office Wii console is climbing up. That's a good sign you're in the swamp, finding it very hard to move the block in your head that prevent you from sitting down and coding.
I must say, I just went through one of these blocks last week. I wanted to evaluate 'Pig' as a technology to be used by outbrain. (I promise a post about this). I just couldn't make myself sit and start banging my head with the framework. Start doing this task was the hardest part of the task.
Usually, when you are facing a task you know there will be many difficulties while doing it and it seems... 'hard'. This is the first good sign that you are in the 'swamp'. Then you start thinking how you are going to solve them, but reading blogs, news etc... seems like more interesting at that time. That's the smell of the swamp.
The only one that can pull you out of the swamp is usually... you. You don't have to do much, just take a small thing you need to do for that project and do it. Simply move the block few inches.
Then, the day after or right after lunch take another small thing and do it.
For me it was:
- "Hey, why won't I *just* install Hadoop".
- "OK... I've got Hadoop running... lets *just* load it with my data file".
- "mmm... Pig, Let's *just* build the framework."
Actually after 2 or 3 little blocks you move, just few "justs"... you are out of the swamp, you are very much into the task you are doing, very focused and enthusiastic about it.
Suddenly, every *difficulty* becomes a *challenge*, it becomes harder to convince you for a Wii game or lunch or, in my case... to go to bed. Your caffeine level is dropping and other colleagues become better Wii players then you. Now they are in the swamp.
Be a good friend give them your advice.