Ernie Miller
Humane Development - Empathy
Summarized using AI

Humane Development - Empathy

by Ernie Miller

In this presentation titled "Humane Development - Empathy" at RubyConf AU 2016, Ernie Miller discusses the importance of empathy in software development. He emphasizes that software is created by humans for humans, and empathy is the foundational skill that fosters better development practices.

Key Points:
- Introduction to Humane Development: Miller introduces the concept of Humane Development, which focuses on the human aspect of software creation. He stresses that empathy is a crucial element that enables developers to write software effectively that genuinely meets user needs.
- Personal Anecdote: He shares a story about a satisfying experience from a previous job where he solved a pain point for a coworker named Anne. After observing her workflow, he implemented a simple word count feature that alleviated a bug, demonstrating how understanding user struggles can lead to impactful enhancements in software.
- Empathy as a Superpower: Miller describes empathy as a "superpower" in development, allowing developers to connect with users' needs beyond their own perspectives. Recognizing the collective pain points among users can lead to meaningful solutions and foster user satisfaction.
- Soft Skills vs. Hard Skills: While the presentation acknowledges the significance of technical skills (hard skills), it challenges the notion that soft skills such as empathy hold lesser value. Miller argues that empathy can and should be learned, much like any technical skill, and that it plays a critical role in communication and collaboration within teams.
- Gender and Empathy: Miller addresses common stereotypes regarding empathy and gender, providing insights from research that challenge the belief that women are inherently more empathetic than men, suggesting that empathy is a universal skill intrinsic to all humans.
- Empathy in Other Species: He cites a study on rats demonstrating that empathy is not exclusive to humans, implying that developers can also tap into this inherent ability to better connect with others.
- Strategies for Practicing Empathy: Miller concludes with actionable suggestions for improving empathy skills, such as engaging with strangers, practicing active listening, and challenging personal assumptions about others.

Conclusion: The session underscores that empathy is not just a soft skill but an essential component for effective software development, leading to solutions that truly improve users’ experiences and fostering a more collaborative and understanding development environment.

00:00:00.640 All right, so good afternoon! I work for a company called Carone. I've been there for a whole month at this point, and I want to take a moment to thank them for being so understanding when I said, 'Hey, it’s been a great month, now I'm going to Australia for a week. See you guys later.' I'm also really grateful to the organizers for inviting me. I've never been to Australia before, so I'm really excited to be here.
00:00:17.279 Last year, I spent a lot of time discussing a concept I was calling 'Humane Development.' It’s based on something that should be very obvious: we're humans, we work with other humans to build software that is ultimately used by other humans. However, we sometimes act as if that isn’t the case. There are several core attributes related to the idea of Humane Development. The goal is to give each developer more autonomy, but today, the focus is on empathy. Without that first building block of empathy, none of the other concepts are possible.
00:01:04.400 At this point, you may have guessed that a warning is in order. This is going to be a soft talk about a soft skill, so I must warn you that this might be the softest talk you've seen at the conference. We're discussing empathy, and I'm at a conference full of Rubyists, which feels a bit like preaching to the choir. But I’ve always thought of Ruby as essentially made of love and hugs. We even do Friday hugs! I wish I could do a Friday hug right now, but I only have 20 minutes, and I'm already a minute in.
00:01:31.760 However, I came across something a few weeks ago in a Ruby issues thread that left me stunned. It was one of those moments that made me think we should discuss why empathy matters when building software, especially since some people seem to believe it’s unnecessary. I want to share a very quick story about one of the most satisfying commits I ever made. A previous employer of mine was one of those trendy startups backed by venture capital, and there was a policy that all new developers on my team had to do rounds to visit all the different offices in the city. During my first week on the job, I got the whirlwind tour, and one of the buildings I visited housed the copy editors.
00:02:20.040 In this office, I met a woman we will refer to as Anne. I sat down with her and watched what she was doing. It was interesting because she started copying text from a WYSIWYG form in our web application and pasting it into Microsoft Word. After making a few edits, she copied it back into the WYSIWYG form. Confused, I asked her about it, and she explained that they needed to verify the word count of the text, which had to fit certain constraints. She mentioned that sometimes the editor stops taking key presses, so she preferred to edit in Word and then paste it back. Hearing about this bug made me feel horrible.
00:02:44.320 I thought, 'Word count is a solved problem; we can help with this!' So, I told Anne, 'I think we can resolve these issues for you.' The way her face lit up was remarkable; you would have thought I had given her a new car! The next week, I added some handling for the miskey presses and implemented a simple word count. Honestly, the changes were minor—maybe around 100 lines of code—nothing too significant or particularly clean. It wasn’t even tested, as we had no JavaScript tests at that time, but it made Anne happy.
00:03:10.640 Anne was experiencing a bit of pain dealing with this bug. It wasn’t significant enough for her to mention it to anyone; she just worked around it. However, if you multiply that by every single person on her floor who were facing similar workarounds, you can see the immense amount of pain experienced throughout the organization. This situation is why I began writing software in the first place: to reduce pain for myself and others. I want you all to close your eyes and think back to the first real code you ever wrote. I don’t mean the code you wrote as part of an exercise while you were learning; think about the first project you undertook to write usable code for another human or even for yourself.
00:03:39.440 More often than not, the code you’re thinking of was written to solve a personal itch. Perhaps it was something where you tracked your CDs or DVDs, or maybe you recall a friend creating an app to plan meals and grocery trips while learning Ruby. The point is, do you remember how driven you were to complete this task, and how satisfying it felt to succeed in scratching that itch? When you write code for yourself, you get a very tight feedback loop. You know exactly why you're writing what you're writing and can recognize when it improves your life.
00:04:09.680 This same feeling is what made that commit years ago so memorable for me. I knew I had solved a problem, and I felt the collective pain that Anne and others on that floor were enduring. Once we realize that the code we write isn’t just about proving our skill or technical prowess but is about making things better for people, we can start to experience that deep satisfaction from our work. In short, empathy is a superpower. To learn empathy is to teach that little voice inside your head to articulate the thoughts and feelings of someone other than yourself. As you practice it, you'll find that it not only makes software development better and more satisfying, but it will also make you a better developer.
00:05:04.280 You'll spend less time on back-and-forth discussions because you'll have a clearer understanding of why you’re building what you're building and what you aim to accomplish. Your guesses for feature implementations are likely to align closer to what the user actually wants from the beginning. It's important to clarify that this isn’t about asking, 'What would I want if I were them?' It’s about figuring out what would genuinely make them smile, what would genuinely help them. If you empathize well, you'll find yourself creating things that people love—even things they didn’t know were possible until you built them.
00:05:49.760 As software developers, we're always learning. We’re expected to become proficient with various frameworks, libraries, and programming languages continually. But it’s not just about technical skills. We can also learn to play a guitar, paint, or dance salsa given enough time and energy. Our natural aptitudes for these activities may differ, but we don’t consider them impossible—because they are hard skills. Hard skills are specific, measurable, and definable. If we can measure them, we can gauge our progress.
00:06:38.480 However, while we often focus on hard skills because they provide concrete evidence of our progress, a large part of what we do daily as developers relies on measurability. We write tests for our code and benchmark its performance. Soft skills, on the other hand, are a bit blurrier; they’re intangible and hard to quantify. When something is hard to quantify, it makes us second-guess whether our hard work is paying off. This can make it difficult to stay motivated when you're unsure about your progress. We tend to gravitate toward fields where there is always a measurably correct solution, where every question has a clear answer, and where ambiguity is rare.
00:07:30.160 The good news is that, in software development, alongside the tangible aspects—like tests and benchmarks—there are also countless intangible skills we develop without realizing. After all, code is fundamentally about communication. When we strive to find the right, intention-revealing way to structure our code, we're beginning to understand how someone else might feel when reading it later. Communication is one thing, but it's crucial to understand that empathy cannot be easily ignored as a technical skill. We can overlook empathy because it's not technical; we think of it as something innate—either you're good at it or you’re not. However, it is something we can learn.
00:08:21.440 As you may have guessed, I'm from America, and being on stage here gives me a bit of power, which means it's rant time. I look around and see a lot of men in the audience, so let me speak directly to you for a moment. We often dismiss empathy as a concern we can overlook. We read headlines like one from Science magazine about women being more likely to mirror yawning, which suggests they are more empathetic than men, and we think, 'See? We’re bad at this stuff.' But we gloss over the details that the study found only about a 15% difference. In essence, the difference isn’t as pronounced as it seems, yet we cling to the narrative that men are less empathetic.
00:09:09.280 Now, considering data from the FBI, over 90% of known murderers are male. But let’s be real for a second. A study published 15 years ago by Christy Klein and Sarah Hodges at the University of Oregon explored what’s known as 'empathic accuracy'—the ability to infer others’ feelings and thoughts without being them but understanding them. The initial studies showed no difference between men and women, but later studies suggested women were more empathically accurate. This shift happened once participants were asked to rate how accurately they thought they understood the emotions of others. Women had been socialized to see empathy as more integral to their sense of self, prompting them to try harder.
00:10:03.560 The study introduced an interesting new variable: people were incentivized for correct answers, leading to higher performance from both men and women when money was at stake. This raises an interesting thought: as software developers, aren’t we already being paid to practice empathy? Furthermore, as humans, we’re inherently expected to be empathetic. It’s not a gender thing; it’s a human quality. To say you’ll never learn empathy is just as self-defeating as saying you can’t succeed in math.
00:10:44.760 I want to pivot for a moment. Rats don't enjoy swimming; they can swim for days if needed but will always choose not to swim given the option. Researchers from Kwan Gakuin University in Japan conducted a study on empathy among rats. They discovered that when a soaked rat was placed with a dry rat, the dry rat would quickly figure out how to open a door to help its soaked friend. Interestingly, when they switched roles, those rats who had previously experienced being soaked were faster to help others in distress, demonstrating empathy even when there was no reward expecting them to assist their friend.
00:11:35.160 This behavior shows that empathy isn't just a human quality; it's inherent to many species, including rats. If they are built for it, it's a strong indicator that we are too. To put it another way, if a developer feels too busy coding to worry about empathy, it might simply mean they are less emotionally intelligent than a rat. The reality is that empathy is learnable, and, because we are wired for it, embracing empathy is less about learning and more about unlearning what blocks us from connection.
00:12:10.320 Here are three ideas for you to practice. First, recognize that we often act like we're the stars of our own reality shows and everyone else is just an extra. In reality, we are among approximately 7.4 billion people, and every person has their story. Strike up a conversation with a stranger at least once a week. This small effort will help shift the focus from yourself to others.
00:12:58.080 Second, resist the urge to think about how you will respond while someone else is speaking. Waiting to speak is not genuine listening. Allow for silence; some of the most meaningful discussions arise after a moment of quiet reflects deep thought.
00:13:28.080 Lastly, challenge your assumptions. We often categorize people based on previous experiences, thinking we know what they’ll say or feel. Instead, prepare yourself to be surprised by others. Simply assuming you don't know someone’s perspective will open the door to authentic understanding. Instead of saying, 'I know how you feel,' allow them to share their feelings with you. Remember that it’s a skill that takes practice—you won’t always notice your progress, but trust that you were built for empathy, and you will gradually improve.
00:14:18.160 Thank you all for your time.
Explore all talks recorded at RubyConf AU 2016
+11