They say that in an early stage startup we should all sit together in a big room while working. They say it increases collaboration.
And it does. There's more collaboration. But it's of a lower quality and almost completely useless.
After a super productive year of working from home - 4 major client engagements, 1 book, 1 video course, countless blogposts - I started going to an office again.
Here's what my typical day at the office looks like:
10:12am - roll in after having to stop writing just as it started flowing 10:30am - tea is ready, Emacs is running, work can start 10:35am - "Hey did you check my PR?", coworker 10:50am - finish leaving many comments on PR 10:51am - start priming brain on what I have to work on 11:00am - "Oh no hey, you misunderstood, all those PR things are actually correct", coworker 11:01am - "Oh okay then, let me just merge that", me 11:05am - "Oh hey I just noticed you didn't check my PR", me to coworker 11:06am - "Sure, I'll do that eventually, just assume it's merged for now", coworker 11:15am - found the perfect music to match code, getting into it 11:25am - "Hey can you look at this?", intern 11:40am - write first line of code 2 hours after coming in 11:50am - "Shit, what did we say we needed to do here?", me to coworker 12:15pm - after briefly distracting the designer, the biz ops guy, and another two engineers, have a less muddy idea of what the thing should do 12:30pm - fuck, I'm hungry 12:35pm - stop working, start arranging to go for lunch 12:50pm - find compatriots to go to lunch 13:30pm - tea is ready, get to work 14:13pm - "I got the thing done, I think, is this what it needs to do?", intern 14:35pm - after teaching the intern some theory and explaining how to apply it to our use case, make another cup of tea 15:01pm - "Hey did the intern get that thing done, I need it now?", coworker 15:45pm - fuck the nearest Starbucks closes in 15 minutes and I'm getting hungry anyway 16:20pm - get back to work, re-sync with coworker about what I'm doing and what he's doing 16:50pm - "I got the new UX done for that thing that you own, do we have clarity on everything now?", designer 17:10pm - stop talking to designer, back to coding 17:55pm - fuck, I have to dash off to go boxing 18:15pm - leave office after answering one quick question to the intern, and syncing with coworker on how things are going
Eight hours of office time. Two, maybe three, hours of sporadic coding. Very sporadic coding. Yay offices are great.
Here's what went wrong:
1: Verbal communication is not self-documenting
Did you notice? Every conversation in my example started with somebody not remembering the details of a previous conversation. Yes I hyperbolized, but it's not far from truth.
I don't have hard numbers, but it feels like most conversations in the office start like that. "Hey what did we say about X?", "Errm, how did you say that module works?", "What's that config option again?" ...
An endless stream of conversations rehashing previous conversations.
When you talk in chat or in email or in anything but face-to-face, the conversation is self-documenting. You can always go back and see what somebody said. You can search the conversation.
You can come to an agreement about something, then refer back to it two months from now if you need to. Or just an hour from now. Text is great.
Hell, many studies have shown that human memory is extremely fallible and we can't remember most of the things we talked about. We just think we can. But in reality something like 80%, if not more, of our memories are complete fabrication retrofitted into a story we told ourselves.
At an office, we throw self-documenting tools away and rely on fallible humans. In the name of better collaboration. Right.
2: Everyone can talk to anyone at any time
Another issue you'll notice in my not all that hyperbolic example is that impromptu meetings happen all day every day. If a meeting is any time two people talk for more than five minutes, then I was six meetings that day.
Six meetings ranging from 5 to 30 minutes. That's too many meetings. And not a single block on the maker's schedule.
Fuck, man, how could anyone get any work done that way?
And I am just as much to blame for starting those impromptu meetings as my intern or any of our coworkers. When everyone's together in an office, it's just too easy.
Of course you're going to bother the person sitting right next to you as soon as you have a question. Especially when part of their job is to help you. I mean why wouldn't you? Isn't that the whole reason you're at an office in the first place?
Sure, you could schedule a meeting, but you don't really have a whole meeting of stuff to say do you? And it feels too rigid and too enterprisey. We're a startup, man. We like each other.
Even if you do schedule a meeting, there's no telling when it will happen. It might be 5 minutes before the schedule, or 15 minutes after, if somebody gets snagged in a thing. We're all there, it's all good, we can handle it.
That doesn't work if you're remote and talking through Skype or Hangouts. When a meeting is set to happen, it happens. With a minute accuracy. People have shit to do.
At an office we throw away structure and predictability for chaos and disarray. In the name of better collaboration. Right.
3: Nobody takes the time to communicate well
A follow on issue is that because communication is so easy, nobody values communication. It's there. It's always available. If something is unclear, you can always ask again later.
You see, when people write, they think. They weigh what they're saying, they consider how it comes across, they go back and edit and change what they said.
In short, they put value and effort into their words.
I don't know why exactly people care more about what they write than what they say, but it works. When somebody has to write an email, they make bloody well sure that it's clear and well thought out. Especially when they know the other person is going to read it hours from now and will have to understand what you want from them.
I think it's because everyone knows that context and emotion and body language and all those meta things that we get in verbal communication for free, don't always translate well to text. But the side-effect is that they write with more clarity. It's pretty great.
Yes, there are times when it's better to drop into a face-to-face conversation. Like when you have to discuss something highly interactive, or you have to bounce ideas off of one another. But those times are rare.
The only major drawback to written communication I can think of is that when people write something down, they commit to it. It becomes clear in their minds. And their minds become difficult to change. When they're wrong, and you tell them they're wrong, they will dig their heels in and fight back.
But again, the main effect that's got is that they think long and hard before they write.
At an office we replace clarity and well thought out words with chaos, muddled thoughts, and low signal to noise ratios. In the name of better collaboration. Right.
Office logistics blow
But I guess all my points about chaotic collaboration have decent solutions. You can take notes when you're talking to people, even though nobody does. You could schedule real meetings, even though it feels too corporate. You could encourage people to think more and speak less, even though egos are big and this is hard.
The one thin you can't solve though, is all the time you're wasting on just being there.
When you work from home, your office is a 30 second walk away from your kitchen. Your kitchen is stocked with all your favorite things. You can cook delicious foods because it doesn't bother anyone. And you're wearing your comfy clothes and have total peace and quiet all day.
Okay, San Francisco culture means you can be in comfy clothes at an office as well.
But someone's always ramping up the cold or the heat. There's no real food anywhere. You can't cook, going out to eat every day is expensive and unhealthy, and bringing meal prep to the office every day is a bother.
And I guess I can deal with all of that. I can change my habits, I can fill the commute with audiobooks, and I can put on more clothes when I'm cold.
But what sucks the most is that ever since I started working at an office, I've had to slash my already thin social life. Dealing with people at the office all day saps all of my energy.
I'm an introvert and being forced to spend 8+ hours a day surrounded by people leaves me feeling like a wet rag. When I come home, I can't get back to important work. I can't write. I can't do anything. All I want is just to be alone.
And that alone time is hard to find.
Learned something new?
Read more Software Engineering Lessons from Production
I write articles with real insight into the career and skills of a modern software engineer. "Raw and honest from the heart!" as one reader described them. Fueled by lessons learned over 20 years of building production code for side-projects, small businesses, and hyper growth startups. Both successful and not.
Subscribe below 👇
Software Engineering Lessons from Production
Join Swizec's Newsletter and get insightful emails 💌 on mindsets, tactics, and technical skills for your career. Real lessons from building production software. No bullshit.
"Man, love your simple writing! Yours is the only newsletter I open and only blog that I give a fuck to read & scroll till the end. And wow always take away lessons with me. Inspiring! And very relatable. 👌"
Senior Mindset Book
Get promoted, earn a bigger salary, work for top companiesLearn more
Have a burning question that you think I can answer? Hit me up on twitter and I'll do my best.
Who am I and who do I help? I'm Swizec Teller and I turn coders into engineers with "Raw and honest from the heart!" writing. No bullshit. Real insights into the career and skills of a modern software engineer.
Want to become a true senior engineer? Take ownership, have autonomy, and be a force multiplier on your team. The Senior Engineer Mindset ebook can help 👉 swizec.com/senior-mindset. These are the shifts in mindset that unlocked my career.
Curious about Serverless and the modern backend? Check out Serverless Handbook, for frontend engineers 👉 ServerlessHandbook.dev
Want to Stop copy pasting D3 examples and create data visualizations of your own? Learn how to build scalable dataviz React components your whole team can understand with React for Data Visualization
Did someone amazing share this letter with you? Wonderful! You can sign up for my weekly letters for software engineers on their path to greatness, here: swizec.com/blog
By the way, just in case no one has told you it yet today: I love and appreciate you for who you are ❤️