I don't know about you, but I have had to fight procrastination most of my life! There, I've said it! It can not only reduce your productivity, it can completely remove it. It's easy to fall into it. It's particularly easy after being sick for extended period of time, meaning more than the 2-3 day being-sick-with-the-flu thing.

After being sick with pneumonia this fall and having to be away from work for somewhere around a month simply because I did not have the energy to do it, it was extremely difficult for me to get up again and off the couch and get productive again.

Procrastination can be caused by many things. Overwhelming projects, never ending backlog of things that need to be done yesterday, over-committing, bad time management, bad planning skills... the list goes on. Programmers often tend to have problems with time management and time estimates. Which is why most programmers have to deal with slipping deadlines - we are too optimistic about our abilities. "This will only take an hour" we say and two days later we are still not done with it! We hit unexpected problems, uncooperative tools, incomprehensible code that we wrote 10 years ago and we have absolutely no clue what the heck we were smoking back then;)

We blatantly ignore the fact that there are only 24 hours in a single day and in a blazing explosion of optimistic egomania we sit down Monday morning and note down 14 tasks that we are absolutely going to finish tomorrow. We tell our clients that we'll have all of this done by tomorrow at 5PM, completely ignoring the fact that we know that the first 5 tasks will take at least 10 hours to complete, EACH! And the other 9 will take at least an hour each. So we have, without problem, squeezed 59 hours of work into a 24 hour day and we see absolutely nothing wrong with it.

Tuesday morning comes around and we realize that the first task which we expected to take 10 hours will in fact take 20. So we decide to do some research on how we could perhaps complete it faster. Maybe someone else has tackled this and have posted some code we can use. Google finds 1.5 million solutions and we go through all of them, just to make sure they don't fit. Once we have completed that we realize it's Thursday already and the code is no closer to be done than it was Tuesday morning. We just spent 3 days procrastinating over something we might as well have tackled right away and gotten done.

Next week comes along and again, in our plans, we have managed to carefully compress about 240 hours worth of work into Monday through Thursday, no problem at all! Easy! Monday morning we check the newsgroups and find an interesting thread on comp.lang.clarion about someone who bought a dog that was infected with some extremely rare illness.

300 messages later and after a very heated and heartfelt debate about the fate of the dog, who incidentally died before the thread, we are exhausted from all the drama and need a well deserved break.
Nap and some TV will fix that for sure. It's Thursday by now, again... After a long nap we wake up exhausted and grumpy. The day is gone, the week is gone, and all we have to show for it is old news about a dead dog.

We cram 500 hours into Friday and call it a day! A nap in front of the TV. Priceless!

Friday morning we get up depressed and not feeling good about our progress, our client, our project or ourselves. The client called and asked about progress. "Not done yet???" Unexpected problems and lengthy research required. "OK, when will it be done? We need this by the end of next week as we are adding a new install here and need this modification." It'll be done Thursday next week. We finally have to face the fact that we over-committed and procrastinated because our time schedule was completely irrational. We begrudgingly face reality and work our butt off for the next 7 days, get the job mostly done - done enough for the client to be happy with it, or at least that's what they said. A year later we get to thinking about this client and why they never called again... They must have been so happy with our work that they'll never need anything else. Somewhere deep in our subconscious we hear someone scream "YEAH, RIGHT!!!" Must be some background chatter on TV. Wow, did you see that?!

The above is a bit exaggerated but I'm sure many of us have been in some version of this situation at some point in our lives. The question is how to break out of it and become productive again. I could say that I'm procrastinating writing this blog post, but it has a purpose: I intend to use this blog to help me break out of the procrastination habit. Writing gives me an extremely strong feeling of being productive. It invigorates me, it makes me feel energetic and in control. It also gives me a venue to both express myself and also explore things.

What I, and many others, have found over the years is that writing about something makes it easier to understand and come to grips with. How many times do we post technical or support questions on newsgroups or forums or other interactive media, only to realize the answer as we are writing. Writing about the problem forces us to focus on it in a different way than when we just stare at it. It kicks the brain into gear as we explain what the problem is. Doing that we connect different pathways in the brain and often times the answer just pops up. Because we explained the problem to others, and thereby to ourselves, our brain got a fresh perspective on it and figured it out.

So please bear with me as I try to find the best ways for me to fight my tendency to procrastinate and fight the seemingly ever relentless inertia that can so easily keep me from getting things done - things that I really want to get done! Who knows, maybe my posts will give you some fresh ideas. 🙂 I have things to do, places to go. I guess I'm writing this here, because I think the first step in the recovery or healing process is to acknowledge and admit to myself and the world that I have a problem and that I'm determined to fight it and win! On that note, I only have about 34 hours of work scheduled to do tomorrow so it's going to be an easy day. 🙂

Arnor Baldvinsson