Offices versus Open

And yet I’ve only ever worked in open environments, where folks sit at tables and share their ideas, harass each other and occasionally drive one another crazy. And where it’s easy for anyone to learn what’s happening around the office, where everyone feels connected and can react in “real-time” to stuff happening around the office. I’m used to it, and I like it.

But I’ve never worked in an environment where each developer gets an office.

At FreshBooks, we have a wide-open, high-ceilinged office. No dank cubicles or nasty old carpet here—polished floors, easy-move tables and lots of flexibility is the name of the game. There aren’t really any “bad” places to sit—the huge bank of windows along one wall sees to that. Everyone can see the whiteboards from their desks, and it’s easy to get up and look at a co-workers’ screen if they want to show you something. “Pair programming” is something that happens at FreshBooks in an ad hoc sort of way—when someone says, “Hey, can you show me what you did with that bit?”

Now, we’re in the same room as the Support team—and if you’ve ever called FreshBooks Customer Support, you know they’re pretty energetic folks. They’re not quiet. They’re fun and exuberant, and sure, we love them. But they ARE noisy.

The received wisdom is that noise is unilaterally bad for developers. Quiet is what’s craved. And I don’t really disagree. But at the same time, there’s value in being part of the community, being subjected to the noise and banter and sudden eruptions that form part of that community. We ring a bell every day at FreshBooks to celebrate a milestone being passed. There are numbers on our wall that change every day, that everyone takes a look at. Put people in offices and those daily events would lose some of their impact.

Now, maybe that doesn’t balance out against the improved privacy and productivity of private offices. I don’t know since I’ve never experienced that. But I do know there’s value in shared space.