How do you cope with coders coma?

Language Agnostic

Language Agnostic Problem Overview


As a programmer I sometimes find myself in the position of being dealt a task which is utterly tedious and downright boring. This is not surprising, it would be odd if all aspects of programming were fantastically challenging and fun, but that doesn't change the fact that I wish I could live without these types of assignments.

For the most part, I manage to just power through by simply finishing the task as quickly as possible, but other times it's just not that easy. I find myself doing anything but finishing the boring assignment, taking on multiple other assignments if I have to, just so I get a reason for not finishing. This is of course affecting my professional life, as I'm constantly jumping from challenge to challenge, leaving a trail of unfinished blah behind me.

How do you cope with coders coma? Are there any tips on how to be more productive when it comes to finishing boring stuff?

Language Agnostic Solutions


Solution 1 - Language Agnostic

I quite like Steve Pavlina's timeboxing method to get rid of tedious tasks. It applies whether you have boring code monkey work to be cracking on with or a pile of junk in the closet at home you need to sort through.

tl;dr of the link: Timeboxing means allocate a time slice, then work, cutting out what would put you behind. It is meant to get rid of the motivation for procrastination, by not making the tedious task take up more time than it is worth. Besides tedious tasks, timeboxing can be used to make a dent in something complicated enough that you don't know where to begin.

Solution 2 - Language Agnostic

One thing that I do when I know I'm putting off doing something (either by doing other tasks or just slacking in general) is to write down a schedule on a piece of paper for what I'm going to do for that day. It sounds stupid, but try it. Just write down what you're going to do and in what time range. The feeling of crossing an item out on your list is great, but the feeling of throwing out that entire list is even better.

Solution 3 - Language Agnostic

If the task is tedious because it is repetative, I write a program to do the task for me. ;-)

Solution 4 - Language Agnostic

Pass it on to one of the Interns

Solution 5 - Language Agnostic

I generally try to solve the problem in a new way. For example use something you've just learned. Obviously expects bug and longer development time, but at least it'll be still fun.

Or you can just hire some cheap programmers from the other end of the world to finish the job for you :)

Solution 6 - Language Agnostic

Amp...lots and lots of Amp....a good sugar buzz is all the motivation I need sometimes...

Solution 7 - Language Agnostic

Nobody mentioned the Pomodoro technique. Timebox 25 minutes where you want to be absolutely undisturbed, turn off email, phone, IM client, etc.

It's amazing how much you can actually get done when working only on one thing :)

More info on this page about the pomodoro technique

Solution 8 - Language Agnostic

There's no one simple way. The worst thing to do is to start multitasking to avoid tackling the boring stuff. The best way by far is to just do it as soon as possible and as quickly as possible, to get it over with. This becomes a problem if the task is pretty huge, say a weeks or even months worth of work, since it's really difficult to motivate yourself to work with tedious crap day-in, day-out.

Then again, it's all part of the job. You could as well be working at a Kwik-e-mart or sweeping floors somewhere. Tedious tasks need to get done too, unfortunately and there's no quick and easy way out of it.

Solution 9 - Language Agnostic

I usually offer one of my daily prayers (salat) and after that I said to myself, "You not going home until you Finish that, Whatever the task, or for however long you need to stay at office."

Solution 10 - Language Agnostic

A). Try and do something new as part of the boring task. That could be writing it in a new language or using a different framework technology. Recently I tried scratch-writing a Restful-MVC framework into .NET 2.0 for example.

B). Split my time 50/50 with an interesting project, always deferring the interesting stuff to the afternoon (better to coincide the stimulating work with that lethargic mid-afternoon brain-fail cycle)

C). If you really just have to get through it, treat yourself with things outside of work so you don't get too depressed. Junk food, sleep, xbox time, whatever. Hopefully your partner is accommodating :)

Solution 11 - Language Agnostic

Break the task into atomic pieces (as far as possible) and then follow ryeguy's advice of task lists. I like to use the 'Getting Things Done' approach (GTD), and just incorporate the pieces of that task into the rest of my work. Breaking it apart helps minimise the boredom and using a structured task methodology makes sure I still get it all done.

At the end of the crap task, reward yourself and use that as a driver for future tasks of the same ilk.

Solution 12 - Language Agnostic

When I get like this, I think of what http://en.wikipedia.org/wiki/Hillel_the_Elder">a Great man had to say: If not now, when? And I just do it. I find that waiting to get motivated to do things will get me nowhere. I also find that doing things, even when I don't want to, gets me motivated to keep going and to continue working on my project.

Solution 13 - Language Agnostic

  1. Break up the task into less-annoying chunks.
  2. Occupy your brain as much as possible: if the task only requires 20% of your intellect, you can probably listen to CNN radio (in some other language that you've studied, for instance) in the background. If it requires your full concentration, listen to whatever music you can without getting distracted.
  3. Avoid simple carbs (sugars especially). This is personal, but I find that they cause me to crash and need a nap. Which is good sometimes.
  4. Fight with your husband/wife/friends/etc. beforehand. This will make it very hard to focus and then boring tasks are a godsend.
  5. Many times, repetitive tasks are better coded than performed. I end up writing a huge amount of "code" in Excel/OpenOfficeSpreadsheetThinger (Excel writes Ruby, etc. perfectly :) and using global find and replace in Netbeans. This might take longer the first few times, but these are tools that you need to learn to use.

Solution 14 - Language Agnostic

If it applies and is possible, I try to explore a technology or methodology to peek my interests. However, this is not always possible.

I too have also found that breaking some huge, boring, or daunting task into smaller, easier to swallow tasks works best.

Solution 15 - Language Agnostic

I pour the green stuff from a glow stick into my Mountain Dew.

Solution 16 - Language Agnostic

I don't get coder's coma. I get mismanaged paralysis, where I do nothing because I'm afraid that any move is wrong.

Solution 17 - Language Agnostic

It may not be the answer people are looking for here, but I sometime write programs to automate these stuff!

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionMia ClarkeView Question on Stackoverflow
Solution 1 - Language AgnosticKirschsteinView Answer on Stackoverflow
Solution 2 - Language AgnosticryeguyView Answer on Stackoverflow
Solution 3 - Language AgnosticKramiiView Answer on Stackoverflow
Solution 4 - Language AgnosticTStamperView Answer on Stackoverflow
Solution 5 - Language Agnosticdr. evilView Answer on Stackoverflow
Solution 6 - Language AgnostictheGView Answer on Stackoverflow
Solution 7 - Language AgnosticJesper Rønn-JensenView Answer on Stackoverflow
Solution 8 - Language AgnosticTommi ForsströmView Answer on Stackoverflow
Solution 9 - Language AgnosticadopilotView Answer on Stackoverflow
Solution 10 - Language AgnosticannakataView Answer on Stackoverflow
Solution 11 - Language AgnosticLazarusView Answer on Stackoverflow
Solution 12 - Language AgnosticRonView Answer on Stackoverflow
Solution 13 - Language AgnosticDan RosenstarkView Answer on Stackoverflow
Solution 14 - Language AgnosticAaron DanielsView Answer on Stackoverflow
Solution 15 - Language AgnosticBlack CatView Answer on Stackoverflow
Solution 16 - Language AgnosticJoshuaView Answer on Stackoverflow
Solution 17 - Language AgnosticfastcodejavaView Answer on Stackoverflow