While sales and marketing teams can function and even thrive with some background noise, programmers often need library-like silence. The idle chatter, distracted tapping, or ringtones will snap the programmer's brain out of the abstract work zone and back into reality. Then it takes a few minutes to get the brain where it needs to be.
One developer told me he hated his new desk because it was three feet closer to the air-conditioning vent, which was, he said, incredibly loud. Three feet and it was ruining his concentration. This may be humorous, but it's true.
While many businesses indulge programmers with kinetic toys like ping-pong tables, they often forget that developers need silence to concentrate. Yet they pack the programmers into big rooms and assume this is collaborative fun.
Programming productivity obstacle No. 13: "Cultural fit"
Do you want your own office? Or do you want to be in a team room where you can shout out your questions? Do you like to start work early in the morning, or do you want to stay late?
Every team works better if the people have a similar style. The teams that can't find a common ground quickly fail. The communication never happens, and they end up working at cross-purposes.
While it's tempting to generalize and say quiet offices or bullpens are superior, it's better to leave that to the team. I've found it's great to have everyone in earshot when you're doing plenty of low-grade upkeep and building out infrastructure. If someone yells to someone else, it's not much of an interruption when you're waiting for a compiler or a build to finish. Sometimes I'll even know the answer. A general call to everyone can be very efficient.
But if I'm creating a complex algorithm with many moving parts, the interruptions, talk, and even keyboard tapping really keep me from concentrating. That's when I want my own quiet office.
Programming productivity obstacle No. 14: Clinging to legacy tech
There are 680 job listings on Dice.com with Cobol in the title out of 70,000-plus listings. That's still close to 1 percent. The defenders will say it's a great technology that still gets the job done. Why rewrite that dusty deck of punch cards just to move forward?
They have a point, but they often forget about the costs of keeping this ancient code around. Everything usually needs to be translated, often with custom code. Some of the code was written before ASCII, which means converting the input and output. The old systems often count the blank space characters just to figure what is in the database. That's even more conversion.
Sign up for Computerworld eNewsletters.