How to pick a fight in a software shop
There are a few sure-fire ways to pick a fight in a tech company.
You can ask which Dr. Who was the best and nerd-snipe all the Whovians in your shop.
You can shout “VI Forever!” and start another battle in the decades long text editor war.
Or you can utter the three words that galvanize tech workers across the world: Open Space Office.
People HATE open space offices. Or people LOVE open space offices. But few people are neutral on the topic.
The productivity and job satisfaction of my teams is my business, so I’ve paid attention to this through the years. I’ve also worked on some office builds—at cash-flush MNCs and at pre-revenue startups. Having listened to opinions and rants for a long time, I’ll start by ceding a few points:
Yes, open space offices are cheaper to build, and do allow greater occupancy.
Yes, it can feel like working in a panopticon.
Yes, open space offices do facilitate communication and collaboration.
And yes, you CAN hear every word said around you, and that CAN be very distracting
Shalom Auslander described his own experience working in an open space office thus: “…if you could climb inside a migraine headache, that's what [it] felt like.”
Wow! Strong feelings.
From all sides of this argument, what seems profoundly missing is an understanding of what exactly happens in an office. (I’m speaking here of software shops, because that’s what I know.) It seems to me that you can reduce what happens in an office to four broad activities:
First up, meetings—They’re important even when they’re reviled. Standup, Planning, Scoping, Retro. All meetings. All necessary. All collaborative. And when done well, all noisy.
Often overlooked, knowledge workers need relaxation periodically through the day. This is a real thing, and should be treated as part of the job. Brains need rest and context-shift to stay alert and on-task. Sitting and reading something NOT work related… watching a cat video… enjoying a cuppa, it is all part of the endeavor.
Next up, collaboration—This is conversation, question and answer, pair-wise programming, debugging sessions, and extroverted problem-solving. It frequently happens at desks. This too is noisy when done well.
Lastly, there is deep work—This is what moves user stories into the “done” column. This is what generates the intellectual property that satisfies customers and investors alike. And this is why most people who code for a living got into the business. In deep work, we enter the transcendent mental flow state that lets people work those 70 hour weeks without becoming burned out. For many of us, this is why we do it. And sadly, it’s a slippery state to get into and even trickier to to stay in. Interruptions and collaboration are anathema to deep work.
Four modes of work; and open space offices support only one of these modes well—they’re great for at-your-desk collaboration.
The built environment of an open space office intentionally lowers the cost of asking someone around you a question. That’s great for keeping everyone on the team unblocked, but terrible for the rare person who is both knowledgeable and convivial—they will be inundated with questions and will never get "their own work" done!
But it doesn’t have to be this way.
Turning this rant into free advice, if you’re setting up an office from scratch, or retrofitting a poorly designed open space office to get the most out of it, here are a few thoughts that might help:
Take care of meetings: Give each of your product teams their own conference room. Make it theirs. Don’t let other people book it. Get them to do their meetings there and only there. Let them turn it into whatever kind of war-room best supports their mission.
Take care of chill time: Set aside some of the space for actual relaxation. Skip the foosball and get some room dividers and comfy couches. I’ve never met anyone who can relax in a fishbowl, so make sure there are visual barriers between the chill space and the rest of the work space. Make it cozy. Designer office furniture is great, but don’t decorate the place. Furnish it. And remember, software engineers come in all shapes and sizes; those sleek mid-century-modern chairs may look great, but they may not hold up to actual use.
If you already have an open office, I’m guessing lowering the bar for collaborative interruption isn’t a problem. If it is a problem, then hey Mr. Gorbachev, tear down that wall!
Lastly, and most importantly, in an open office you must fiercely protect your teams’ attention. I try not to manage by decree, but facilitating deep work and flow-state is so important that it’s worth putting some immutable rules in place.
Here’s some ideas aimed at protecting and facilitating deep work:
Institute rigid quiet-hours. Structure them around whatever works for your team norms, but by way of example, make a convention that there shall be no drive-by conversations before 10 AM or after 4 PM. That gives people protected time in the office to do things that they are probably doing at home on nights and weekends.
Unless of course you’re on call for production support, log out of Slack (or whatever your shop uses) during quiet-hours, The barrier to interruption in Slack is intentionally close to zero, but the cost to someone trying to do deep work is potentially catastrophic.
No meetings during quiet-hours.
And lastly, quiet-hours are not just inter-team. The whole company has to understand what this is and why it’s important, and the whole company has to honor the boundaries put around the teams’ concentration.
Engineers who want taller cube walls or offices with doors don’t want these amenities out of entitlement or elitism. It’s almost always about how the built space helps or hinders the work of the business. And when you look at it that way, maybe this is a fight worth picking in your shop!