Written by Aurynn Shaw and archived here from https://blog.aurynn.com/2015/12/16-contempt-culture on 2024-10-25.
So when I started programming in 2001, it was du jour in the communities I participated in to be highly critical of other languages. Other languages sucked, the people using them were losers or stupid, if they would just use a real language, such as the one we used, everything would just be better.
Right?
This sort of culturally-encoded language was really prevalent around condemning PHP and Java. Developers in these languages were actively referred to as less competent than developers in the other, more blessed languages.
And at the time, as a new developer, I internalised this pretty heavily. The language I was in was blessed, obviously, not because I was using it but because it was better designed than a language like PHP, less wordy and annoying than Java, more flexible than many other options.
It didn’t matter that it was (and remains) difficult to read, it was that we were better for using it.
I repeated this pattern for a really long time, and as I learned new languages and patterns I’d repeat the same behaviour in those new environments. I was almost certainly not that fun to be around, a microcosm of the broader unpleasantness in tech.
At least, until I got called on it.
I’d been making critical comments about PHP the language, and PHP developers, nothing more than standard “PHP sucks” sort of language. The same thing I’d been doing, and supported in doing, for years.
Getting called out was hard, and I was asked to consider who and what I was criticising. I was able to access a very specific version of the self-taught narrative, where I used “real” programming languages and had “real” passion and drive, the result of which was that I fit the early hacker archetypes and was permitted status - as long as I participated in gate keeping. My self-taught narrative is not other peoples’ self-taught narrative, and I was very firmly reminded of that. Other self-taught narratives, such as starting with Wordpress-based design backgrounds and moving from more simple themes to more complex themes where PHP knowledge is required, to plugin development is a completely valid narrative, but a path that is predominately for women.
This was a bombshell. I’d been loudly criticising the language and, through that criticism, implying that people using the language weren’t as good me, weren’t good programmers. And suddenly I was thinking about all the myriad ways that someone with that background would feel othered by me, like they didn’t belong and weren’t welcome in the communities I was a part of.
All of the ways in which I was actively participating in the exclusion of women from STEM.
Of course, I hadn’t intended to do any of these things, but as I came to realise, it doesn’t matter what I intended to do, what matters is that I did it and that it had real repercussions.
I intended to make fun of a language, the repercussion is that people from minority backgrounds wouldn’t want to talk to me about the things they’d done in that language, they wouldn’t feel safe talking about their achievements and exploits.
And why would they feel safe? If they say what they use, we as a culture laugh at their choice. We tell them they should know better, tell them that it’s a horrible tool. Tell them that they are wrong. We ignore the achievement and focus exclusively on how it was reached, on how much better we are because we had access to narratives that the broader culture had already deemed more real.
Not better narratives or better tools, just more accepted, more permitted, more discriminatory.
I was taught to be contemptuous of the non-blessed narratives, and I was taught to pay for my continued access to the technical communities through perpetuating that contempt. I was taught to have an elevated sense of self-worth, driven by the elitism baked into the hacker ethos as I learned to program. By adopting the same patterns that other, more knowledgable people expressed I could feel more credible, more like a real part of the community, more like I belonged.
I bought my sense of belonging, with contempt, and paid for it with contempt and exclusionary behaviour.
And now, I realise how much of it is an anxiety response. What if I chose the wrong thing? What if other people judge me for my choices and assert that my hard-earned skills actually aren’t worth anything?
What if people find out I’m a fraud?
By perpetuating a culture of contempt as the means of acquiring credibility, I was able to avoid these difficult, introspective questions. We don’t have to look at how we’re harming other people who want in, don’t have to acknowledge the niggling little voice in the back of our head asking are you good enough. It wasn’t me that was wrong, it was them.
Instead, I was taught to use emotional weaponry to silence and exclude others, resulting in the remaining voices being the most toxic and exclusionary, the most able to tolerate toxicity and exclusionary attitudes.
This pattern is common in tech, from extremely high-profile projects like the Linux kernel to the ongoing os/language/editor “wars” to the vile reactionary attitudes towards the introduction of Codes of Conduct, to any developers making disparaging comments about other peoples’ ability to code, and the growing contempt around people whose first or primary language is JavaScript.
This culture has ramifications. PHP communities, for example, have lacked access to the development of DevOps tooling, the use of PHP is widely derided as being insecure by default, are they are widely mocked for being an “objectively bad language.”
Yet people make their livings working with PHP, deploying PHP, trying to secure PHP. Don’t they deserve the help that we received, the help of good practises and security-first development? These people who can’t improve their work because we won’t work with them and drive them away from our communities with mockery and spite.
And then they engineer things on their own, because they still need these tools, and we have the gall to ask why they didn’t use these other tools.
Tools that we mocked them for asking about, telling them to get a real language, to rewrite their entire app, to rebuild from scratch because their particular path was not blessed enough.
Because we were the problematic elements.
It’s 2015, and I saw a presenter at a Python conference make fun of Java. How would that feel to people trying to move from Java into something else? I wouldn’t feel welcome, and I’d have learned that the idea that the Python community is welcoming wasn’t true.
I’m tired of calling people out again and again for dumping on PHP.
I’m tired of people dumping on Windows, that most popular operating system, because it’s not what we choose to use, tired of the fact that we don’t make it easy to use our tools and teach them how to move, when they’re ready.
Instead, we lecture and dismiss and heap scorn upon them. We don’t reinforce our communities with respect or a sense of achievement, but with shame and contempt and awfulness. We exclude people.
I’ve excluded people. Directly, me. I have to own up to that and deal with it.
We excluded people. Directly. All of us. Even if we didn’t intend to, it does not matter. We make fun of the things others care about, make them feel small, make them feel like their achievements didn’t matter. Make them feel like they’re not welcome.
SHUT. UP.
No, really, cut it out. If you need to make fun of a language, do it with your own language, inside your own community. JavaScript is really good at this, because they’re trying to help people write better code within JavaScript.
Do it around friends only, and acknowledge that it’s extremely problematic that you’re doing it at all.
Find some amazing project to celebrate in a language you’re contemptuous of.
Go to meetups of what you despise. Say you don’t know anything, and see how welcoming they are to new people. See what they say, what they do, and ask if you’d be as welcoming to them when they come to your meetups.
Work to change your community. Ask people who try to pay for their membership in contempt to stop, or to leave. Make it unacceptable to use these behaviours as a means of obtaining social wealth.
The best advice we give programmers is to leave things better than how they started. We do it with code, why don’t we do it with communities? Why don’t we do it with people, colleagues, friends?
Ask why it’s okay to do these things in your community, and leave things better than when you started.
This post has been translated into Polish by Łukasz Wójcik, and you can find that translation right here!