The most significant source of growth for me as a developer didn’t come from any Java or Computer Architecture courses, it came from sitting in a small room with a group of people who were on the phone all day with our future clients. I would continually hear our sales pitch and notice changes when the person on the phone would go off script to address an objection. There’s real energy in these conversations, both the highs of unsticking a sale and when receiving valuable insights that lead to future development.
Before this experience I worked at a much larger organization where the work I was doing was sometimes far removed from the people the software was helping. In hindsight, that was a very limited world where the only problems I could see were the ones directly affecting me. I had to move to that small room to open up a whole world of problems to solve.
User Empathy
Understanding pain and solving it is at the core of what it means to be a developer. There’s a reason medical terms like “triage” get used so much during the development process, these words build empathy with both the systems being maintained and the people on the other side of them. We build tools and solve problems that alleviate pain.
It’s hard to grow an organization while also keeping people connected to the user pain being solved. The best way to do that is with user-centered language when describing work. User Stories which are written in the format “As a [type of user], I want [some goal] so that [some reason]” are built to align the development process with user pain.
User-centered language has the added bonus of getting a whole organization to speak the same language. When issues emerge or sales folks encounter a new objection, rather than having to train each group in each other’s jargon you can talk directly without translation layers. When this language alignment is ignored, whole roles can spring up who’s only job is to serve as a translator between groups. Just take a look at Tom Smykowski in the classic movie Office Space who is tasked with shuttling tasks between customers and engineers.
Coworker Empathy
It’s often easier to empathize with people you see every day than the more abstract group of users who are ironically more impacted by your work. Frustrations and misunderstandings are much easier to work through over a coffee, lunch or beer. These interactions build trust and in tense situations that trust is the difference between being frustrated at a problem and being frustrated at a person.
In order to build organizational empathy, rather than siloing groups, encourage interactions between the teams. The customer support team who is getting valuable feedback day after day from users should have direct relationships with the people who can fix those problems. It’s a great experience to rotate developers through triage meetings or shadow user calls.
This technique can even be used to encourage the team to build empathy with inanimate systems. For example, we have an on-call role which rotates through our developers and is meant to build empathy with our always running product. Hurting a machine is one thing, but pushing a breaking change that might impact a friend often leads to one more quality check or testing pass which can make the difference.
Find the people who are interacting everyday with things you want to build empathy with. Give those people the voice in the organization for those personas. Now you have a powerful group advocating and building empathy internally for the things that matter to your organization.
Future You
Countless times I’ve worked through a problem only to find one badly written line of code as the source of my frustration. When I take a look at the person who wrote that line of code 5 years ago I find that person was me. As I work on something new, I try to think about that “future me” who is encountering it for the first time after the memory of writing it has long faded.
It might not always be you, but it may be someone like you. It’s possible that in that time you will have moved roles and you’re the person interacting with customers. Maybe you’ve left and the thing you had been building is now the tool you rely on to do your new job. There’s always a tiny thing “present you” can do to be kind and set that future version of you up to succeed.