Developer growth

Empathy: an essential skill in Software Development

Being a software developer is a tricky business. There are low’s and high’s lurking around every corner: Could this class be well-written, tested and a joy to work with or am I going to find regions of pain? Will the product demo be horrid and tedious or a joy for the stakeholders? Heated discussions, disagreements or blissful communication? Kind words or brutally honest feedback?

How can we keep up in this emotional roller coaster, while at the same time keeping up with the technology and our work? Could empathy be the secret ingredient in the awesomesauce of software development? This may very well be the case…

Defining Empathy

Empathythe action of understanding, being aware of, being sensitive to, and vicariously experiencing the feelings, thoughts, and experience of another of either the past or present without having the feelings, thoughts, and experience fully communicated in an objectively explicit manner;

or as Brené Brown explains:

The definition in the video isn’t complete, as there are many aspects to what empathy is and how it fits into our range of emotions. It conveys the most important part though: It’s all about making a connection with another person.

The case for empathy in Software Development

As I mentioned on the My Life For The Code podcast, I’ve recently found that a part of who I am and want to be is a person with a sense of empathy for myself and those around me. I also asked a question on empathy to the next guest on the show, Isaac Smolund, who had a wonderful answer.

Talking about empathy has lead to connecting with another person with their heart in empathy: Andrea Goulet and her blog Empathy Driven Development.

I’ve also stumbled upon wonderous individuals that share their story of empathy in software development on the Developer on Fire podcast:

Listening to numerous other Developer on Fire episodes also reveal that a there are a number of other highly skilled and successful developers that promote empathy, listening and understanding as skills for other developers to hone.

There are a wide range of developers here, ranging from technical geniuses to community leaders, open-source members, CTO’s in startups or caring developers in the enterprise.

Empathy as the most important skill

As with any other skill, empathy can be practiced. Chad Fowler has written a wonderful blog post on the topic, which strongly matches my personal experiences and feelings. He puts forward the case that empathy may very well be the most important skill a software developer needs to really step up their game from a personal, social and career-aspect.

Why practice empathy?

From Chad Fowler’s post:

Why should you explicitly work to enhance your ability to empathize with others?

  • You will be more likely to treat the people you care about the way they wish you would treat them.
  • You will better understand the needs of people around you.
  • You will more clearly understand the perception you create in others with your words and actions.
  • You will understand the unspoken parts of your communication with others.
  • You will better understand the needs of your customers at work.
  • You will have less trouble dealing with interpersonal conflict both at home and at work.
  • You will be able to more accurately predict the actions and reactions of people you interact with.
  • You will learn how to motivate the people around you.
  • You will more effectively convince others of your point of view.
  • You will experience the world in higher resolution as you perceive through not only your perspective but the perspectives of those around you.
  • You will find it easier to deal with the negativity of others if you can better understand their motivations and fears. Lately when I find myself personally struggling with someone, I remind myself to empathize and I immediately calm myself and accept the situation for what it is.

You will be a better leader, a better follower, and most important, a better friend.

Practicing

Practice_empathy
Photo credit: quinn.anya via Visualhunt.com / CC BY-SA

The benefits of being more empathic and in touch with the needs of others and of yourself are clearly something most developers can get behind. Usually though developers approach this by learning tips and techniques and apply them with success. The problem though is that these techniques may or may not apply to different situations, which require learning more techniques. This leads to a very structured and possibly group-thought approach to problem solving.

With empathy and a natural curiosity for the needs of others around us, our need for techniques decreases. Where one side promotes rules, empathy as a skill is open to whatever a given person needs at that specific point in time. Addressing their specific needs often be the best way to solve a problem. As with being proactive, being empathic is a conscious choice that needs to be followed-up.

Being mindful and ever-present is another way to further increase your awareness and be more open to others’ needs.

Final words…

I hope to have brought forth the value of honing empathy as possibly the most important skill in your developer tool belt.

What are your thoughts on empathy as a valuable skill for a software developer?

Please feel free to reach out to me directly if you have any thoughts, questions or criticisms. Or leave a comment.

Cover image: sinclair.sharon28 via Visual Hunt / CC BY

 

  • I really dislike the video. Yes, empathy is important and drives connection. It’s not always possible. An empathetic response means really connecting with the experience of another individual and feeling what they feel. When this happens, it is an emotional and intimate connection and there is no denying the value and virtue in that. If that connection, that feeling of the feeling of another, does not happen, though, that does not mean disconnection is fostered. Sympathy is a reasonable substitute when there is not real empathy. Empathy should not be faked. The statement “I’m glad you told me” as illustrated is not necessarily empathy and is probably not. It’s not a statement of a shared experience, but one of sympathy, potentially with an experience not fully understood and not also experienced. True empathy is probably a lot more rare than we’d like to admit. Sympathy can be good enough and I don’t like the way it’s insulted in the video.

    Still, nice post, Pav. Nice connections from different sources on making humanity central in our work and our lives.

    • On further reflection, I have to agree with you that the focus on empathy vs sympathy is simplistic and also erroneous in regards to the negative value of sympathy. I believe though the point that it’s attempting to make is about the value of reaching for empathy and attempting to make that connection. Even though, as you say, true empathy really may be quite rare.

      In regards to the “I’m glad you told me”-statement: Agreed that it’s probably not truly a sign of empathy, but it’s reaching beyond sympathy. Instead of saying “I’m sorry for your situation”, it’s inviting for a shared experience in the moment. I guess we’re pixel pushing at this point though.

      Another simplistic, yet covering explanation would be: Empathy – “to feel with”. Sympathy – “to feel for”. Here’s another resource with some further interpretations, including apathy: https://www.quora.com/What-is-the-difference-between-apathy-sympathy-and-empathy.

      At the end of the day it’s about attempting to understand, and looking for ways to increase that understanding.

      • Shared experience is a lift for all participants, as is understanding. Nice discussion.

        • Most definitely. Your thoughts & perspective is always of great value, Dave. Thanks.

  • Pingback: There is no time for empathy - Coding with Empathy()

  • Pingback: Valuable Resource🎞: "Does a developer need to be nice?" - Coding with Empathy()

  • Pingback: Leading teams with Empathy -Providing Psychological Safety - Coding with Empathy()

  • Pingback: Reflecting on 2016 - Coding with Empathy()

  • Pingback: Empathy in Design and Development: Conclusion and References – The Publishing Project()