The technology industry isn't exactly known for being caring, kind, and compassionate. The stereotype of the brilliant but anti-social (and usually male) developer still permeates our general idea of who builds software.
Luckily, times are changing. I've observed a profound transformation in our industry over the past seven years, and I believe that an increase in empathy is the driver for change.
Before I dig into the details, let's first take a moment to understand what empathy is and why it's so important.
Dr. Brené Brown, an empathy researcher, writes in her book Daring Greatly:
Empathy is a strange and powerful thing. There is no script. There is no right way or wrong way to do it. It’s simply listening, holding space, withholding judgment, emotionally connecting, and communicating that incredibly healing message of “You’re not alone.”
Empathy is being able to emotionally connect to another human being; to feel with someone rather than feeling for someone. Empathy is the powerful idea of "me too."
So, why does empathy matter in software? I mean, software development is talking to a computer, right? A computer doesn't have feelings. It doesn't need empathy. Why does any of this hippy-dippy-kumbaya-feeling-stuff matter at all?
My best argument is that when we code, we are no more talking to a computer than I am right now by blogging. As I'm writing this, I'm imagining you, the reader. I'm not just typing random words so that they look nice on the screen. I'm connecting with you, despite time and distance, through the power of ideas. How powerful!
Software is no different. Sure, the language we use to express our ideas varies, but no more than the wide variety of spoken languages. Software is ultimately an expression of ideas. It's developing a tool that will be used by another human being. You cannot build a tool effectively without imagining first how another person (either someone else or your future self) will use it. Empathy is a required ingredient for successful software.
Empathy also has a huge difference on the bottom line. When we put empathy at the center of our technology, human connection becomes stronger. Infusing empathy throughout your organization and development strategy can have profound positive impacts on customer loyalty, employee retention, and vendor service.
Empathy drives sales, customer service, product development, human resources (or as I've renamed it at my organization human empowerment) and more. When we use empathy for decision making, we discover that we have more diverse teams, happier customers, and less conflict. Empathy is the glue that holds a vision and the fuel that drives a team to achieve it. In all my years of business, I have not found another tool that drives the bottom line more than empathy. It's essential.
Here are some ways empathy is alive and well in software:
- Using personas to understand customer segments
- User Centered Design and Behavior Driven Development
- The explosion of user experience design as a field of practice
- Writing user stories to create acceptance tests
- The emphasis on corporate culture and diversity as a recruiting and retention strategy
- Misoginy being called out and no longer tolerated at tech conferences
- Mob programming as an effective software development practice
- The proliferation of testing and feedback as part of tech startup strategy
I've seen these changes first hand as I've participated in building software and grown my software company over the past seven years. These days, the idea of who creates software is slowly being replaced from that guy in the basement working alone into a diverse group of people, working together as a team, that puts the needs of the people who will be using their software at the center of their development process.
This is Empathy-Driven Development.