Empathy as a Developer
Exhibiting empathy as a developer is a telltale sign of a true professional. If you’ve worked as a developer for any length of time you know all too well what it’s like to work with the oblivious.
There are many ways we can express empathy in our daily lives as developers. Some primary examples being in our code, towards other developers, and in our communications.
Your Code
Writing your code with an eye towards empathy is a sure sign of a good developer. How do we write empathetic code?
By not only writing code that a computer can understand, but also code that other developers can easily grok. This may even mean “dumbing down” your code if you’re an especially clever one.
A primary concern in writing code should be the people who will maintain your code in the future and the code’s overall understandability. Writing overly “clever” code that is not intuitive is a fertile breeding ground for future bugs or to just become an outright albatross.
Writing clear code may just save you a huge amount of time and trouble too. It may even be you having to alter that clever bit of code years later wondering what in the world you were thinking.
Towards Other Developers
Showing empathy towards other developers should be valued and demonstrated much more in the software world. Said differently, it should not be as acceptable as it has been in the software world to be a jerk.
People who write software are indeed very intelligent. Some developers however translate that into they are the smartest people in every room while very stupidly treating other people as inferior.
We’ve all painfully spent way too much time with people like this. They enjoy conflict and arguing over even the most menial detail as if it were life and death.
Software jerks like this essentially lack perspective. They fail to understand that interpersonal relationships are more important than memorizing some obscure technical details. This manifests in a number of ways in the professional developer world.
Code reviews are a great opportunity to exercise empathy towards your fellow developers.
Picking nits in code reviews is a guaranteed way to make people cringe when having to work with you.
By all means share helpful suggestions and gracefully identify potential bugs, but keep violations of your own personal coding manifesto to yourself.
The same goes for busybody suggestions. We’re all full of a million ideas about how everything in the app could be better.
If you choose another person’s unrelated code review as an opportunity to start sharing them, you’re just being a busybody and wasting everyone’s time.
Communication
Empathetic communication is a closely related concern to the previous topic. I especially appreciate the following axiomatic approach to communication. Praise in public, criticize in private.
This is one sure way to engender trust among our peers and surely we all enjoy working much more with people who do this. This leads to better relationships, better code, a better work life, and it’s free to implement.
A project meeting is a great time to praise a colleague for her contributions. Conversely, it’s an awful time to call out a bug you found in her code. The Silver Rule provides a good framework in which to conduct yourself.
Do not do unto others as you would not have them do unto you.
Summary
Empathy as a developer is to simply be mindful of our actions. Whether it’s in our code, towards our peers, or how we communicate we should always keep in mind the downstream effects of what we do.
We should write code that is robust and understandable to future developers. Likewise, we should treat our fellow developers with the same consideration we’d like to receive. And finally, we should communicate with the goal of lifting up our peers and creating an environment where trust can flourish.
Doing these things well make us indispensable and put us among a small cohort in the development world.