The Effect of Environment on Code Quality

By Deane Barker on April 3, 2005

A few months ago, I read Steve McConnell’s book “Code Complete”. It is, without a doubt, the best book on programming I have ever read. It doesn’t matter what platform you code in, this book will help you do it better. An absolute goldmine.

Besides down-and-dirty coding strategies, McConnell discusses “soft” skills at the end of the book. Things like personal character — I don’t care how much of a .Net ninja you are, if you can’t admit it when you screw up, that’s something that compromises your abilities as a programmer.

He also discusses how to get the best out of programmers, and he mentions the book “Peopleware, of which Joel Spolsky has always been a huge fan. Spolsky cited the book in the development of his “bionic office.” I’ve always meant to read it.

On page 684 (second edition), McConnell reprints an eye-opening table from Peopleware. It’s the results of survey questions posed to programmers, and it showed the difference in answers between the top 25% of programmers (the great ones), and bottom 25% of programmers (the so-so ones). Here goes:

Environmental Factor Top 25% Bottom 25%
Dedicated floor space 87 sq. ft. 46 sq. ft.
Acceptably quiet workspace 57% yes 29% yes
Acceptable private workspace 62% yes 19% yes
Ability to silence phone 52% yes 10% yes
Ability to divert calls 76% yes 19% yes
Frequent needless interruptions 38%yes 76% yes
Workspace that makes programmer feel appreciated 57% yes 29% yes

Pretty telling results, but I wonder about cause and effect. Are they great programmers because they have such perks, or do they have such perks because they’re great programmers?



  1. I’d expect the cause and effect parts vary between the categories. A place that makes the programmer appreciated would in many cases be an effect, since you’re usually treated according to your own behaviour and contribution. I also can’t see thinks like an ability to silence phones and divert calls as being a perk given to an employee at a later time, it’s probably just office policy, or the abilities of the office switchboard.

    But these things, and especially not having needless interruptions, have a very strong effect on how well you code. My boss, for example, have a hard time getting this. He pops in all the time with questions, comments, or unrelated stuff, and expects me to pick up the main office phone at times when he or his secretary are busy (small company). The result is of course that it’s not possible to get into a flow, and very difficult to complete any task which is complex or requires more than a little time…

    And what is that dedicated floor space thing? People get a private office as large as 46 square feet?! If not, that’s not dedicated… Or are you missing a period there, and it’s 4.6 and 8.7 ?

  2. 46 square feet around the same size as a 7×7 workspace (49 sq ft). Hardly palatial. 4.6 square feet is a refrigerator box.

  3. No, of course you’re right.

    Call it a bit of “culture shock”, since on several times I actually got to be around building-construction / office-redesign in the past, the builders and designers treated N square meters as NxN meters area. This is of course contrary to about everything else, or to proper math, but since then I have the regretful tendency to just convert anything involving buildings (like floor space) this way.

    And yes, this happened on several different occasions, places, and different personnel involved. Which doesn’t make it less wrong, but…

    Not that the rest of the civilized world has to suffer from this problem of mine as well, of course, so I do take back that last paragraph.

Comments are closed. If you have something you really want to say, tweet @gadgetopia.