When forced to wait, wait!

When a problem you are working on forces you to wait, do you wait or switch tasks?

For example, if you are uploading a bunch of new web pages and it's taking a minute, do you almost instinctively open a new website or instant message?

I used to, and it made me less productive. I would try to squeeze more tasks into these short little idle periods, and as a result I would get less done.

Multitasking during idle times seems smart

Doing other things during idle times seems like it would increase productivity. After all, while you're waiting for something to load you're not getting anything done. So doing something else in the interim couldn't hurt, right? Wrong.

Switching tasks during idle times is bad, very bad

While you're solving one problem, you likely are "holding that problem in your head". It takes a while to load that problem in your head. You can only hold one important problem in your head at a time. If you switch tasks, even for a brief moment, you're going to need to spend X minutes "reloading" that problem for what is often only a 30 second vacation to Gmail, Facebook, Gchat, Hackernews, Digg, etc. It's clearly a bad deal.

Don't multitask

If you're doing something worth doing, give it all of your attention until it's done. Don't work on anything else, even if you're given idle time.

Why you can't multitask well

Human intelligence is overrated. Even the smartest people I know still occasionally misplace their keys or burn toast. We are good at following simple tasks when we focus, most of the time. But we are not built for multitasking.

Can you rub your head clockwise? Can you rub your belly counterclockwise? Can you say your ABC's backwards?

Dead simple, right? But can you do all three at once? If you can, by all means ignore my advice and go multitask.

Wait out those idle times

If what you are doing is easy or mundane, multitasking is permissible because loading a simple problem like "laundry" into your head does not take much time. But if what you are doing is important and worth doing, you are obligated to give it your full attention and to wait out those "idle times".

If you switch tasks during your idle times, you're implying that the time to reload the problem is less than the time gained doing something else. In other words, you are implying what you are doing is not worth doing. If that's the case, why work on it at all?

Notes

  1. Influenced by Paul Graham's Holding a Program in One's Head
  2. Of course, if you're given a very long idle time, then feel free to switch tasks. Don't spend 4 hours staring at your screen waiting for a coworker to get back to you.


Posted 01/14/2010

Was this essay useful to you? Yes | No
Powered by
brecksblog Posts: What can a Programmer learn from Rock Climbing? Look for a Line Backpack the World with Zero Planning The Economy Explained Ruby You Can't Predict the Future Critical Thinking Kids are Neat How is Intelligence Distributed? Recommendations Are Far From Good Nature Verse Nurture Circle of Competence What Percentage of the Brain Does What The Recency Effect The Ovarian Lottery & Other Side Projects Happiness is in Mediocristan What I Want Orbits The Do You Know Game and Why We Need Celebrities Design Matters, a lot Competition and Specialization Simple, but not easy Flip Flopping The Churn Rate of Data Culture and Complexity The Invention of Free Will Why is it best to do one thing really, really well? The Hidden Benefits of Automation Metrics for Programmers HackerNews Data: Visits as a Function of Karma Don't talk about what you will do, talk about what you have done Why it's worth it to buy the book The Least You Can Do Four Tips to Improve Communication Network Effects If you can explain something logically, you can explain it simply With Computers: Don't Repeat Yourself. With People: DO Repeat Yourself When forced to wait, wait! How to Buy Low, Sell High Flee the Bubble Checklist for New Products Diversification in Startups Thoughts on Setting Goals Problems Worth Solving Make Something 40% of Your Customers Must Have SEO Made Easy: LUMPS Don't Flip the Bozo Bit (un)features Get Stuff Done By Setting Arbitrary Constraints Why You Shouldn't Save Blogging for Old Age 6 Specific Ways to Find Programming Mentors Orders of Magnitude The Many Worlds Law Twelve Tips to Master Programming Faster What's Linear Algebra? Fiction or Nonfiction? Experience is What You Get I'm Back Check out my roommates' companies:
Jellyfish Art makes great Jellyfish tanks
30 Words makes great language guides