Empathy in Software Development

It is never easy say “I’m sorry”. Admitting wrong is challenging. Our natural inclination is to dig in, become evasive, and attack our accusers. And the more senior you are in your career, the harder it is to own one’s mistakes.

This is especially true when you have had the type of career and fame that Linus Torvalds has experienced. If you don’t recognize the name, he is the inventor of Linux and Git. Much of today’s modern software created in the past two decades has been built on top of the software he created.

This is what makes the admission of contrition from Linus over the weekend so surprising. This was not the “I’m sorry you were offended” passive-aggressive apology to pass blame. It was a genuine admission that he has been a jerk and is the one to blame.

Linus was the poster child for bad behavior, publicly mocking and humiliating others with impunity. Because he is revered and considered God-like in the tech community, most simply brushed off the abuse, even though we knew it was wrong. Others even modeled their own behavior after Linus. Thus we tacitly accepted that empathy had no place in tech.

This should come as no surprise. From the early days of tech, empathy and emotion have been pushed to the side in favor of cold, hard logic. As software became male dominated in the 70’s and 80’s, the image of the computer programmer as a socially awkward introvert took shape. Besides, why does empathy matter when all you do is pump out lines of code in front of a terminal in isolation for hours on end?

Jez Humble, a leader in the DevOps community and co-author of Accelerate: State of DevOps had this to say on the role of empathy a few weeks ago:

The best products evoke emotion and move us in some meaningful way. They pull us in and change the way we interact with the world. Otherwise, as I replied to Jez, the product is “merely a commodity that is forgettable and easily replaced”.

Humans are emotional beings. We cannot escape that fact. Even if we tried to go full-on Vulcan, we cannot. Much of our decision making occurs in the subconscious. When we suppress emotions, we cut ourselves off from making better decisions. If we do not see the world from other perspectives, we cannot gather feedback that allows us to build more engaging software and products.

Don’t get me wrong, there’s plenty of behind-the-scenes code that users never see. But even in that code, developers are making critical decisions that have a huge impact and ethical consequences. Empathy is required, and you need to consider the needs of users, co-workers, and collaborators.

It’s time we dismantled tech culture that gave us the emotionally stunted programmer bro trope. It has no place in building software that makes the world a better place. The current state of tech culture is one that is still aggressively hostile and patently dismissive to women and people of color. It creates a toxic environment for everyone and contributes to a poisonous sense of entitlement and superiority that has zero place in any professional setting.

That is why this is such a big deal from Linus and a positive sign for the tech industry. I wholeheartedly agree with Jono Bacon’s assessment and we should support Linus through this time. My hope is that his statement will allow all of us to openly talk about the negative behaviors tolerated in tech and move us closer to empathy and understanding.

What you think about the current state of tech culture today? How are you encouraging more empathy in your workplace among developers?

Why does sticking a knife into an operating toaster give you a shock?

Yes, kind of obvious this is bad, but good explanation as to why…

We help IT leaders in enterprises solve the cultural challenges involved in digital transformation and move towards a community based culture that delivers innovation and customer value faster. Learn more about our work here.




Thoughts on developers, digital transformation, startups, community building & engineering culture. Author is Mark Birch @ AWS 👉 https://twitter.com/marksbirch

Love podcasts or audiobooks? Learn on the go with our new app.

Recommended from Medium

Fail fast is not enough!

PHP vs Python: Which Language to Choose for Server Side Development

How to plan start and stop of ECS server in Huawei Cloud/Open Cloud

Creating DynamoDB Autoincrement ID or Unique ID UUID

CS373 Spring 2020: Long Do

Dev Log 25: New Website, CEX Listing, Single Sided Staking, and Arbour Day!

Cartesi (CTSI) is now Verified and Connected to the Messari Registry

Recursion Tree Method to Solve Recurrences

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


Thoughts on developers, digital transformation, startups, community building & engineering culture. Author is Mark Birch @ AWS 👉 https://twitter.com/marksbirch

More from Medium

We’re better off ignoring one another’s titles

3 Key Points To Consider While Building And Leading High Performing Software Engineering Teams

The Focus Shift from Individual Contributor to Engineering Manager

Is Dimension Modelling worth it in Distributed Systems?