Never put off until tomorrow what you can do the day after tomorrow. - Mark Twain

Procrastination is defined as: “The action of delaying or postponing something.”  It is something with which I am unfortunately very familiar with. I have suffered from it, or been guilty of it, for as long as I can remember.

Why?

Facebook, twitter, read a book, IM a friend, see what films are on the movie channels, do housework, go for a walk, play a video game, re-check email, call my fiancée, write some code, mindlessly read RSS feeds for the latest up-to-the-second news about the latest iPhone rumours even though I no longer own an iPhone. In short, do anything but that which I have set out to do, which is write a blog post about procrastination.

Case in point on how much I procrastinate about certain things: This blog post. It’s been almost a year since I last edited it and saved it as a draft.

[caption id=”attachment_326” align=”aligncenter” width=”452”]Last Edited I am lazy[/caption]

I’m not going to even attempt to write about curing procrastination because I obviously haven’t found something which works for me. There are also a myriad of websites and books available on this subject, and it is painfully obvious that I am not the one to be giving advice on how to beat it. I will instead attempt to explore why it is that I do it.

So why do I procrastinate? An easy question to ask, a harder one to answer. Avoiding thinking about the answer to this question by looking through hits on Google leads me to this blog post at Lifehack.org, on overcoming productivity. It contains a number of basic reasons why people procrastinate, and I can identify with all of them, although some more than others. That it is a basic list implies that there are more complex reasons why people procrastinate.

After reflecting on this question for some time, I think that I can confidently say that when I embark on a new project, the initial excitement and enthusiasm for it carry me through, but once that wears off, my interest in it starts to wane. In the case of a coding project, the problem domain is what interests me, the technical challenge of designing and implementing a solution to the problem; once that problem is solved, the interest wanes, and the finer details fail to get polished.

This is in itself fairly interesting, because as a programmer, I do tend to be a little OCD over certain things. Obviously this doesn’t extend to finishing projects. Take for example the Github API library I’ve been “working” on for far too long. Obsessing over tiny implementation details of the best way to handle authentication and access to methods on the API which require authorization has been my primary method of procrastination on this particular project. Now that I’ve pretty much resolved that particular issue, the detail of actually fleshing out all the methods for the API  seems like a boring chore.

This also extends to blogging, clearly evidenced by this blog itself with the almost year long hiatus between updates. Then there is another blog, on a wholly unrelated subject, which I started about 4 years ago and haven’t updated in three-and-a-half. I’ll get the blogging bug, write a few posts, get bored with it, and stop.

I really do need to put a stop to this, as it is becoming a big problem for me, as well as making me look like an idiot. Maybe this whole cathartic post might help me in some small way.