One thing that’s always interested me about software design is the inescapable bias of the designer. Whether we like it or not, designers’ perspectives always color what they think makes sense, what they think is useful, and what they think is good.
Never has this been more apparent to me than at the 2010 Mozilla Summit. I couldn’t help but notice that every session I visited, every reception I attended, and every conversation I had was dominated by male hacker stereotypes. The game room was full of obscure board games, first person shooters, caffeine and candy. Group conversations inevitably drifted towards the finer details of an API or a technical discussion of the merits of one platform or another. I had many short-lived and terse conversations with shy and introverted but incredibly proud geeks like myself.
It’s not that there’s anything wrong with the typical Mozillian—it’s that Mozillians are such a surprisingly typical group. It didn’t matter what country I came from, whether I was speaking to a man or a woman, or whether the contributor was a developer, tester, localizer or other form of contributor, there was a somewhat shocking homogeneity to the personalities and value systems of the people I met.
And it’s not even that these personalities or value systems are wrong: in fact, I share many traits and values with the people I met. I’m shy; I’m introverted; I believe in standards, open communication, transparency. As an academic, I may have learned to overcome these traits for the benefit of my career and to foster other values, but at my core, I identify strongly with Mozillians in both personality and beliefs.
No, the troubling thing was the lack of opposing traits and beliefs. Where are the technically disinterested Mozillians? The gregarious? The empathizing? Where are the Mozillians who are interested in people, society, history, diversity?
The answer, of course, is probably quite obvious: they’re Mozillians because they’re interested in technology. The ones interested in people have self-selected out of this group and are contributing to society in other ways and other places.
What this means, however, is that a comparably small group of people with similar goals, similar interests, similar viewpoints, and similar skills have a disproportionate influence on how the rest of the world experiences the web. And unsurprisingly, the experiences that Mozillians create are the ones that propagate and reinforce Mozillians’ own viewpoints.
None of this is very controversial either. In fact, I spoke with many Mozilla employees who believe that Firefox and Mozilla’s other mature products are really products for power users, despite the organizations unique user-facing stance relative to other open source communities. They believed that while it may be possible for the rest of the world to use Firefox as an alternative to other browsers, the Mozilla community ultimately builds for itself and its own perspectives because it knows no other way.
What is this way, then, that Mozillians view the world? Throughout my many discussions, I noticed a number of recurring beliefs (many of which are general to engineers and developers, and not just open source communities):
- There’s always a right answer. Unlike most professional designers, I noticed that developers like to use the word “right” a lot when designing solutions. Understandings of tradeoffs seem to be limited.
- My answer is right. Most of the Mozillians I met like to believe they have the right answer. There appears to be a joy on defending this position as well.
- If a rationale argument can’t be made for a solution, the solution is invalid. Rational thought is the only valid means of obtaining knowledge or solving a problem.
- Proof by existence, not by evidence. Prototype it and then I’ll believe you.
- Ambiguity is unacceptable. Messy or noisy problems need not be solved. Solve the solvable problems.
Another recurring stance I noticed was that developers are special, privileged class. Obviously this isn’t the first time I’ve see this, but it did make me wonder where it comes from. So I probed. What I found was that every story of how someone learned to program and become part of the community was one of competitive selection. It’s hard to learn to program, it’s hard to get into CS, it’s hard to get a development job, and it’s hard to become a Mozilla developer. In fact, many told me that with all of these trials by fire, they learned quickly to act confident, to act certain, and to act as if one is right. One developer described this as a form of elitism, which brings with it a disdain for other view points and other more easily acquired skill sets (hence the apparent lesser status of localizers, testers, and support).
What no one said, but what I gleaned, is that this culture of elitism is as much an identity thing as it is a social thing. Perhaps the competitive processes by which developers attain status creates an identity that must be fed by being right. And what do we know about identities? People reinforce them, they defend them and they seek experiences that keep them intact.
What is the impact of all of these on the design of software, or at least Mozilla software? For one, design culture itself appears in direct conflict with how developers view the world. There is often an ambiguity, or mysticism to how designers learn to cope with ambiguity, and at least with respect to developers, I can see how this ambiguity is disconcerting and unconvincing. Moreover, it disempowers conceptual designers by requiring functioning prototypes as a ticket to entry.
The particular mission of Mozilla, to support the open web, also has interesting interactions with this developer culture. For example, many developers I spoke to believe that the public ought to care about their ability to control their online experience and own their data. I asked them, as devil’s advocate, why Mozillian’s had the right to impose these values through software, and many made a free market argument: people group together to espouse their values and those groups that persuade best, win. I saw little room in most stances for the possibility that users might not value the freedom espoused by Mozilla, and that the very espousing of openness might in fact oppose other values, such as simplicity, humanity, and beauty.
Are these trends in developer culture inescapable, or just an ephemeral aspect of a relatively young trade? Is it possible that as more people with more diverse perspectives learn to code, this imbalance in perspective will correct itself? Or are there only certain types of people drawn to code? Perhaps the market will ultimately force developers to empathize with other viewpoints, because society will cease to tolerate the engineered design of today and demand designs that respect their own values. I do not know—but I’ll be interested to find out!