The ultimate software taboo

I have written before about the hidden dangers of unstructured or “flat” organizations. A microcosm of the structure wars is the debate over whether Open Source software projects should adopt explicit codes of conduct. These codes, if not an introduction of true structure, are at least the imposition of a “social API” of sorts.

One objection I’ve seen raised to codes of conduct is that we shouldn’t discriminate against people who write good code but who happen to be assholes. After all, as the argument goes, not everyone is blessed with social graces. And if we exclude those people, we will miss out on their essential technical contributions.

With regard to this argument, a study out of Harvard on “toxic employees” seems apropos:

A worker in the top 1% of work productivity could return $5,303 in cost savings, while avoiding a toxic hire could net an estimated $12,489.

Studies also show that an overall negative culture has tremendously damaging impact on health, productivity, and engagement:

…a large and growing body of research on positive organizational psychology demonstrates that not only is a cut-throat environment harmful to productivity over time, but that a positive environment will lead to dramatic benefits for employers, employees, and the bottom line.

Although there’s an assumption that stress and pressure push employees to perform more, better, and faster, what cutthroat organizations fail to recognize is the hidden costs incurred.

Emma Seppälä and Kim Cameron in Harvard Business Review

These studies are from the realm of business, but it doesn’t seem like too much of a stretch to suggest that the effects extend to volunteer associations as well.

And then there’s this. A new study has found that in a medical setting, rudeness might literally kill:

…a rude comment from a third-party doctor decreased performance among doctors and nurses by more than 50 percent […] “We found that rudeness damages your ability to think, manage information, and make decisions,” said Amir Erez, an author on the study and a Huber Hurst professor of management at the University of Florida. “You can be highly motivated to work, but if rudeness damages your cognitive system then you can’t function appropriately in a complex situation. And that hurts patients.”

This is consistent with what I learned from reading Thinking, Fast and Slow: the human mind draws from a single well of energy. This energy can be sapped in many ways, and processing negativity is one of those ways. Having an asshole in the room doesn’t just raise the bar to entry. It ensures that everyone who has made it into the room won’t be working at their full potential.

Whenever I hear that it is simply impractical to exclude contributions based on social, political, or ethical objections, I think about September 27, 1983. That’s the day Richard Stallman decided that the sociopolitical structures behind the software of his day were morally untenable, and launched a project to replace every single line of code he and others made use of with Free Software.

Discarding millions of lines of existing code. Excluding all of the brilliant programmers who were working within the confines of Free-Software-unfriendly organizations. Clearly, this project was doomed from the start.

And yet here we are, decades later, and this article was almost certainly delivered to you with the help of Free Software. Free Software powers millions of servers, phones, and devices. The GNU replacements for the classic UNIX utility stack, re-written from scratch to satisfy ethical constraints, are widely regarded as being superior to the ones that they replaced. Amazingly, counter-intuitively, rejecting existing work and existing contributors did not render the Free Software movement dead on arrival.

More recently Stallman himself has resisted codes of conduct, and has conducted himself in a way that contributes to exactly the sort of unsafe environment that codes of conduct seek to avoid. Should he be given a free pass because of all his contributions?

I argue no, he shouldn’t. If there are three things that Stallman showed the world, they are: 1) software has political and ethical implications; 2) a software movement built on ethics can survive and even thrive; and 3) eschewing people’s contributions on ethical grounds is no obstacle to progress.

I am starting to think that the greatest taboo in software development isn’t writing GOTOs, editing code in production, or even using tabs instead of spaces. No, the most dangerous, terrifying, unspeakable idea in programming is this: the suggestion that we—and all of the code we’ve written—might be replaceable.

This article was adapted from SIGAVDI #10, December 14, 2015.


  1. I’m curious where the thought that “people who write good code but who happen to be assholes” comes from. I know you don’t share this Avdi, but IMHO this is misguided. Coding isn’t “clever algorithms”, coding is communication. If one can’t communicate well with your verbal language, how can we expect great communication with their software?

Leave a Reply

Your email address will not be published. Required fields are marked *