Problem is not between computer and keyboard

It is hard to write things online. I didn’t know that before I started.

The writing part is not hard. It is dealing with individuals who have somehow ended up in convoluted mind streams. In real life, there are many reasons why one doesn’t usually come face to face with this convolution, and the rage it manifests. But when online, the mechanisms that calm this rage down – skin in the game, interactive communication, body language – don’t come into play.

Trolls are one part of it, but that’s not it. Even normal people say things, or say them in a way they wouldn’t say to a person they were talking to in real life.

Programmers are the worst.

What makes this a personal problem for me is that if there is one label that I would self-identify with, it is "programmer". So I am part of this bucket of seethe and hate.

Now, that doesn’t mean I cannot be kind. I try to. And it also doesn’t mean that all the people in this bucket are unkind. No.

But it does mean my peer bucket in life is full of people who don’t understand that the being right is not important, being kind is.

Some of us programmers are engineers too (programming and engineering are two different things, but that’s for another day). As engineers, numbers don’t lie, and a kind engineer is a laughable proposition. We want engineers who are right. But nowhere does that imply that they have to be unkind.

A particularly insidious way this surfaces is the PEBCAK / PBCAK meme - that the “problem exists between the chair and the keyboard”. I can see how it started out as a lighthearted jibe, and how indeed sometimes there are unappeasable users for whom such a characterization is justified.

But (some) programmers latch on to this line of thinking, and it over time it only serves to further diminish the empathy they have for a fellow sentient being.

The problem does not exist between the computer and the keyboard. If the user is holding it wrong, it is a fault in the program.

This is not a value judgement. It is really hard to make software that brings joy in the life of people who use it - I can say it with some assurance because I’ve used a lot of software in my life (and yes, an API is also a software), and I can count on fingers the rare instances it’s a pleasant interaction.

So all programs will have faults in terms of UX. But that’s fine. We can iterate. But what’s not fine is propagating this worldview that it is the users who have to change.

All this doesn’t apply to only writing. For all my dislike of YouTube for its monopolistic capture of humanity’s videos, I admire the courage and care they showed in removing the thumbs down button. My thesis is that any community that has a downvote / dislike button will not survive - humanity is not built on negative feedback. People are too fragile and easy to break.

The ones of you who have had the thought pop in your head that it’s evolution baby, survival of the fittest - you’re right, but you’re not being kind.

I’m mixing two things here: Design requires empathy, and that in online interactions people are extra unkind.

I’m mixing them because my intended audience for this post is programmers, and programmers seem to disregard both empathy and kindness. I don’t want to change the entire world, but I would be happier if programming communities online are less of cesspits.

For example, one of the joys in my life is writing shell scripts. I love the entire Unix mindset on chaining together things with pipes, and I used to love telling about it to people.

In this mindset, I like starting together the chain with a cat. Doing it like that conceptually makes more sense to me, it makes debugging easier, it makes transplanting and splicing easier, and I also like the eventual artefact.

I dare you to state this opinion in, say, /r/programming. There will be a line of smartasses lining up to give you the “useless use of cat award”, with a shower of acerbism to go along with it.

I have lost my enthusiasm for shell scripts because of such people. I still write them for my own use sometimes, but I don’t talk about it anymore. Because I know just like fleas, such lost souls will start pestering me, and I don’t have a skin thick enough to handle their negativity.

At this point you might be nodding along, but not seeing how this applies to you.

If you are a programmer, there is a higher than 50% chance that you think and talk in ways that does not make for a safe space. This is all the more ironic, because us programmers often have neurodivergences that need a safe space for us to shine at our best. And then we themselves go out and ruin the safe spaces other people try to build for us.

Let us try to end this cycle. Let us try to empathize with the user, and let us try to be a bit more kind when talking to each other online.

Manav Rathi
Feb 2024