DEV Community

Cover image for Coding with empathy

Coding with empathy

Benjamin Johnson on February 16, 2019

I'm a big fan of April Wensel and her talks on "compassionate code". I love how she drives home the point that software engineering is fundamentall...
Collapse
 
vdedodev profile image
Vincent Dedo

It feels like the empathy here is being forced into an engineering discipline and I don't understand why. It seems like the writer has an emotional response to aspects of code (no tests -> fear) whereas it can simply be phrased in terms of uncertainty.

On the other hand, I'm now tempted to write a similar post but with the focus being on pride rather than empathy.

Collapse
 
benjamminj profile image
Benjamin Johnson

Hi! Like I said in the post, I like to think of empathy as a way to frame our engineering practices—more of a "why" to fuel and inform how we do things.

While software disciplines can definitely exist without empathy but my goal with this post was to explore and examine how empathy could fuel and catalyze these engineering disciplines.

Collapse
 
nssimeonov profile image
Templar++

Why do you call "sanity", "consistency" and "maintainability" with the word "empathy"? I see how you tried to convince everyone, that doing your job well is actually caring about others, when in fact you just do whatever you have to do and do it well. If someone with less experience makes a mistake will you blame him for being selfish or trying to make others feel bad?

Collapse
 
benjamminj profile image
Benjamin Johnson

I don't think we should be mad or angry at someone who is less experienced for making mistakes! That definitely goes against the vein of being empathetic.

Just like any other skill, empathy can be learned and improved upon. The best senior devs I've met help teach less experienced devs (like myself) how to consider the future maintainability and long-term effects.

There's a lot to be said for craftsmanship and doing our jobs well. I guess why I wanted to frame maintainability and code sanity with empathy is because I think empathy can help fuel our thinking about producing quality code that is easy for others to step into.

Collapse
 
nssimeonov profile image
Templar++

My point is - this is basically common sense. Applying emotions to engineering is like describing mathematics with feelings. Sounds weird to me.

Collapse
 
fpuffer profile image
Frank Puffer

While I agree with most of your points, I don't believe they have to do with empathy.

Imagine a team of software developers where everybody is a total jerk. The manager sets up strict rules about writing tests and documentation, clean code, reviews and so on. Team members who don't adhere to the rules will be paid less or get fired. I do believe that such a team can be just as productive as a team based on empathy.

Don't get me wrong, I would not like to work in such a team. But I guess that there are people who would, if they are paid well enough.

Collapse
 
benjamminj profile image
Benjamin Johnson

I agree with you, I'd definitely not want to work on that type of team! And there's probably people that would be ok with it.

We can have all of the software disciplines I mentioned without empathy—that's completely true. And I'm sure a team like the one you described would see some success from adopting the things you mentioned—even if it was out of fear. However, I don't think it's wrong for us to take a look about how our software affects the people we collaborate with. That's why I wanted to examine how empathy can be fuel for engineering discipline (:

Collapse
 
nssimeonov profile image
Templar++

can be just as productive as a team based on empathy

Wrong! It will be A WHOLE LOT more productive.

Collapse
 
jcoletaylor profile image
Pete Taylor

This was fantastic, thank you for it

Collapse
 
sgtino profile image
Stefano Giraldi • Edited

I agree with you, developers need even more to take attention on how a program interacts with the user, not only with its interface but also with its tone (to create empathy).

A great post! Thank you, Benjamin.