Skip to content

Instantly share code, notes, and snippets.

@jk1dd
Last active January 12, 2017 22:45
Show Gist options
  • Save jk1dd/9722fc924875a73a5988f5ee6e56c8f4 to your computer and use it in GitHub Desktop.
Save jk1dd/9722fc924875a73a5988f5ee6e56c8f4 to your computer and use it in GitHub Desktop.
Pre-work Reflection - Turing Culture: Developing Empathetic Programmers

#Questions to prompt reflection:

  • What role does empathy play in your life and how has it helped you?
  • How does empathy help you build better software?
  • Why is empathy important for working on a team?
  • Describe a situation in which your ability to empathize with a colleague or teammate was helpful.
  • When do you find it most difficult to be empathetic in professional settings? How can you improve your skills when faced with these scenarios?

"Why is Empathy Important for Design"

This article is a reflection on the importance of empathy in design. Empathy urges you to look at a problem, issue, product, or anything else from another's perspective. It takes active effort to do so - the default is to just think they way we do (un-examined and un-challenged) and assume that everyone else is thinking the exact same way.

I actively seek to avoid this - I have done lots of work in examining the aspects of me (race, gender, socio-economic status) and what it means for my role in the world, and what particular advantages I hold and struggles I face. In examining social and political issues, I actively work to put myself "in another's shoes," and do my best to understand their perspective - otherwise I risk defaulting to my own un-challenged and un-examined views on an issue, believing that everyone must see it my way since that's the way it is. It is not always an easy undertaking.

As it applies to software design, I think the author of this article did a great job bridging the gap between product design and end user, with the use of empathetic design. You have to be willing and able to enter another's world to create something that gets at what they really need. This requires you set aside (and challenge) pre-concieved notions and approach the issues with an open and questioning mind.

"Three Kinds of Empathy", Daniel Goleman

In this piece, Daniel Goleman discusses different kinds of empathy: cognitive, emotional, and compassionate.

Cognitive empathy is knowing what the other person feels and understanding what they might be thinking. This is good, but can also be used to hurt or manipulate (e.g. narcissists, sociopaths, torturers, and so on).

Emotional empathy puts one more in the shoes of another - it occurs when you physically feel what the other is feeling, as if his or her emotions were contagious. The downside to this is if you are unable to manage your emotions (or yours and theirs, as the case may be). In that case, emotional empathy can lead to burnout from constantly being overwhelmed.

The happy medium is "compassionate empathy," which Goleman has previously described as "empathetic concern." It has the best of both cognitive empathy and emotional empathy, in that you understand what the other person is feeling/thinking and also feel it yourself to an extent. It differs, though, in that you are spontaneously moved to help as you can, rather than potentially being detatched (cognitive only), or getting too wrapped up in the other's emotion (emotional only).

In my experience, the best teammates and coworkers exemplify compassionate empathy, as described by Goleman. They are sensitive to the needs and experiences of others, but not so much that it gets in the way of getting things done with quality. I too seek to exhibit compassionate empathy, but sometimes fall back into more of a cognitive empathetic state when things get especially tense or I lack energy - somewhat of a coping mechanism I suppose.

"[r]eflect on these questions: why are we talking about empathy at a software development school? how can you develop the "skill" of empathy? and why should you care?"

Talking about empathy is important in any context, but specifically for software development, it is important for:

  • burgeoning field, laying the groundwork for a world more tech-filled than it is today.
  • design, understanding and including users of all types.

Like any skill, empathy is developed through practice. Unlike some skills, though, empathy comes as much through a way of looking at the world and asking questions, as it does form what you are doing in the world. So, keeping focused on the questions, seeking out challenges, and engaging with a diverse set of people will all help you increase your empathy skills.

Empathy is extremely important in an imperfect and ever-changing world. It leads us to solve problems peacefully and grow stronger as a community and society.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment