While I’m on the subject of productivity, I want to address interruptions in the workplace.
1) Interruptions are bad.
The short version: it takes about a half hour to get back on task after an interruption.
You probably don’t need much convincing on the idea that interruptions are bad. If you do, here are some links with background on why they’re bad, and how bad they are.
2) Interruptions are worse for programmers than for most other occupations.
Programmers tend to carry a lot of state in volatile RAM (to make an analogy to the hardware world). If a programmer figures out a complex problem and is interrupted before he/she can get the solution into a persistent form (code, pseuocode, sketch on the back of a napkin, etc), it’s entirely possible that the solution will be lost. If a programmer is implementing a complex algorithm against a tight deadline and is interrupted, it’s possible that the programmer will leave something out.
3) The modern workplace is structured to maximize interruptions.
There’s a telephone on your desk. At any time, anyone in the world can call you and interrupt you for an arbitrary amount of time. Most of us sit in cubicles, where anybody can walk into your office at any time for any reason.
So interruptions are toxic to productivity. But what can you do about them? Some ideas:
1) Headphones can filter out a lot of office noise that’s not specifically aimed at you.
2) If you’re in the middle of something complex and someone walks into your office, ask them nicely to give you 5 minutes to finish what you’re working on.
3) Telework if you can.
4) Print up a single-page writeup on the negative effects of interruptions on productivity. Whenever you’re interrupted, hand the interruptor a copy. 🙂