Leadership got called out at a recent company meeting by someone who commented that noise-cancelling headphone were critical. One of the C-suite evangelists was like "haha, yeah you're right next to my office aren't you." In other words, "I'm so oblivious, I think it's amusing that my loud conversations are negatively impacting my subordinates' ability to concentrate in this 'collaborative' environment'".
My team does not need a collaborative atmosphere. We're not marketers. We're quiet, introverted, methodical folks who need a quiet atmosphere where they can concentrate on writing ops code that won't bring down a production server in the middle of the day. We don't want to have to listen to overheard gossip, ostensibly private phone calls, etc. while we're trying to figure triage a complex issue. But more than anything, it's offensive that they won't just come out and admit that this is being done for financial reasons. We're all adults in a capitalist economy; we know the score.
A lot of my conversations go like this:
Person A: Hey, have you decided what you want to do with [x] thing?
Person B: No, I was thinking [y], but I got stuck with [z].
Person A: That makes sense, what happens if we do [w]?
Person B: That's a good idea, but [v] might be a problem. I'll think about it and get back to you.
Person B sits down and works for a few more hours
If you have individual offices, that conversation might take ten minutes, and it only occupies 20 man-minutes. If you have an open-office with your entire marketing department, the conversation will probably take a full-man hour between all the people who get distracted and the other people who need to chime in.
Honestly, I think easy collaboration works better for programming/IT than it does for sales/marketing/communication, because the problems in IT are more concrete. So I think you are more likely to be able to chime in with a useful comment when the problem is "I'm getting this weird error" than when the problem is "does this have the tone we are looking for?"
In both cases, I think open offices are terrible. 2-3 people per office seems about right to me.
The only place where that worked well was the old-timey trading floor, as seen in Gary Cooper-era movies.
I'm sure trading is way more productive now that it's done from a desk in an office, in the same way that auctions done online are probably more productive than auctions conducted in-person.
Systemically keeping their tastes and station "lower" than that is probably part of what's going on, especially with the bigger companies. Developer pay may (sometimes) approach or match upper-middle, professional-class level, but (self-)respect for developers can't be permitted to reach those heights. Better their conditions are kept closer to, say, mid-20th-century secretary pools.
I'm not crying, just observing. There's a risk of a new honest-to-god high-status profession emerging, and desire to avoid that is probably behind some of the "culture" filtering down from the big tech companies. It's barely-upper-middle-class-culturally-if-you-squint-a-little management not wanting to have subordinates who match or outrank them, socially. The smaller companies aren't in on it—they're just cargo-culting, of course. Investors and potential larger, acquiring companies sure do seem to expect those conditions when they get their tours, though, so there's that.
As I see it, with great risk comes great reward. Managers are held responsible for the the great successes or great failures of their team(s). I wouldn't work for a manager that I don't respect and feel deserves a position of management above me. If you do, thats your bad.
If you are concerned (or care) that your perceived status isn't living up to your expectations for the work you do and the value you provide, you could always try doing something else that people perceive as more respectable and worthy of awe and special treatment.
Business will offer the least that people will accept, it's up to you to decide if you will accept it. Working with someone is a voluntary negotiation - that's a two way street. Business decisions about floor space are not sacrosanct, and enough discontent from employees would change norms as it would for anything not vital to company survival.
While I give startups some leeway, for large established companies like Apple or Facebook, already rich shareholders are loling all the way to the bank at workers' expense. I'll cry a river if additional accommodations result in falling a place or two on the most profitable companies in the world chart. According to YCharts, FB's quarterly profit margin was an astounding 38% (down slightly from the previous quarter): https://ycharts.com/companies/FB/profit_margin
To reap riches that insane, I consider it an obligation for the leadership of that company to accommodate their workers quite generously. You might argue it's already generous, but compare that to their executive class. The level of inequality is astounding, and this is amongst rich people.
RNs and Nurse Practioners make at least as much as the typical software engineers in SV. The $175-$250K+ that some of the senior guys at Google and FB make is not typical. Most of us in the rest of the country are probably making about $100K, and that's when we start becoming over-priced.
And teachers? I have respect for them, but I don't consider what they do necessarily difficult, especially in lower grades.
What people are complaining about is software engineering - which is supposedly in such high demand we need hundreds of thousands of foreigners to take up the lack of supply - being treated like blue collar labor, essentially another guy on the assembly line to be exchanged for another body if needed.
In contrast, lawyers, doctors, business execs, and most non-software engineers are treated as professionals. They have offices, expense accounts, professional dress codes, ability to attend conferences. Most professionals, after putting in their years, begin to partake in the company's profits, with access to the financials, hiring, and product strategy, and overall direction of the business.
Meanwhile, the typical developer, even at a company where software is the product, are never privy to the business. Instead, their access is limited strictly to a list of monkey-tasks or user stories on Jira. The MBAs, product managers, and execs keep all the interesting info to themselves. They're more likely to ask you for help resetting their password than they are in developing a sales pitch or project proposal.
Do you think a lawyer going to a job interview at some big firm gets to go through 2 days of quizzing over vague topics from 2nd year of law school? Instead, it is a professional discussion with peers about previous work.
Doctors, lawyers, and business people have a smooth, linear salary progression into their late 50s. A software engineer starts out well, but rapidly hits the glass ceiling at about 40. After that, you're an over-paid liability.
There's a difference between a "teacher" and a great teacher. Even in the lower levels I think it's hard to know how much of an effect incentivizing great teachers to stick around could have on the world and economy. Grade school years are highly influential years of people's lives and for some, school is the only chance they have to see something different and break the mold of which they've been brought into.
Given the impact teachers have, and knowing what a little shit I was as a kid, I cannot agree with that statement.
Basically as bad as our power dynamic is, the esteem doctors hold for themselves and the disregard they have for RNs as people who couldn't finish their medical training is well known if not widely broadcast.
When you walk around acting like your organization could function without any of the people who do all of the work, there are gonna be problems. But at least for us those problems mostly don't include people dying.
(This has nothing to do with FB -- I've hated it everywhere I've worked.)
This is mostly false, and to the extent that it is true, it turns out that people much prefer to have the ability to retreat into ambiguity around management's thought process and incentives when it suits them, rather than for the executives to be explicit about it.
The most infamous example of an executive revealing something everyone already knew to be true is Gerald Ratner [0]. After jokingly stating that his company was able to sell things for such low prices because it was "total crap", they plummeted to the brink of collapse. The company was saved only after firing Ratner and changing its name.
Companies where ill-advised executive candor has turned fortunes downward are now said to be experiencing the "Ratner Effect".
Executives are, first and foremost, performers. Dropping the illusion is offensive to the audience. We like pretending.
It doesn't matter how innocuous the comment is. It can come back to bite you. Example:
You: "I don't like open floor plans."
HR: "Add a note to his file that he's anti-social. If he ever comes back here it'll be recorded already."
Jobs aren't scarce, but talent is. I've never gone for want of employment and Google blind-allocated me into a boring gig I hated. And yes, I'm very anti-social when I'm coding. I wouldn't want to work for a company that considered that a negative trait.
Is that something like "Quit my job at Google, middle fingers in the air," or what?
This is not my experience.
Maybe you've worked with better companies than I have.
HR is driven by perceptions
So, we're in a suburb now, $/sqft is less, 2 devs in a quiet room, 2 sales in a different room.
I will not get open plan for my team. 2 persons per 144sqft office seems a good fit to me
The actual offices on the other hand, had almost no sound deadening between them, the hallways way too narrow and it was all-party, all-the-time. People from other companies getting absolutely smashed on keg beer starting at noon was a daily problem. At the one building I went to that had entire floors of conference rooms, you could hear everything from 3 conference rooms over, making phone calls impossible.
I feel that a 2 person private office is quite optimal, since we are talking about teams. It's easier to pair program or discuss and even maintain silence when required. Office designers will have to pay attention to acoustics and ensure that there is not much echoing or significant noise transmission across walls or glass panels.
I've experienced that kind of environment and it is slightly better than the sea of tables filling a floor but is still very bad. A few of the things I've noticed:
- Collaboration inside an individual team was never a problem with individual offices and so it isn't noticeably improved
- Unless the programming/debugging work is very simple, it will often require intense concentration. With distractions an engineer is less productive
- People waste a lot of time looking for an area to have a private conversation, talk to their Dr on the phone, etc.
- When we had offices, people would tend to decorate them with pictures of their kids, awards, etc. With an open floor plan, the place looks very sterile and it seems like overall morale and interest in the company is lower than it used to be.
- The big issue with any organization (with more than say 10 people) is communication BETWEEN teams, not inside the team. This design of isolating each individual team has led to a lot of inefficiency as the sort of ad-hoc conversations people would have with others on other teams basically stops.
Small call rooms were available throughout to address the private call issue, so there was never any sort of hunt.
Another great environment was inside an old bank vault. Me and one other developer. No windows, two doors, lights down low, thumping techno music. Ah, bliss...
When I started work at the company, they had hired a couple of other guys as well, but they didn't have as much experience in software development for an employer (one had done mainly contract work alone, the other was fresh outta college but earned a compsci masters). They didn't have a cubical to put us each in (they were planning to move), so we three (plus one of their more experienced devs as a lead) stuck us in what we eventually termed "The Oven".
It used to be their "conference room" - maybe 10 feet or so on a side, one side glass with a door, the other three walls, no windows. In fact, it was where we each were interviewed. They set up a desk system, put two of us on one side, and two on the other. There wasn't a vent to the a/c system, unfortunately. Four computers blasting hot air, no air circulation save for some desk fans, and four guys in there hacking on code - well, you see where the name came from...
...but we did some amazing work inside that small room, and had a pretty damn good time doing it. We eventually got a portable A/C unit that we stuck in the corner and vented to the ceiling plenum. That helped immensely. Our lead had a weird spotify playlist - that became our music to listen to by day. The lights in the room were kept off, so we only had the glow of our monitors to light our way. In effect, it was a perfect development environment.
About a year passed, and the company moved to better digs. While the new location had certain amenities and such that made it more appealing, at the same time, it had horrible downsides:
Open office floor plan, concrete flooring, lights that were always one, west and south facing windows that guaranteed to pan the sun thru the blinds (which the managers and c-level guys always wanted to have open) and blind you. Massive echoing. Most of us took to using headphones all the time. While we got some good work done, nothing was ever the same, ultimately. The goofy thing is that half the office space was wasted; there was a good chunk that wasn't being used for anything, and we tried to make a case for moving the dev team over there, and spreading things out more so we could have a space to our own (and not have us bothering sales and customer support and vice-versa - who were also in the same space, of course). No dice, no moving on that.
I don't thing I'd want to do an open-office situation ever again, even if the money was better. For me, it just doesn't work.
Third, and I may not like to admit this, but I'd complain quite a lot about the setup in a place nicknamed "The Oven". It might start grating on other people, and ruining the atmosphere.
I guess maybe the key to making this work is actually having teammates that like each other. A lot of devs seem to really hate working near other people, and are very particular about their setup, so I guess for them, individual offices are much better. But if you like your teammates, I'd much rather work in the same room with them than in a room all by myself.
There is a bit of social chat also, but whenever someone complains, it is immediately stopped - local culture is that way. I find it better then own office, because I would end up isolated there and it is not happening here.
Most of the day there is a silence.
You might be able to convince me that it's e 2.71828...
No "Duke" mascots were harmed in the process, though :-)
Lovely park on the roof, great amenities, but cluttered open-plan hell at every desk area.
You want your cube to be just slightly smaller than could uncomfortably fit two people. Otherwise, someday it will be uncomfortably fitting two people.
So if I envision a floor, do you just have rows of 2-person offices with hallways in between?
Requires a decent amount of space to do correctly, though.
That said, I think in the programming world, remote work will eventually become the new office because it's the ultimate cost cutter and greatly opens up the pool of applicants.
IMO a dorm suite like layout would be great... have a pod of offices supporting 20 people with a shared common area.
Wait, that peaked? That hasn't been my perception. I'm curious where you are seeing that.
Then again, I'm someone who's threatened to enact the 6 mph standup meeting wherein the second anyone drops below 6 mph on foot, the meeting's over because how can we practice Agile if we aren't agile? That wasn't received well.
Yeah, you guessed it. An agile meeting.
That said: a lot of places don't do it correctly and really do deserve being called cargo cults.
Still, some process is better than no process.
Versus:
>That said: a lot of places don't do it correctly and really do deserve being called cargo cults.
That's how it always goes, right? Company after company implements some kind of Scrum process, and when it doesn't work the problem is never Scrum itself.
I'd contend that the reason things like Scrum are popular is that it gives non-technical managers things to play with: things like burndown charts, that gives them metrics to measure and show to their own managers. Devs aren't measured by lines of code generated per day anymore. Now it is all about "velocity" and burndown. Old wine in new bottles.
https://www.smartsheet.com/comprehensive-guide-values-princi...
Combine these with Joel Spolsky's 12 steps to better code and I'd call that a winning culture.
https://www.joelonsoftware.com/2000/08/09/the-joel-test-12-s...
But that's never how it turns out so "you're doing it wrong" is (and I hate to admit this) a valid objection. Sigh...
The most efficient and effective method of conveying information to and within a development team is face-to-face conversation.
No, not mandating stand ups and open offices, but it's used to justify those things...
And of course, the manager of that team has not been promoted in over 1.5 decades.
With Scrum (for example) that turns into a much more sane, smaller, easier to predict and adapt with metric. Which is due to smaller units of work and shorter turnaround times.
Scrum (and agile in general) isn't magic. It's just sane process improvements.
It's also not an all-in-one philosophy. You can take parts from it and still get benefits (usually ends up showing why you should be more agile however).
Simple daily standups, short sprints, and grooming+planning meetings each sprint will help most software companies a lot, even if they don't go full scrum/kaban/etc
I tend to think that the entire concept of waterfall is a great strawman. At some point, "rapid iteration" runs into the cold, hard reality of how companies tend to work. There are definitely still deadlines, even if no one wants to come out and call them that.
I don't want to suggest that I'm dismissing everything coming out of Scrum (and its cousins) out of hand. But I also think that there's sometimes too much salesmanship pushing it. This represents the commidifying of Agile itself, where now there is money to be made in coaching teams, and selling certifications, regardless of what the end result is.
The point of the manifesto and of training is to present the idealized form. All decent Scrum training will point out that, when the rubber meets the road, there are going to be compromises.
The idea is that it's more a frame of mind than a rigid system. If you approach the "cold, hard reality" with that frame of mind you'll still see improvement.
I'll give you a common real world example: having simple timeboxed sprints and daily 10 min standups is all many companies end up doing.
That's a shame but at the same time now that team has better team communication and better tracking of progress.
Will it be as good as it could be? No. Is it as bad as it could be? Also no.
It's a trade off.
The salesmanship that pisses off so many devs is because a truly Agile workplace requires buy in from all levels and know what helps get buy in from management? Certification, training, webinars, and enterprise-y biz-dev seminars.
There's a tendency of developers to think that every part of something that applies to them should be for them, but that's not true. That salesmanship is not aimed at you, it's useful training for you (I'm doing CSD training this summer for example), but that part is aimed at other parts of the company.
It's the only place I've ever worked in which the customer never registered a single bug. They even asked us if we could take over from a different supplier since they'd never managed to deliver anything that worked. When the tests were signed off (and they literally were; the tester signed their name against each test, data records were archived, the paper test steps and signatures were sealed in envelopes for customer inspection on demand) that software did its job from delivery day one.
Waterfall is really demanding and really hard to do well (and it also requires a high quality of customer; if your customers don't know what they want and simply cannot be guided into telling you, I suspect it's impossible), but it sure can deliver. I've never worked anywhere else that managed such high quality.
What sort of pseudocode were you using for this?
When I hear the above argument, I'm reminded of the Protestants versus Catholics scene in Monty Python's The Meaning of Life.
This reminds me of the time companies used to try to save money by buying low powered computers. They didn't realize that carbon is more expensive than silicon.
There's a big manufacturing plant in town that's been around for decades. One day, a new company comes in and buys them out. The new managers look at the books, and say "Wow! Look at these crazy labor costs! There are way too many senior people here. Let's replace them with new guys, and we'll save a bundle."
So, they do that, and save a lot in labor costs.
After the first year, though, they run into a problem. The plant isn't working like it should. Output is down, and everyone's running around with their hair on fire, trying to figure out what the heck is wrong.
After two days of this, someone finally gets a bright idea: "Hey, why don't we bring in one of those old guys that we laid off?" So, they hunt down the most experienced guy they could find, and bring him in to take a look.
He shows up, and starts walking around the plant. He slowly walks up and down the whole plant, with a gaggle of concerned managers following his every move. Finally, he stops at a pipe at the back of the plant, and pulls out a hammer.
He lifts the hammer up, and whacks one joint really hard. Suddenly, the plant starts working again, and everyone is rejoicing.
The CEO is smiling, and pats the old-timer on the back, and tells him to send a bill for his work.
Well, the next day, the bill shows up. $10,000. "What!" he exclaims, pounding his desk. "Send me an itemized bill!"
The day after after that, a new bill arrives:
Hitting pipe with hammer: $5 Knowing which pipe to hit: $9,995
I doubt it simply because it's way way cheaper to have open floor plans than rooms. Savings on materials, easier compliance with fire safety, way higher density.
One day someone will look up and notice that whole unused third dimension in the office.
I used to joke that Ikea sold queen sized bunk beds (I dunno if they still do, but they did then), and that we could totally get a desk up on top of one of those...
Of course writing out programs by hand is also a long obsolete and useless skill — except for interviews at all the top companies, where it's vital.
For example:
>...In 2011, the organizational psychologist Matthew Davis reviewed more than a hundred studies about office environments. He found that, though open offices often fostered a symbolic sense of organizational mission, making employees feel like part of a more laid-back, innovative enterprise, they were damaging to the workers’ attention spans, productivity, creative thinking, and satisfaction.
http://www.newyorker.com/business/currency/the-open-office-t...
- Some kind of informed consent (because quitting)
- Separation of space (to prevent jealousy)
- A good way to measure programmer skill (this one's harder)
- A lack of unquestioned dogma that open plan is better
It's not as easy as you make it out to be, but either big G or Fbook could probably do it, given the will (which i suspect is the actual problem).
EDIT: parentheses are hard to match
Open floor plans are simply a cost saving measure combined with a way to enforce the internal hierarchy.
Part of that early agile movement was Extreme Programming, which I'm pretty sure advocated for office space per-team and a communal working area with private office space around it.
http://iansommerville.com/software-engineering-book/web/work...
TLDR: 100 square feet of personal space is optimal. The highest I've ever had in tech was 81. I miss those days and I end up working from home a lot because of the current open floor plan. But square feet cost $$$ and switching to an open floor plan is an immediate cost cutter. Never mind what it's doing to overall productivity and future earnings, the analysts love $h!+ like this.
Fortunately, executives are not all idiots, so once the more insightful of them realize how much more they get done in private spaces, one or more of them will push back on this. And if employers start treating cubes and offices as a perk, I suspect they'll see lots of converts.