Friday, February 19, 2010

Concentrate!

As a designer, I often heard how disruptive it can be to interrupt a programmer's concentration. Though I doubt I was good about it, I tried to foster the habit of giving programmers time to "finish a thought" before we began talking, and the disruption began. Now that I'm scripting, I find it interesting to experience a taste of that focus.

Though I'm sure a proper programmer would have it whipped up in no time, this random level adventure really twisted my brain in knots, and I was always surprised at how exhausting it could be. I remember the same thing happening after all-day design meetings, where my brain simply couldn't squeeze anymore juice out of it, and I felt a physical exhaustion from it. But grappling relentlessly for hours (my mind won't let go!) with a logic problem goes beyond physical exhaustion into physical pain.

I wonder about what, if any, exercises programmers develop to manage this. I find if I jot down a bunch of comments about my train of thought then it is much easier to redirect my attention. I also find that taking a break frequently results in an overall time efficiency via a sharper mind. Sometimes I have difficulty sleeping if a problem still haunts me, and staying up to finish is worth it for the sleep, but woe be unto me if I fail, staying up late getting nowhere with a weary brain. And it seems so hard to start a new task after being so satisfied completing the previous. So interesting.

3 comments:

  1. I write down notes before I go home for the weekend if I'm in the middle of a big programming problem. It lets me focus on other things over the weekend but more than that, it really is more so that I will be able to figure out where I was and pick it back up again when I get back to it. I think I've gotten fairly good at leaving that stuff at work when I go home, especially when there's a whole weekend between work days.

    Of course that doesn't really work for my own projects at home, but lately I think I've also gotten better at recognizing when I'm not going to get anything done because I'm too tired. I've burned out a few times after a week or two of intense problem solving and when that happens I tend to not pick back up where I left off for an extended period of time. Knowing that the only way to make any progress is actually to take a break and/or get some sleep can really help prevent it from getting to the point of actual physical pain. That, in turn, eases the stress and ultimately lead to more continuous productivity.

    For personal projects, the rest of my life has to also be going well enough that I have the energy and time (energy is more important, as if there's enough, I will make the time) to work on them.

    ReplyDelete
  2. I remember coming in on a Saturday once to work on VH with you. And you kept shooting one of the toy pistols over and over (felt like right next to my head). I held my tongue, but I wanted to kill you that day. :-P

    ReplyDelete
  3. I was just reading that reports of social networking sites causing a loss in productivity are actually short-sighted. Humans weren't built to stay focused for a long period of time - breaks are essential to efficiency.

    ReplyDelete