Matt Blodgett recently twittered about developers and private offices. “I wonder if mgmt knows how bad they are killing productivity by doing that? Are they ignorant, or just stupid?” was a followup twitter I got from him, and I started replying. Twitter’s too limiting for what I was trying to say, so I’ll say it here.
My experience has been that “management”, in the general sense, sees software developers as interchangeable parts. And many are. I’ve been at some places where the development part ‘is just a job’ to people. They go home to their kids/families/whatever, then come to work the next day. They don’t get all that excited/interested/passionate about the technology @ work – they just ‘work’. This is not talking bad about these types of developers – they’re necessary, and a good thing to have in moderation at companies. “Sure and steady” is how I describe many of these people.
But there’s also the ones who get passionate/excited about new tech and new ideas and new techniques. I’m that way, and chances are you are too, if you’re reading this. You’re reading a blog (or feed) which is still relatively ‘cutting edge’ technology among the ‘sure and steady’ dev crowd. Again, just talking about my experiences with people, but I’m going to guess many of you know what I’m talking about.
With either type of developer, public open work areas prove to be distracting. People walk by, discussions start, and other things happen to interrupt the concentration. You lose “the zone” you were in, and it takes a long time to get back in there, if you even can that day. Quantifying that productivity is very hard, especially to immediate management. Usually their entire day is made up of interruptions – putting out fires, meetings with others, etc. so often there’s not a lot of sympathy, unless your managers were once developers. That transition often isn’t successful either, which is why you don’t see too many developer->manager types.
I’ve seen one work area recently where the owner of the company was out in the ‘bull pen’ area with all the workers, but it was not a development shop. Still it was inspiring to see that sort of commitment from an owner, being there in the day to day hubbub of activity. This company also is a moderate rising star in the area, so perhaps those 2 facts are related?
In open work areas you’ll often see developers trying to ‘get in the zone’ by wearing headphones. I’ve even been told before that I should just ‘wear headphones’ to block out the office noise. This was said to me by someone who then walked back in to his private office closed his door. (heh) Most music distracts me, but beyond that, music/sound/headphones only blocks out certain frequencies, and still doesn’t stop visual distractions of people walking by.
The ideal dev area, in my mind, would be a combination of the following features. I’ve heard of these places, but have only seen one in person, and it still didn’t have all of these characteristics.
- Small private one person offices with doors for dev work
- Small offices to hold 3-6 people for group meetings, testing, etc.
- Larger offices for team meetings (6-15 people – obviously depends on the team size!)
- Large open area (or 2) for more open/casual discussion.
All areas shoud have wifi or appropriate connectivity for the number of people the space should accommodate.
Anything short of this is compromising the productivity of the developers. It’s hard to quantify, but easy to see the positive results of productive developers. With an environment like the one above, the ones who need private space for the ‘heavy lifting’ get it, and the ones who need the public space for larger meetings get it, and the small groups get their spaces as needed too. There’s something for everyone there.
Given the larger stake that software plays in companies these days, it’s sort of surprising that more companies don’t treat the developers better. These are the people who make the company more efficient, whether through direct development, or integration between existing systems/packages.
All this isn’t to say ‘private offices’ will make the entire dev team x% more productive. However, you will likely see an increase in productivity and/or code quality from a large number of devs on your team by implementing this sort of office setup. And if you don’t, it’s one less excuse someone can pull on you before letting them go.
I'm currently working on a book for web freelancers, covering everything you need to know to get started or just get better. Want to stay updated? Sign up for my mailing list to get updates when the book is ready to be released!