Am I the only one that considers lunch to be a sacred, personal time that I don't want to spend on small talk with coworkers? I need my lunch break to recover from the day's stress and pace, so I can come back refreshed and ready to code for 4-5 more hours. As an introvert, I find the team lunches to be waay more stressful than actual work, and that eliminates any benefits of a nicely cooked meal. If I end up in a team lunch situation, I find it hard to be productive for the rest of the day (unless I take a separate mini-lunch break by myself later).
The situation was especially bad at one recent job where the lunch conversations always revolved around local sports, which I had no interest in, or this guy remodeling his house, which was only interesting the first 3 times he gave us an update. So I started bringing sandwiches to work, parking in the garage beneath the building, and eating lunch all alone in my car in the dark, listening to NPR or just enjoying the silence. It was the most refreshing hour of my workday and I felt 200% more productive after that break than I would after 30 minutes of small talk about sports.
I just want to point this out to people who think team lunches should be mandatory. Not everyone enjoys them equally, and it's not always just about the food.
I used to scarf down lunch as fast as possible and get back to work. Then I met my wife (who's South Korean). Koreans, despite being workaholics (in a grossly simplified general sense) have a cultural predisposition to drop everything and savor their meals. It drove me absolutely up-the-wall when we first met. Meals were something to get through as quickly as possible and then back to work.
But over time, as my work responsibilities have increased (and my work stress), I've learned to value meal time as a moment of peace in a stressful day -- an island of solitude. I take meals now with purpose, savoring every bite, spending the time to enjoy the food and simply enjoy the act of eating. I seek out places with nice atmospheres and good quality food.
As a result my health is better, my stress is better managed, and I find the pacing aspect of it keeps my head in the game when I return to work.
It's been an important lesson I've continued to enjoy.
I know other people who don't like this, maybe it's an introvert/extrovert thing. But the 30min-1hr lunch where I really just enjoy my own thoughts really gives me a second wind...especially late in the week.
My work environment has a high concentration of nerdy people with similar interests to mine, so I look forward to our lunchtime conversations, even though I'm also pretty strongly introverted.
I'm really really glad you mentioned this, it's something I wanted to touch on in the blog post but it was getting too side-tracked. I'm definitely in the same boat as you, my previous job used to be in an open office environment (at two different co-working places so it was LOTS of different teams worth of open office environments) and my lunch hour would be the only alone time I got.
Everything changed when I started at Stack though. As an introverted person I don't always want to be alone, but being alone is what makes me "recharge" so to speak. What's nice about having a private office all the time is I can choose to communicate with other people or not, there's always long-running Google Hangouts I can drop into if I just want to talk to another human being, or I can choose to be alone by myself for the entire day. Lunch though, is the only time I get face to face with my coworkers and it turns out I kind of miss that from being in an open office environment.
There's lots of people here that work on different teams and do drastically different things than me which would make it so I wouldn't communicate with them at all if I didn't simply grab lunch at the office and sit down at a random table.
I definitely agree with you that lunch as a team should never be mandatory though, it's asinine to steal an extra hour or whatever from everyone at your company with the goal of "morale" or whatever they want to say behind it. I'm super happy with the setup at Stack though, it works pretty well.
Are you really doing this? My personal record ( when I was a full time employee ) was 4 hours of summed coding time ( I track my time with RescueTime [1] ).
I was usually finding myself to code ( commit actual features and finding cause of bugs ) 2 hours before noon and 2 hours after lunch.
The other time I was usually in meetings / discussing issues / planning / writing documentation / improving dev environment / e-mail / communication with team.
It's definitely very optional here (at SE). Some people just grab a plate of food and go back to their office/desk/secluded corner to enjoy it by themselves or with a smaller group.
Working as a consultant, we always went out for lunch. After getting used to it (as a hard defined break from work), I can't imagine just staying at work all day without giving my mind a break.
If I don't leave work now, my productivity is shit in the afternoon. Well shittier than normal. As a morning person, I get 90% of my work done before lunch and tie up loose ends after lunch and plan the next days/weeks. Flex time is nice too, coming in to work at 5-6am then lunch at 11, home at 3 rocks.
No, you're not alone. For lunch I drive to the park, eat my sandwich while listening to NPR, then get out and go for a solitary walk in nature. It's a lot more refreshing than sitting and talking with the same co-workers I share the rest of the day with.
I've spent almost all of the preceding workweek partying and spending time with coworkers who are remote but currently in town. I feel like an empty shell of a human.
The thing to consider here is Stack Exchange is a company that serves geeks, and is built by geeks. Naturally the culture and values of the company are going revolve around developers. But for a huge chunk of the companies out there everything revolves around sales and marketing. The actual role and importance of developers varies from company to company but very few of them are going to revolve around them in the same way. At many they're an afterthought.
While there is no "typical manager" it's safe to say that if you sample any given company and take all their managers and executives you won't find a lot of coders. Executives don't sit around talking about Rust vs Go, because it really isn't that important to their business most of the time. So they really have no idea what it's like to be a coder, and probably don't take up a lot of cycles thinking about it.
Most jobs do benefit from collaboration. Development is no exception, however too much socialization and interruptions kill us. This is what they fail to understand on most levels. They see sales, marketing, and other groups that benefit from being able to swivel a chair and ask a question and automatically assume that it will help developers, since they "never meet their deadlines" anyway.
So in my opinion the push for open offices for coders is mostly out of touch thinking, a little need for micromanagement, and of course being able to show off work being done for people taking a walk through. How that affects developers is of little concern.
I did a Master's degree that shared half its classes with the MBA, and we had some case studies where a consultant was the hero by literally tearing down a wall between sales and operations (the small company had communication and "empathy" issues).
I always end up linking to this summary of Chapter 12 of Peopleware:
I'm reminded of an old Dilbert comic--which I can't seem to find online--where the CEO or consultant is hailed as visionary by alternately proposing "centralize everything which is decentralized" and "decentralize everything which is centralized."
I guess that could be applied to physical space...
I'm quite certain there was--if not a full strip--at least an illustration involving the the CEO... Not the now-staple pointy-haired manager, but the heavily-jowled guy who's been supplanted by the bullet-headed CEO in recent years.
Each time, a diagram is behind him, either of a hub-and-spoke diagram or a spread-out cloud of nodes.
I remember exactly the illustrations you're talking about. They were on a left-hand page of the book.
Build a Better Life is composed mostly of pages divided into quadrants, in which Dogbert introduces the page's theme in the upper left and the next three sections illustrate it.
That depends by what metric you measure the cost. It may be the cheapest up front in terms of dollars, but hideously expensive in terms of lost effectiveness of employees.
I do agree with what you're saying. However whenever any popular startup's offices are posted a lot of developers/coders down fawn over it, so there does seem to be a lot of developers who seem to like the concept of an open plan office even if they'd regret it once they actually started working there.
Yeah it's not a hard rule, some people like it. Personally I have no problem with either layout and can adapt. But with most of the people I've worked with over the years, the constant interruptions and people looking over your shoulder drives them nuts.
There is another possibility, that all offices are fundamentally flawed creations designed not to foster work so much as to create a dynamic of control.
When you pay someone and you control both their place and time for over 1/3 of their daily life, there are inherent problems. I'm not sure that any office plan is ever going to be super ideal because of the fundamental problems of power and control that come with an employer/employee relationship.
Open plans are designed to look cool and help recruiting. They also create a sense of "busyness" that owners and managers love. Busyness is proof they are still in charge.
Arguing about wether or not it is better for productivity is a red herring. It was never about productivity in the first place. Most of what happens in an office is only tangentially related to the idea of work efficiency.
Absolutely. People, and especially a very large fraction of people in the software industry, are loathe to think that anything other than ability and pure reason factor into, well, anything.
Maybe I've just had some poor experiences but I find it is safe to assume that the majority of decisions around office configuration, benefits, salary, etc., are made based on power dynamics, ego, and bean counting (which is itself a means of exerting control) rather than any other reason, especially rather than after considered thought given to employees' needs and desires.
"People, and especially a very large fraction of people in the software industry, are loathe to think that anything other than ability and pure reason factor into, well, anything."
I would phrase it slightly differently.
We understand full well the world in general doesn't work this way. But we want to carve out a small part of the world where things do work this way, as much as possible.
I think Fog Creek (now Stack Exchange) is trying to embody this ideal in how they have structured their offices. Joel was a developer, and designed his office space in a way that he believes will lead to the greatest possible productivity for his developers.
So the biggest criticism is aimed towards places like Facebook, Google, and other software firms who pay lip service to geek ideals, but prove in how they lay out their office spaces what they really care about.
Businesses exist to make money, not just to give people in power a place to harumph about. More productivity IS important, because without that, businesses are losing out on potential income, and that's not what businesses like to do.
However, there are huge agency problems between the stated goals of a business (mainly, to make money for its shareholders), and the CEOs interests - where ego, power, and making money for himself might be more important than long-term decisions involving productivity.
You'd be surprised how much ego can factor into decisions that are about "making more money" or "making the business more productive". Things like saving face, not wanting to look stupid, or wanting to look cool to impress friends is a huge part of business.
It bums me out some to see the standard-bearer for private offices in our profession showing us floor-to-ceiling glass walls in a panopticon arc, "not as creepy as you think"[1]. The Overton window's shifted so far to the cage-free side that privacy isn't even in our frame? OK, a few companies still believe in offices with walls.
I don't doubt that it's a fine place to work, likely nicer than the cubicles I've worked in, though maybe not better than my home office. But they're clearly not private.
[1] From a caption on the original version of the page.
Putting up transparent bubble wrap does a great job of blurring what's behind, while letting people see if you're in your office. Raid the shipping department.
I work in an open space (when I'm in the office), and the uncomfortable feeling of people walking by and glancing at my screen is the main reason I dislike working in the open.
The panopticon metaphor is apt - I feel uncomfortable taking well-deserved minute-long breaks when I have no privacy.
I wonder if you can turn around and face the glass walls when sitting, or if you have to have them to your back. If it's the latter, there's zero privacy advantage in this case to having a private office.
That is exactly how I have my desk setup. Monitors Facing the wall. Me facing the door. The office feels a bit smaller, but I'd rather not have my back/side to the door.
I like what Stackoverflow does with their offices. Certainly better than what is trendy right now (open plan) and better than a cube' farm also.
I will say I think Microsoft's little offices are better overall. The ones I've seen have four real walls, a wooden door, and a window to outside with a blind on it. So if you want to work in the dark, you can.
Stackoverflow's glass offices mean that you cannot shut out the light, have to deal with any glare, may get distracted with what is going on in the offices either side of yours, and it means people can look over your shoulder whenever they choose.
They would be perfectly good offices with full length blinds on them. But then the people next to you may complain that you're blocking their natural light. But overall they still aren't even near the worst around...
I don't have any issues with glare or anything since all of our windows have nice blinds that anyone can adjust, some of them even have two sets of blinds (regular and complete block-out blinds) if you would like to make the surrounding area as dark as possible.
Not all walls of our offices are glass too, we should've mentioned that in the blog post but it seemed pedantic. All offices have glass doors but they also have walls (painted with white board paint!), here's what my office looks like from the door in the previous picture: http://i.imgur.com/2n3nDkc.jpg
The only way I could get distracted by something that's happening in an office on either side of mine is by climbing up and looking at the 12" of glass on the top of the wall that's designed for allowing light to enter rooms that aren't facing windows (which I've definitely done before, it freaks people out, hilarious)
To be honest though, compared to the open work environments I used to work at any amount of glare is worth the change :)
I can't emphasize how important it is not to just barge in on somebody's office or workstation without pinging them online or on their phone first. Unexpected questions lead to incomplete, unsure, or downright incorrect answers, which can unintentionally alienate your employees/coworkers.
But it's also important that actual discussions do take place in person with undivided attention, not being distracted by things going on around you. Miscommunications lead to fallouts between coworkers or employers and bosses.
As I developer I need my focus space. But I also want a separate place to be able to discuss things with coworkers -- as long as my workstation remains my castle, I'm happy to come out and go to meetings, do trainings, ask/answer questions, and hang out during lunchtime or breaks.
In my last place of work, we had two main teams, and their rooms were separated by a shared commons room, but this led to a divided culture. Everyone had laptops and each desk had a couple monitors, so every week, a couple people swapped out from each room and mixed up the teams. That alone helped our productivity and intra-office culture.
I've recently left one organization for another. I was a Dev in a Cube for for several years. I now have my own office with a large window. It couldn't be a more pleasant experience.
I think with open plans you're sharing a lot more germs too. How many times have your co-workers came into work sneezing? Even in a cube farm, those germs just spread. At least with an office you can keep you and your germs better confined.
One thing I don't understand -- in this time of laptops, tablets and ubiquitous internet access (whether in-office wi-fi or the mobile broadband), why do we still have this discussion?
Are there any companies out there who have a heterogeneous office layout, with open-space areas, single-person rooms and anything in between which could then be used by anyone to their own preference? I would like to see a setup where I'm able to work together with my team in a small-group environment in the morning, and then retreat to a single-person office in the afternoon. In most companies, there is very little reason to be bound to a single desk throughout the day.
I can imagine such a workplace, with team leads/managers being responsible to coordinating their teams when it comes to workplaces, and ideally the company would monitor the usage and constantly adapt and improve the workplace accordingly.
Have you actually worked in an environment like that? In my experience, hoteling as the only option is deeply unpleasant. People like to have a single place to go. They like to have a desk they can personalize. They like to have a place they can leave their stuff overnight.
If you only provide hoteling, I think the majority of people will just claim a desk as theirs, and you effectively have no hoteling at all.
I'm pretty sure some do, and I'm pretty sure some don't. Heck, some people would prefer it for some time, and then not for some more. I certainly know that describes me pretty well.
My idea is not hoteling-only; it's the option you can choose and request, like any other you prefer; in case of any conflicts it would be up to the leads/managers to make the decision.
"If you only provide hoteling, I think the majority of people will just claim a desk as theirs, and you effectively have no hoteling at all."
The operating words being "I think". I think otherwise, and there is only one way to find out.
Yeah, I really dislike hoteling, because I'm not in an office - I'm in a weird office display space, like you'd find in Office Depot or Ikea. If you're giving me space, give me space I can decorate and make my own.
The Stack Exchange office has a number of open areas where folks can (and do) work if they bring their laptop along. As a developer, though, I like my multiple monitors, my keyboard, etc. Once in a while a change in the environment is nice, but most times I find not working with my optimized setup is more annoying than anything.
(Mind you, since our teams are distributed, there's often no such thing as "working together in a small-group environment" that doesn't involve being on a hangout, and everyone being in a private office helps immensely with that.)
Because, in many cases, no kind of communication software can supplant the face-to-face interaction, especially when multiple people are involved. The best distributed teams I've worked with are those that organise live meetups at least every few months.
I've been seriously annoyed about that since I started working in one of those open offices. I've read a few articles about it and cannot understand why would someone like to be in such an environment. Stack Exchange's organization/culture seems to be a quite balanced approach, providing both the common areas where people can be together working/relaxing AND a proper space for them to stay focused while working alone on something. Really good to know there are companies trying to get it right instead of cool.
> Why does open plan become trendy every 20-30 years or so?
Because it costs less. Plus people get sucked up into the hype about how it's great for "brainstorming."
Anyone who's spent much time looking at business trends knows it doesn't really matter how much evidence is produced against something; look at the companies still paying through the nose for meaningless Myers-Briggs tests.
It'd be nice if in an ideal setting there was a balance of both open and closed perspectives. I guess I consider myself an introverted extrovert. While I enjoy being around others and having physical interaction when the situation precludes the necessity open is great. But I think as others have said what the powers at be fail to realize is that in order to be productive SE's we need longer, uninterrupted fragments of time throughout the day for deep, intense, unadulterated focus...when this doesn't happen. Things go to Hell in a hand basket rather quickly. More problematic for me than physical space restriction was the timetable restriction that too many meetings and other time sucks can have. Non-code pushers fail to understand that that question they asked about in the 8 a.m. stand up hasn't been solved or even thought about b/c we can't get a waking 2+ hours of fluid thought. Having worked in pretty much every type of space I still can't say which I really prefer/which makes me most productive!
So what other software companies have private offices?
In addition to Stack Exchange, Microsoft was mentioned.
When I worked as a developer at Carnegie Mellon, I had an office shared with one or two other people (which was a nice perk, given the pay was much lower than industry).
(note: none of the following has anything to do with office layout)
"Joel’s management philosophy is deceptively simple: hire smart people who get things done, and get the hell out of their way. The role of management is to give the people who actually do the work — the developers, designers, sysadmins, etc. — all the tools they need to get their jobs done, and then trust them to do the job!"
Let's say you work directly with about 15 people. The majority of those people are remote, with some local. The manager hangs back in meetings and listens for problems, and hurriedly works to resolve roadblocks for their direct reports. They also chime in occasionally if people need a reminder of a pressing high priority item or objective.
Now let's say those 15 people all come from different places and all have different ways of 'getting things done'. One person builds a unicycle in order to achieve the goal of 'transporting A to B'. Another person builds a bicycle. Yet another attempts to build a space shuttle.
If you're really really lucky, all of these different inventions and methods will simply mesh, and there will be no friction within the team, and things just churn on forever.
If you're dealing with smart, experienced people, there may be a lot of back-and-forth discussion while people try to figure out which kind of solution is the best.
If you're dealing with egocentric 'rock stars', absolutely nothing gets done unless someone basically bullies someone else into caving on their method.
Even if nobody actually ever voices a problem with the way someone else works, it is in a manager's interest to be invested in the past, present and future of the work produced. Legacy systems need to keep working, current designs need to be in-line with best practice, and planned work needs to be future-proof and maintainable. How do they do that by staying hands-off?
Where do I think Joel's management philosophy leaves you? If you're lucky, with product that mirrors the quality of your employees combined with their ability to form a single cohesive unit where everyone's work complements each other. If you're not lucky, you get arguments, delays, and code that doesn't support the goals of the project or the group.
---
On a completely unrelated note: Jesus would I love to have a full kitchen in my office. I would be inspired to try to cook creative dishes and share with my coworkers. And i'd spend more time in the office.
I've worked in shared offices, open offices and for the last couple of years I've worked here http://imgur.com/a/13uvk (office on the cheap, it's my own company so I spend money only where it's important)
For me there is zero comparison, I enjoyed a shared office, loathed an open office beyond measure and absolutely love the peace and quiet that comes from working in a private office.
If my company isn't a success and I go back to regular employment I'm dreading that bit more than any other part of been employed.
An important point is that focusing on online tools (instead of in-person encounters) improves communication. Everyone is on equal footing in terms of being exposed to conversations.
In-person conversations, while arguably higher-bandwidth, are only shared by the participants. You had to have been there.
The situation was especially bad at one recent job where the lunch conversations always revolved around local sports, which I had no interest in, or this guy remodeling his house, which was only interesting the first 3 times he gave us an update. So I started bringing sandwiches to work, parking in the garage beneath the building, and eating lunch all alone in my car in the dark, listening to NPR or just enjoying the silence. It was the most refreshing hour of my workday and I felt 200% more productive after that break than I would after 30 minutes of small talk about sports.
I just want to point this out to people who think team lunches should be mandatory. Not everyone enjoys them equally, and it's not always just about the food.