I agree, for a different reason. I work in an “open floor space” environment, and one thing that people don’t realize is how exhausting it is just to hear everything. Your brain has to process every single noise that passes by you; there is nothing to prevent it from reaching your ears. Every phone ring, door slam, small talk conversation, you name it.
This is what I hate most. The part of my brain that I use to write code is also the part of my brain I use to grok speech, and it can only work on one thing at a time.
I have worked in the corner of an open-plan office(wheeled desks and everything) for the last four years. Highlights:
Game/hw devs testing audio. The same bg audio clip repeated every ten minutes for three solid months.
Every middle-manager around me talking on headsets, because this is a multinational so everyone is on VTC.
The senior engineer down the hall ambling over to a secretary’s desk and loudly expositing on the news and/or his latest opinion(spoiler: he’s US conservative/libertarian, so it’s politics, healthcare, or economic theories.
Every other group’s standup and discussions.
For years I made do with earbuds, but last week I bit the bullet and ordered a pair of closed-ear studio monitors in hopes of some faint peace.
I work in an office with thin walls. I can hear basically anything that happens in our offices, from a pen dropping, to someone having a phone conversation. I’ve taken to keeping my headphones on even when I don’t have music playing. I was once working in a cubicle farm, but the walls were thicker between rooms. It felt quieter. I feel like I would be much more productive working from home, at this point.
It’s not the constant noise, or the need to process the noise. I can get myself into a flow state pretty well, but eventually something sudden will force me to context switch, whether it’s someone knocking on someone else’s door (which sounds like someone right behind me, even on the other side of the offices), or a phone ringing somewhere in the office. Those sudden sounds kill my productivity, and I really don’t have a way to avoid them. Even now, I can hear a conversation with my headphones playing noise. I can’t imagine it being better in any way to work in an open space.
I agree, it is kind of exhausting. But I think open plans aren’t quite as terribly as they’re made out to be. A good pair of headphones can go a long way.
But I think open plans aren’t quite as terribly as they’re made out to be. A good pair of headphones can go a long way.
Headphones do nothing for the chronic anxiety induced by being visible from behind while working, which will accelerate your death by 10-20 years if it doesn’t render you unemployable with a crippling panic disorder first.
I am not exaggerating. The rate of psychiatric attrition in this industry is at least 4 percent per year.
Now get back to work! Everyone is looking at your monitor and sees that you’re on Lobsters! :)
I get told this a lot, but for me it just doesn’t work.
I tried the Bose QC20 which actually did dramatically reduce what conversation I could hear, but I ended up instead with this weird sense of motion sickness that I couldn’t tolerate for more than an hour. So I got one hour of work done while other people were in the office instead of 0 - I guess that’s a win?
With normal headphones or earbuds you just have to have the volume so high to cover up a person talking next to you that it’s dangerous to your hearing and also its own distraction from your work. Silence is vastly better for some people than music, especially obnoxiously loud music.
I don’t feel about this as strongly as @michaelochurch (I don’t know that I feel about anything as much as he does about everything) but yeah, this is pretty clearly at best a neutral fact, and an artifact of the truth that, to a first approximation, nobody knows how to deliver good software.
nobody knows how to deliver good software
This is provably false with data available, but with a caveat I think you’d probably agree with me on.
We definitely know how to deliver good software, and we figured it out somewhere in the mid-80s. Capers Jones even has a textbook called “The Economics of Software Quality” where it’s even cheaper in the long-term to produce high quality software over low quality software with less definition and explicit effort on quality. They also ship sooner, with less bugs according to the data.
EXCEPT: We don’t know how to define our work, and most people in management fear committing to any outcome, as they can be judged by it. Without a definition of what we’re trying to achieve with any serious amount of design work, any other attempts at quality are largely a joke. When management says something like “we should be flexible in the ever changing landscape of <insert completely static requirements>”, call them out.
Finally, individuals have made enormous sums of money shipping absolute piles of steaming shit because they are defining new markets of which they are monopolies. I strongly believe they could have made MORE with higher quality software.
You’re absolutely right on the point that we know how to make good software. It’s not mathematically impossible. It’s just infeasible with on the schedule and under the resource budget that corporations, even when software is their main product, expect.
I think the main issue pertains to where the costs and risks are put. The people who thrive in the corporate world are those who externalize negatives (costs, risks, embarrassments) in a way that they’ll stick to someone else. One easy way to do this is to externalize into the future, since any politically capable manager will be promoted away from whatever he’s working on before anything bad happens.
With good software, the risks are that schedules will slip, hiring will be slow because it’s hard to find good people, and the engineers might end up knowing more than their bosses. These threaten a middle manager’s position in the short term. With bad software, the costs and risks are greater but the probability that they manifest in a way that harms the manager’s career is very low. More likely than not, the shortfall will be detected years later, and that will provide enough time for the savvy corporate social climber (i.e. the middle manager) to blame someone else– if nothing else, he can always blame his subordinates… and he can always say, “I may not have communicated the importance of quality clearly enough, but that was 5 years ago and I’ve grown as a manager; I’m an SVP now!”
The only thing that business executives have insight into is how long things take, not how well they were done. Consequently, they’re always going to favor the shitty thing delivered early over the great thing delivered late.
If you care about quality software, your best bet is to work for a government or for a corporation that has been around for 50 years and plans to be around for another 50. This doesn’t guarantee technical excellence, but there is a shot at it.
Well, if you want to go this way, you could go all the way. If a company is committed to ship high-quality software, that means that some plan can fail to be adopted because it is incompatible with shipping quality software. And most likely the person who can determine this incompatibility would be more technical than the current set of top managers. This means one more person with effectively company-wide veto power, and that slightly devalues the power of the top managers, not just threatens the middle managers.
I agree. We know how to deliver quality software. See the CMM level 5 companies on this list:
I don’t know that an SEI rating can actually prove that a company knows how to deliver quality software. It proves that they can work in a prescriptive manner. But that’s just process, not output.
Specifically they must prove that they have metrics to measure the quality of their output, especially with defect rates per function point (line of code, etc), for 4 or 5 levels.
Maybe I don’t understand your point, but I don’t feel that it’s “just process” if they have requirements around what you measure (as opposed to what you do).
Accenture is CMM level 5 per the above link. I would not hire them to come within 1000 yards of a quality software project.
In practice this process model doesn’t correlate well with anyone actually being satisfied with the quality of software produced.
Note that it’s a very specific division of Accenture. Not trying to argue your personal experience.
Yes, exactly. I think many on here are probably not old enough to remember the CMM craze. There was a LOT to getting CMM certified, and IMO attaining a level 5 CMM certification has weight.
That’s not true. Airplanes, air traffic control systems, space craft, and most other safety critical embedded systems all have “good” software that doesn’t fail very often. The problem is that it takes a lot of time and is very expensive, and most people choose cheap and broken over expensive and correct.
Open office plans make all kinds of development more expensive because nobody can concentrate for long and that makes everything take longer.
Speaking with embedded dev hat on. One reason for a lot of the systems working properly is very limited interaction surface which is easy enough to test semi-comprehensively. Another is limited, conservative functionality: e.g. PLCs use ladder logic since forever.
That said, there’s rarely rocket science inside all that, and it’s not particularly pretty. I’ve seen an industrial Ethernet switch vendor run Node, seizing the switching fabric when you refresh the stats page; a certain large PLC/automation vendor who can’t TCP/IP properly and so on. The reason one would think things are smooth there is one never sees the ugly side of it :)
A lot of those systems are riddled with bugs that are avoided not because the software is robust but because the only users of the software are highly trained quite literally in what not to do with the software. You don’t have Joe Random User just sitting down in the front of an A340, you have a guy/gal who’s been told specifically “if you put these inputs into the flight computer you cannot trust the output, so don’t do that”
It’s gotten better as time has gone on but it’s not as perfect as you’d think.
I mean, I did say, “to the first approximation.” Sure, we could all work like NASA did on shuttle flight control software, but then much less software would be produced. I think I’d probably be OK with that, but there are other imperatives at work.
And yes, open plan offices are a catastrophe.
I think that proves the point right? We do know how to deliver quality software, it’s just not a tradeoff we’re willing to make for software that isn’t critical to safety.
You can argue that OpenSSL et. all are critical to safety too, but it isn’t in direct control of a car or the space shuttle.
Sure. But the incentive structure we labor under is such that the choice is between shitty software and no software, realistically. I do wonder about the implicit warranty waiver and other shitty language in license agreements, as this problem is not one of science, but rather of law.
I’d take it a step further. For the most part we don’t really have an agreement on what good software is, which is pretty much a pre-requisite for reliably delivering it.
Is the facebook android app “good” software?
Is the linux kernel “good” software?
Einstein once said time is what you measure with a clock and space is what you measure with a stick. For most of us, good software is defined to be software our superiors think is good and our customers are willing to use.
I think that this is exactly right, and a better way to state the problem.
That’s provably wrong. There’s companies that have been delivering good software for years. The high-assurance field all do it. Then there’s companies in competitive industries that charge a bit more for delivering better stuff. Comments downthread act like you need a NASA budget. They didn’t see the evidence clearly.
Cleanroom’s empirical results had it delivering very, low defects at an overhead ranging from slightly less than broken software to not much more:
Old, high-assurance systems showed that reaching level of formal verification of design and near-exhaustive testing of system’s security (their focus) was between a 30-40% premium over regular, software process:
A modern shop that does similar stuff claimed a 50% premium for software with almost no defects whose TCB could often provably avoid common defects:
Then there’s niche operators doing things such as using logic programming to encode the specs of the problem in a way that bypasses much of the coding and flexibility problems:
So, yes, there’s companies delivering good software. Some Cleanroom companies and Altran/Praxis even warranty their software to a specific defect rate. They fix any other problems at their own cost. Most of the problems are from either (a) industry not knowing the methods available to deliver low-defect software or (b) bad management making sure that doesn’t happen. Michael writes about the latter. My stuff is about the former mostly. There’s a lot of both going on.
hey NickP, I’ve seen you around, and you are pretty knowledgeable about this stuff. (Didn’t you post on Schneier’s blog a lot a few years ago?)
Do you perchance have an essay where you could elucidate “How To Do The Job Right”, along with sources?
Yep, it’s me. I switched it to nickpsecurity because NickP wasn’t available on many sites. Stayed for years posting my designs on Schneier’s blog since it used to have many talented engineers and businessmen delivering great peer review. Many left with multiple trolling operations, one maybe state-sponsored, drowning out all signal. Had to mostly back off. Now on Hacker News and here.
Far as the paper, Im not sure what that title would mean. Are you talking about corporate issues? I recommend PeopleWare book as a start on that. Are you talking about one of my essays on security engineering, certification, or embedding into businesses? With more detail, I can try to dig it up. I have a text file with links to many of them.
Upvoted on the title alone. The author makes some good points, but the talking point still stands alone.
I’m not a fan of “open floor spaces” either. I agree that it’s a productivity killer, most of the time.
I remember reading an article many years ago about the private offices at Fogcreek, and in my mind it, it made complete sense. But not everybody (read: not every company) sees it that way, unfortunately.
I personally find “open concept” offices to be incredibly distracting. There’s no sound dampening so you end up with this constant background noise from people engaging in normal conversation, and it’s a visual distraction as well. Brain keeps saying “Hey what’s that? over there?” etc.
I totally get that co-location has benefits but I am by far most productive when I work from home. I control my environment completely and set my own distraction filters.
Corporate management, most of the time, will favor control over performance. Just as the Communist Party, in so many communist countries, cared more about being society’s elite than it cared about communism, the Capitalist Party (executives) cares more about maintaining position than capitalism or, say, the desires of shareholders.
For this reason, I doubt that open-plan offices are going away any time soon.
Also, the fact that these office environments appeal to young people who haven’t worked yet, and turn off the older people, is very much a part of the design.
Where do I sign up for this?
Where do I sign up for this?
Great question, since there really shouldn’t be one, and the questions of “How does one get in?” and “Why does it exist?” are often interconnected.
The main moral argument for capitalism is that it’s inclusive: everyone has the right to compete with existing players, whether governmental or corporate or otherwise entrenched. The need for, just to name one example, a free and private press, is why we’ll always need some element of capitalism in our society. We know from experience that when it is illegal (as it was in the Soviet Union) to enter competition throughout the entire economy, the results are disastrous.
And yet, what we see in the corporate world is not what capitalism is supposed to be, but artificial scarcity– intentional delay of advancement, manager as a single point of failure, deliberate moves to create hierarchy and division– and we see lackluster performance. Productivity and GDP growth are flagging just as Soviet communism did in the 1980s. The corporate brand of capitalism isn’t working, and I think that it’s obvious why this is the case. The elite didn’t want to compete to hold position, so they’ve become hegemonic. They’ve formed a Capitalist Party– a social elite that, according to the demands of libertarian capitalism, shouldn’t ever be allowed to exist.
So, how does one join the Capitalist Party? The easiest way is to be born into it. Specifically, to inherit substantial capital. This could be financial capital (money) or it could be social/cultural capital (connections to get a job or angel funding). The latter is more common because it’s not as socially acceptable to drop a large estate on a child (especially if the parent is still alive). For example, college (with its high cost, and with the socioeconomic component of admissions) has become a socially acceptable way for middle- and upper-class parents to hand down social capital.
Of course, that’s not an option for most people. The second way in seems to be to enter the vassal elite and focus on helping the existing elite (which tends toward paresse over time) keep its position. The union card for the vassal elite seems to be an MBA from a top-5 business school.
Capitalism expects everyone to compete. Firms must compete for customers (and they do). Workers are expected to compete for jobs (and they do). The exception is the set of people who were collectively smart (note that software engineers are individually smart but collectively stupid, which is why our employers hold so much power) enough to figure out how not to have to compete. They started calling themselves executives and successfully convinced the rest of the world that no one could replace them… and that businesses simply wouldn’t run if they weren’t headed by people from a very small set of individuals (who all know each other, all talk each other up, and all sit on each others' boards and bid up the others' pay). This is why they earn $15 million per year. No one really knows what purpose they serve, but they’ve acquired enough power and connections to destroy anyone who calls them out on their lack of meaningful contribution or purpose. The Capitalist Party is the set of people who’ve found a way not to have to compete (or, at least, not to have to compete fairly) to hold position.
does this hold for capitalism not coupled to neoliberalism? (does that even exist?)
Neoliberalism, to me, is more of an attitude toward globalization. This is separate to me from the emergence of a Capitalist Party. A lot of people use “globalist” as a slur against Davos assholes / Capitalist Party, who tend also to favor neoliberal stances on globalization, but you don’t have to be globalistis to have this problem. Capitalism can develop a parasitic corporate elite even in an isolationist society.
It’s simpler than that, in my view. It’s human nature. People who’ve attained status want to preserve it. They invest what they’ve acquired toward a variety of ends, and one is class security.
It’s pretty well known that people become more risk-tolerant as they become wealthier. (In technical terms, the utility curve becomes closer to linear.) A poor person might prefer a sure $2M over a 50% chance of earning $10M, while a wealthy person would value the 50%-chance-of-$10M option close to $5M. So the rich want risk and the poor don’t, when it comes to personal finances. When it comes to social status, the pattern is the opposite. The wealthy want minimal change if any, and the poor want to roll the dice because it’s the only shot they’ve got. This is presumably because social status, unlike economic fortune, is (a) zero-sum, and (b) mean-reverting.
The purpose of corporatism is to provide a safety net for the well-connected (who are often, although not always, the very rich). It slows down change in terms of what happens in the economy, especially at it pertains to the people at the top. (They couldn’t care less if automation wipes out factory jobs, though.) In doing so, however, it both slows down innovation and reduces their ability to claim that their system is true capitalism. True capitalism doesn’t care where you went to school or who you know, but the Capitalist Party very much does.
There are quite a few other versions of capitalism that are fairly widely accepted. I suppose there are people who disagree (mainly a certain kind of libertarian who believes only a very specific libertarian idea of capitalism is True Capitalism). But I mean systems where there is enough consensus that they’re a variety of capitalism that both most mainstream neoclassical economists and most Marxists, and just about everybody in between, would agree with that characterization. One of the more prominent ones is ordoliberalism, which was essentially the state ideology of the former West Germany.
thanks, that was an interesting read!
In america we call it the GOP.
From a fiscal perspective, the Democratic party isn’t all that much different from the GOP. Their main points of difference are on the social axis (i.e. the degree to which the state should care about people’s private lives).