# Saturday, February 05, 2005
« Scoble's Link Blog | Main | Gmail Invites »

OK, I’m a little embarrassed to admit but I’ve been suffering from coder’s block this week. It’s a state similar to writer’s block which is defined as “a usually temporary psychological inability to begin or continue work on a piece of writing”.

I think probably everyone suffers it from time to time and, although I haven’t had a case for a number of years, this has come at a most inopportune moment because we are on a very tight schedule with our current release.

I guess it’s a little like depression in that you can’t just mentally “fix it”, you need to work through the cause. In this case I don’t think it’s an inability to write code, it’s more a case of too many possible solutions to the problem in question. They are all good but none are perfect. In particular one of the requirements is to allow additional code generation (note – not just an add-in, this is adding to the system) post release by our professional services engineers. This is hard for me because my brain prefers to work spatially – I need to see the design animated in my head before I code it up; not something that’s possible if an unknown chunk of code if going to be added by someone at a later date. Talking with other developers didn’t help because all that did is give me more good solutions to consider.

The other problem is that there are a number of very intricate details that have to be thought about or the implementation won’t meet the requirements. Completely overwhelming if you look at them together so on Friday I decided to take a leaf out of the extreme programming book – baby steps. I started by ignoring the mass of requirements and implementing a really small section. By lunchtime I was back in the flow, I managed to check-in something yesterday evening and things are looking to be back on track.

So if you are suffering similar then I can offer the following advice:

  • Take a break and do something completely different like go for a walk, however doing this too often is just procrastination
  • Try and work out what is causing the block and fix those issues one at a time
  • Take small steps to get something (anything) working
  • If all else fails, see if you can swap your feature with another developer
by This posting is provided "AS IS" with no warranties, and confers no rights.
posted on Saturday, February 05, 2005 10:09:17 PM (GMT Standard Time, UTC+00:00)  #    Comments [3] Trackback
Related posts:
VSTS and TFS 2010 Video Roundup
Link Dump
Third time perfect
Link Dump
This week I 'ave been mostly been working (*)
Source Control Branching and Integration
Sunday, February 06, 2005 7:37:10 AM (GMT Standard Time, UTC+00:00)
James, I sympathise with the "state of mind" you describe above; and I applaud you for writing about it in public.

Among the tactics I've used to deal with this kind of situation are: always stop your working day at a point where you've thought through the next 15 to 30 minutes of what you need to write / code / design (if necessary, write a little note to yourself describing what it is) so that when you start work next day, you really don't have to think about it (which gives the creative juices a chance to start flowing) you just get on and do it; and, try to categorise the kind of work you do into groups which define how much creativity / intellectual capacity / emotional energy you need to do them, and try to keep a few tasks in each (currently, I have "Schumacher", "TJ" and "Sunday Granny Driver" groups, the names change) so that when I'm in Scumacher mode I get those things done, but when I'm (regularly) not, I have lower-intellect-level work to do.

The other observation I'd make is that depression doesn't always *have* a cause; and so it isn't always amenable to a rational solution. I suspect the same is true of intellectual creativity, i.e. sometimes it leaves us for a while; and we can either go mad looking for an explanation why, or accept that we've had it, it's temporarily gone walkies, but will probably be back again soon enough; sooner, if we don't stress about it.
Sunday, February 06, 2005 8:53:52 PM (GMT Standard Time, UTC+00:00)
Koan, I dont really like the insinuation of being a lower intellect level!

Jim, Bravo! TJ
TJ
Tuesday, February 08, 2005 5:58:38 AM (GMT Standard Time, UTC+00:00)
I could have phrased that better, couldn't I! Sorry... mind you, TJ, *have* you won the Formula One drivers' championship a record number of times? Not yet... personally, I wouldn't be insulted to be described as a notch lower than Valentino Rossi in the riding stakes... ;-)
Comments are closed.