Exclusion, prejudice and discrimination in software engineering. It’s not what you think!

We don’t often think about how our jobs (software engineering, I mean) are full of discrimination. We don’t see it because it’s a part of being a software engineer, and we sit too deep in it. Sounds sad, but that’s the truth on every level and in absolutely every (no exceptions) company, whether we like it or not. Only recently, I’ve been thinking about how unfair that is and wanted to share a few things that are really pissing me off…

Topics like colour, toxic diversity, lack of empathy, a problem with identity, etc. It’s time to speak up! If I don’t say anything, it will never change. So speaking up for myself and my fellow engineers is the first thing I can do to change the world.

The most important challenges

Why don’t we allow programming languages to identify as whatever they want? It shouldn’t be a problem for JavaScript to identify as Java, right? Even the name is similar. Taking it to the extreme, why PHP couldn’t be a styling language like CSS? Just because someone said X doesn’t mean it can mean Y, right? Let’s build a better world where C# code can live in the index.js file, Rust can be used as React component, and SASS is not only about looking pretty. I can list hundreds of examples like this, but I’m sure you already understand what I mean.

We, software engineers, must stay open, let go of the prejudice and stereotypes forced upon us by society, and allow languages to identify as whatever they feel. We cannot tell them how to behave or execute each line.

This is just ridiculous. In times of vanilla JS, every variable passed to a function could be anything. It was a beautiful dance of strings, identifying themselves as numbers and arrays pretending to be objects. We were all free, and variables felt good in their non-binary types.

On the other hand, Typescript introduced a dangerous change when freedom of identity is no longer possible … or at least not that easy! It follows the rotten culture of other strictly typed languages. We must stop this tyranny.

Have you noticed how often software engineers are laughed at when they share their screen during a meeting, and the truth about them is exposed? People are starting to laugh and mock “this is not right!” and “how you can even work like that”, but it might go as far as “you are a disgrace to the software engineering community!”.

It’s all only because the presenter decided to share the code, and everybody could see he was using a white theme in his Visual Studio! I know what I’m talking about. I’m one of them. I believe the white background colour is better for my eyes and makes my work easier, especially when I’m sitting in a sunny garden. It’s my right to use any colour I want, and I will continue fighting against the psychological abuse I experience every time I share code in my IDE.

Defund the QA team, get rid of them… They are only here to generate problems, and their bias and privilege are causing nothing more than harm to hard-working software engineers worldwide! We can all make mistakes, and nobody should be punished, called our or even caught releasing a bug into a live environment. Isn’t that a pure essence of injustice? Stop the bug-shaming.

We should drop any code review processes because who are we to judge others’ code and say what is right, wrong and how to do things. Often following some imaginary standards and best practices based on an outdated view of the world…

Have you ever noticed how CLI Git users look at their peers who are favouriting tools like SourceTree? We are all the same, yet some feel better, supreme than others only because they invested time learning command-line and using keyboard proficiently. Let’s bring the equity amongst software engineers and ban command-line interface. Bring the standards down, and let’s all use our mice as God (or at least Douglas Engelbart, the guy who invented a computer mouse) intended.

What’s next? Not much…

If you reached this part, you probably realised it’s not a serious post, and you should take it with a smile. It’s just an example that anything can be stretched to the edge of absurdity, but it doesn’t make it right because it has been said.

We live in a world where misinformation is easier than ever. Whether it is an individual who feels unjust and wants to rally a crowd for their cause, a government who wishes to manipulate its citizens, a corporation that wants to stir society’s fabric to earn more $$$, or minorities who shout the loudest to influence the silent majority. All can be achieved because of the value their messages carry but the level of decibels, number of tweets, or sparkly videos they post online.

Not everything we hear is true.
Not everything we see is true.
Not everything we think is true.
Not everything we believe in is true.
Not everything we feel is true.

ps. I actually do enjoy JavaScript’s ambiguity around variable types. It makes my coding days more colourful with more “WTF?” throughout the day :)



Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Andrew Winnicki

Software Engineering Changemaker. Driving digital transformation and sharing experiences and thoughts from my journey. 20 years and counting…