Tuesday, October 23, 2012

Why a programmer should not be interrupted

I've searched for this a few times on the Internet before, and found some examples, but none as clear as Joel who, as usual, has produced a hilarious article describing the issue.

It is amazing how true all this is, he worked at Microsoft, so I guess he's had plenty of experience.

http://www.joelonsoftware.com/articles/fog0000000043.html  Look at point 8.

I copy the funny part, but read the whole article as it contains other important steps any company should follow.

Here's the simple algebra. Let's say (as the evidence seems to suggest) that if we interrupt a programmer, even for a minute, we're really blowing away 15 minutes of productivity. For this example, lets put two programmers, Jeff and Mutt, in open cubicles next to each other in a standard Dilbert veal-fattening farm. Mutt can't remember the name of the Unicode version of the strcpy function. He could look it up, which takes 30 seconds, or he could ask Jeff, which takes 15 seconds. Since he's sitting right next to Jeff, he asks Jeff. Jeff gets distracted and loses 15 minutes of productivity (to save Mutt 15 seconds).
Now let's move them into separate offices with walls and doors. Now when Mutt can't remember the name of that function, he could look it up, which still takes 30 seconds, or he could ask Jeff, which now takes 45 seconds and involves standing up (not an easy task given the average physical fitness of programmers!). So he looks it up. So now Mutt loses 30 seconds of productivity, but we save 15 minutes for Jeff. Ahhh!

Thank you Joel.