Friday, November 13, 2009

do you really want to wait your life away?

Recently I heard one of my chatty cubicle neighbors complaining about how long it was taking for some computer related task to finish - he was falling asleep just waiting.

It's the nature of working with computers that sometimes a job involves a long wait. I can't stand waiting. I get impatient if something takes more than just a few seconds, let alone minutes. It might be tempting to surf the internet while waiting, but given that most companies track your internet access these days, I rarely do this[1]. So here's what I do to avoid waiting.

If it looks like a task is going to take a long time, I try to make sure that I can't narrow it down to something which will run much more quickly. If I'm debugging a problem that occurs during a long-running process, I'll try to get the problem to occur during a simplified process that takes as little time as possible.

If there's no way around it, and I have to deal with a long-running process, I multitask. "Luckily" I usually have a healthy queue of things that need to be done. And usually there are a few items on that queue that don't require a lot of focus, and can be done in a fairly short amount of time. When I'm slowed down, I open a second instance of my IDE to work on one of those tasks.

I don't enjoy multitasking, and it is an oft-quoted observation that context switching is expensive. But if you have to wait for something, and you're staring at the screen with toothpicks propping up your eyelids, you're context switching anyway. Instead of just napping while I wait, I'd rather use the time to do something productive (whether my job entails doing things that are ultimately productive is a whole other can of worms).

[1] The truth is, I've seen coworkers surfing the net frequently, and I doubt there's any heavy-handed policy against it. But for some reason, it still goes against the grain, so I just don't do it.

No comments:

Post a Comment