8 ms·
I agree with the same concerns that Raimo and Markus have. It's not just acoustic noise, it's also visual noise. I face the entry to our open floor plan office
by valuearb 9y ago
I agree with the same concerns that Raimo and Markus have. It's not just acoustic noise, it's also visual noise. I face the entry to our open floor plan office and every time someone walks in I can't help but look to see who it is.
One man offices are cheap and by far the most productive work environment for software development. Any software development organization that's not investing in them isn't thinking strategically. Engineers should be able to face somewhere that's not distracting, and have a quiet work environment without requiring headphones (music can be a distraction too). If you want to collaborate, do it in your office, it should be big enough for a couple people to join you, or a conference room if you need more.
The only criticism I have for one man offices is that it makes it too easy to goof off and surf the web, but that's a different managerial problem. You should make sure all the offices have glass walls so you can see if someone is in their office and have an idea what they are doing. But mainly you should review all code as it's checked in for quality, and it should also give you a good idea of their productivity.
I think Apple has the best idea for this. Their work pods at the new campus have all glass walls facing the hallway, sliding doors to maximize room in the office, and built in storage. There looks to be plenty of room for a couple of coworkers to join you and help collaborate when need be.
- gfodor 9y agoI think it's easy to severely underestimate the value of having people overhear conversations and interactions of others beyond their obvious scope of work. If you set things up so only explicitly opted-in collaborations occur, then those are the collaborations you will get: people who all agree they should work together on something. This is a subset of the types of interactions that I believe result in great teams. Many collaborations begin when one person overhears another person they had no idea was working on something relevant to them, or that they could give valuable input on. As with anything, there is a balance, and I believe there is no silver bullet to designing good offices. But I question those who think there is, and that siloing humans into isolated offices (a fundamentally unnatural state) as the default is objectively the best option. (And before citing the various studies showing the impact on productivity of doing this, I feel productivity is only one characteristic of what I personally consider to be a good measure of a healthy work environment.)
- kakarot 9y agoThat's a great point. Perhaps the sweet spot is a hybrid between the two, with mandated "shared" hours where you fraternize with peers in a lax environment in addition to your time spent hacking away in the office free from distraction. If you really need to get something done, bring your laptop or speak with your supervisor about temporary exemption. Even if "work" is not being produced in the narrow sense, fraternization has undeniable benefits to a company's culture, productivity, and overall cohesiveness.
- gfodor 9y agoTo me for software engineering I think right now a good local optimum is: - Ensure portability of workstations with no loss of productivity (powerful laptops, devices, etc) - Counteract any dynamics that may inhibit opt-in WFH or remote time. (poor tools, cultural perception that it is not productive to wfh, etc) - Provide in-office tools to opt-in to better isolation (headphones, private 'plug and play' workstations, etc) - Try to develop some form of cadence where remote time is the norm on regular intervals. For us it's Tu/Thurs, but you could imagine lots of configurations. People I believe tend to then backlog work which requires dedicated focus for these days.
- valuearb 9y agoI think it's better to work on making people better collaborators, than to ruin productivity on the off chance someone will hear something important in a conversation not meant for them. For example, I'm working on using Slack more to cc people on questions I have or things I'm doing so they have a chance to help/stop me or at least be aware of what I"m doing. If you want a flexible collaborative environment without it's horrible effects on productivity, you could build Apple like pods surrounding an open area. Those who want to work in open areas would work in the middle. Those who need privacy to concentrate can still leave their sliders open during times they are open to collaborate.
- wpietri 9y agoI don't believe that ambient information ruins productivity. At least for me, the problem is noise, not signal. I've spent quite a while working in spaces where the space is devoted to a team. If people are having quiet, focused discussions about what we're all focused on, I rarely find that distracting. The thing that drives me bonkers is when people are having loud, emotional, or off-topic conversations. Then part of my brain wanders off to process it and the rest is compelled to follow. I also think Slack is rarely a good solution to trying to avoid interruption. If I turn it off for a few hours of coding, I'm far too late to participate. And if I leave it on, there are distractions right there on my screen. There's no way to overhear the useful bits and let the rest go; it requires full visual attention to process. The workplaces where I've felt least effective are the ones with big IM cultures.
- ice109 9y ago>You should make sure all the offices have glass walls so you can see if someone is in their office and have an idea what they are doing. this is silly. a person should have the freedom to relax every so often throughout the day - we're not soldiers standing watch. >But mainly you should review all code as it's checked in for quality, and it should also give you a good idea of their productivity. this is the correct answer
- ErrantX 9y agoThe latter also sounds horrifying; who has time to check all their teams commits? And what sort of motivation (or not!) does that drive into a team :/
- valuearb 9y agoIt's horrifying to me that you don't check all of your team's commits. How do they and you improve as developers if you don't discuss how they and you implement things? Most of software development is spent finding and fixing bugs. Doing a little work up front in validating that code is written well and correctly saves a lot of work on the back end.
- toast0 9y agoIn my team, people have responsibility for their code. If they're not sure about something they can ask. If they think it's fine, they can commit and deploy without waiting for a review. If it blows up, they have to fix it, too. For new people to the team, there's usually some amount of frequent code review to start, but once you have shown you know what you're doing, you can just do it. Knowing if something is likely to cause problems is an important skill, and experience with making bad pushes is probably the best way to learn what is risky and what isn't. (You can and should also learn from other's bad pushes too) I'm a big believer in making it easy to push, because if it's easy to push, it's easy to push fixes, and you don't have to spend a lot of time with prerelease testing. Clearly you can't push a major change to storage libraries on Friday afternoon, but if you can't trust your engineers to make good decisions, you have the wrong engineers.
- srett 9y agoI might not belong to the majority, but I prefer sharing an office with about 2-4 people. I don't get distracted by that, it rather makes me feel I'm actually working in a team, while sitting in a single room leads more to the feeling of being an anonymous coding monkey. What helps however is that I'm really good at almost zoning out of the real world when I'm focusing on something to the point that people have to repeatedly call my name for me to notice someone wants my attention. And usually if it's not important they will just leave me be instead of interrupting me for some chitchat.
- valuearb 9y agoI can actually do that myself to a degree. But my bigger problem is the visual noise like the traffic coming in and out of the office. I'm guessing you are facing a window or a wall, which should help a lot.
- maxxxxx 9y agoI also like team rooms. With 2-4 people in the same room you can build pretty good friendships while the noise level is still OK.
- slackingoff2017 9y agoI prefer having an office with just my team. I work on a team with 3 other devs and 99% of the time they're the ones I need to talk to. Everything beyond that is a massive distraction. My team can't even "collaborate" because the 70 people in the room makes it so loud that we all wear noise cancelling headphones, completely negating the purpose of the open office layout. When you look around in the main room 90% of employees are wearing headphones. Open office layouts are a joke.
- dba7dba 9y ago>I think Apple has the best idea for this. Their work pods at the new campus have all glass walls facing the hallway, sliding doors to maximize room in the office, and built in storage. There looks to be plenty of room for a couple of coworkers to join you and help collaborate when need be. I visited AutoDesk HQ about 20 years ago and remember seeing this office layout. Every single software engineer (coder, intern, localization specialist, release engineer) had a separate, enclosed space. There was glass wall facing the hallway, with a door. It wasn't a sliding door but there was enough room for it anyways. Each office had a desk, swivel chair. And There were even 2 non-swivel desks in each office so that visitors could come in, sit down and have a chat. I think each office also had a tall bookshelf? I was told some people brought in a sleep bag to sleep on the floor in their office during crunch time. That was 20 years ago.
- wyager 9y ago> You should make sure all the offices have glass walls -1. Privacy is a huge component of focus. It's much harder to focus if I feel like people are watching me. Glass offices also don't help blocking visual stimuli.
- valuearb 9y agoI"ve worked in that have glass walls facing the interior. This is important to ensure that outside light gets in. And I've never felt like I was in a fishbowl, any more than I'd be in an open or shared office. But I'm also motivated when my peers and subordinates can see what I'm doing. It's something that causes my productivity to lag when I work from home.
- recluse00 9y agoIt is for exactly this reason I don't like pair programming either. I can't focus with someone watching over my shoulder!