This posting is part of my “Thoughts on Employment” series, detailing some lessons learned and general musings from my career as a software developer on what an employer can do to provide an effective, productive and attractive work environment for highly effective software development teams. For an index of postings in the series, please read the series summary.
As an employer of software developers, since your paying someone to think, make sure you provide a physical environment that promotes just that. That means a quiet workspace for each developer. I'm not saying you have to give everyone an office, but I am saying that you can't put your developers out on the floor of your trading firm and expect them to be their most productive. I know, because I did exactly that for two years, and couldn't concentrate during the day - so ended up working before the traders arrived in the morning, or after they left or late at night from home. And got burnt out, hard.
So, put your developers in an area where you don't have people on the phone all day, or talking loudly. Don't have a wall of TVs with CNBC, ESPN, or anything else. Limit distractions.
And developers: one of the best investments you can make if you work noisy area is a good pair of noise-cancelling headphones.
In addition to a quiet area, provide a place for team collaboration. Often this is a mid-sized meeting room, where open (sometimes impassioned) discussions don't distract everyone else. This area needs to have at least one very large whiteboard. Personally, I think companies should have at least three square feet of whiteboard for every developer on their staff, located nearby. Those floor-to-ceiling whiteboard panels are great. Some of the most collaborative places I worked had the engineering meeting rooms setup with all four walls acting as whiteboards. Wayport even covered the hallways with them in the engineering wing!
And lastly, give your developers comfortable chairs. Think back to your days in school, sitting in those uncomfortable wooden desks. Remember how hard it was to concentrate during tests after sitting in one of those desks for five hours. Now, realize you're paying a developer several hundred dollars per day to think, and spend the $200 on a decent chair. You'll recoup that money in a week, I'm sure.