Valuable Resources

Valuable ResourcešŸŽž: “Does a developer need to be nice?”

A special thanks to Jose Gonzalez for tipping me on this weeks Valuable Resource.

Mattias P Johansson, probably more well-known as @mpjme, is a YouTube’r with a focus on JavaScript and other programming-related topics. His YouTube channel “fun fun function” is packed with great videos. He has a wonderful presentation style has aĀ knackĀ for breaking down complex subjects into bite-size, understandable chunks. I highly recommend his videos. Subscribe and enjoy!

The video in question is #43 in the funfunfunction series and addresses a very important subject: “Does a developer need to be nice?”. I’ve written a summary of the video, and added a few of my thoughts a the end.

Summary

MattiasĀ starts off the video with the following statements:

“You cannot be a good developer unless you have goodĀ empathy skills”.

“To be a good developer, you need to be on a good team. In order for the team to be good, it needs to have psychological safety. In order to fit in such a team, you need to have a functioning sense of empathy.”

Example

MattiasĀ gives a little context on where he’s coming from and talks about what sparked this video. He talks about an example where “Aron” posts an erroneous statement on hacker news and “Barry” corrects him in a condescending way.

Reflecting on the example

He continues to speak about how the condescending tone is unnecessary, and leads to Aron feeling bad about posting what he did. Aron is now afraid of being berated & ridiculed when posting things online, and will now be hesitant the next time he wants to say something, which in turn means he’s less likely to learn. This in turn leads to the group that “Aron” and “Barry” are a part of, to be worse of because a member of that group will now have a harder time learning. “Barry’s” lack of empathy has now led to a worse situation for all parties involved.

MattiasĀ continues to emphasize the negativeĀ effect that people like “Barry” have in groups. They try to contribute to the groups they are a part of with knowledge, but take away much more at the same time.

“…they help to pour water into a bucket, but at the same time they are constantly poking small holes in the bottom of the bucket”

Teams vs Individuals

The “Barry’s” out there aren’t necessarily good with people or feelings, and often approach computers and programming as a means to avoid just those things. This is the regular misconception that great computer programmers don’t need people-skills, whichĀ MattiasĀ believes to be a complete illusion, sinceĀ once you get into it you realize that great software is created by great teams, not individuals.

He continues to further enforce what he believes to be the illusion of being great programmers with examples of Jonathan Blow &Ā John Carmack. How easy it is to find yourself believing these types of great programmers are the key to making great software.

He says that a singles skilled developer probably can be very effective to a certain point (in comparison to other developers), but when this point is reached, they no longer can handle the cognitive load and will not be able to deliver. Which is where a team can deliver a lot more, for a lot longer.

What makes a good team?

Google asked this question and over 4 years have conducted a studyĀ to verify what makes great teams atĀ Google. The conclusion from this study was surprising; It didn’t seem to matter who was in the team. What mattered the most was that the team members felt strong psychological safety.

Strong Psychological Safety: “A sense of confidence that the team will not embarrass, reject or punish someone for speaking up”

For MattiasĀ this makes a lot of sense, since many potentially team-breaking issues seemed to just get fixed before they are a problem. There is nothing to hide and team members are open, honest and not afraid to ask “dumb” questions. With this comes huge amounts of learnings and progress through risk-taking and further learnings.

Psychological Safety => Great software. Not great developers alone.

Get rid of “Barry”

The “Barry’s” are poison for psychological safety and will pull any team they are a part of down, according to Mattias. He further insists that there is no room for “Barry’s”; Either they learn empathy, or you get rid of them.

“Great Software teams need psychological safety, and people with low empathy (Barry’s)Ā destroy psychological safety”

He sends a message to the “Barry’s” out there stating that if your empathy skills aren’t “on-par” you simply won’t be allowed to be part of great software teams. You will either not be accepted, or driven out.

“So if you don’t work on your empathy skills, you will always be stuck making mediocre software”

Mattias’Ā conclusion

“If you want to create great software with the best teams in the world you need to practice empathy. Empathy isn’t genetic. It’s you putting yourself in the shoes of another, thinking about how they might feel…thinking about how your comments will mak them feel, how to make them feel safe and allow them to make mistakes and grow.”

Resources

My thoughts

Needless to say that any message that promotes empathy in software development is something that I can get behind, but this seems to hit the nail on the head straight on!

I’ve written about empathy in software developmentĀ before, as well as the false notion that being “Barry” is the way to go.Ā So I’m totally behind Mattias’ message in this video.

He has a few opinions in regards to how “Barry’s” will get kicked out of great teams. Maybe I haven’t been part of enough great teams, but my experience shows that “Barry’s” are often very highly regarded and get a great deal of “power” and leverage, which in turn leads to them not only staying, but also advancing into positions of power to mandate other developers.Ā On the other hand I’ve witnessed a couple of “Barry’s” pushed away as well, so I guess it all depends on the company.

I love how he emphasizes that empathy is a skill. Time and time again I hear that empathy is something extroverts have naturally, or introverts have naturally, or something you’re born with, or any other number of reasons. True that some people have been raised in an environment of empathy, but it’s still a skill they have learned.

So what are you waiting for? Do you want to be “Barry”, or do you want to createĀ great software with great teams?

Please feel free to reach out to me directlyĀ or leave a comment bellow if you have any thoughts, questions or criticisms.

Valuable ResourcesĀ are a collection of resources Iā€™ve found valuable to my personal growth as a developer. I try to summarize with my interpretations and comments.

  • Hey man, nice review of the video (I still recommend watching it for those who haven’t).

    I like your opinion on this topic as well. I’ve too been part of teams where the “Barrys” get promoted and call all the shots. The “Arons” either suck it up or leave. I’ve seen this time again and even recently.

    If you are a “Barry”, you can change! Just gotta do it.
    If you are an “Aron”, you don’t got to take no one’s crap! Life is too short to spend it at a place with toxic people.

    • Hi @JoseGonzalez321:disqus!

      Agreed! Nothing like a toxic environment to break you down. Sometimes leaving is hard though. Often since you’ve lost all faith in your own abilities and have that inner imposter pulling you down. I guess you end up being “Comfortably Numb”.

  • I absolutely agree. When software developers are belittled or degraded for something they say or do, they can shy away and lose trust in what they know as well as the software developers around them. As MPJ said [5m34s] “the key to building great software is knowing how to build great software development teams.”

    • Thanks for taking time to comment @cbouwer:disqus

      Such an important point about shying away and losing trust in yourself when you are treated in such a way. BrenƩ Brown talks about trust as a jar of marbles you build up over time (Andrea Goulet mentions this in her communication talk). Negative interactions take away from this jar a lot faster than it takes to fill it up.

  • There is nothing unique about software teams in this topic. The principles put forth are applicable to any situation. This includes relating to spouses and children. If children fear the reaction of their parents, they also become less willing to give opinions and express their own personalities, creativity, and life force.

    Workers are no different.

    Of course, the central premise of both Mattias and Pav is great: empathetic and courteous interaction is an enhancement to both quality of existence and team productivity.

    I have 2 problems with the presentation of the position in the video (and consequently with unqualified endorsement).

    The first is an inconsequential nitpick regarding the the word “nice.” That word is too broad and I think it can mean different things to different people. I think it conveys something beyond what is really the core minimum required here for psychological safety. I’m not saying not to be nice, but I think the point here is to be courteous, not necessarily nice, which I see to be a higher bar and my personal opinion is that it’s optimal to offer courtesy by default and niceness to those who earn it, though fleshing that out would require going deeper on what I mean by that and it’s really not that important to the topic.

    The second is that the example, hopefully with names changed to protect the guilty and innocent alike, is based on something from the real world. “Barry” is a real person who also has real feelings. It very well may be that the real Barry is the Barry as portrayed: the unfeeling, non-empathetic, monster dragging the team down both in terms of output and enjoyment. Chances are, the situation is more nuanced. It could be that Mattias misinterpreted the communication and it was not at all as characterized. It could be that Aron and Barry have a relationship outside that forum to where that communication is exactly how they endear one another (though it is still a problem in the feelings it inspires in others in such a public place). There are many other possibilities. To say that “Barry must go” on the basis of one instance of a communication seems to be exactly the non-empathetic response we oppose. I am not claiming that there are not toxic individuals with whom relationships must be severed. Actually, I know that to be quite the case. I just want to point out that often we draw lines and put people into boxes and point them out as the “other” or the bad guy, when practicing a little of the empathy we preach toward those individuals yields even further rewards.

    Perhaps even those we perceive to be the most toxic just need a little empathy applied to their position to turn everything around.

    • Thanks David for bringing focus to “the other side”. As you say; Examples are often easiest served by drawing lines and drawing boxes. It is up to us to see beyond those boxes and lines.

      You bring up such an important point about having a non-judgemental and empathic approach to any person or conflict. Being truly empathic, one can attempt to identify with Barry, without expecting anything in return. Enough of these interactions could bring understanding to the situation. Not expecting anything in return is also important, it is our ego that creates expectations, and ultimately conflict.

      Also so true about relating this topic back to other groups / aspects of life. I find the lines blurring more and more (almost completely dissolved) between family, life, work and self. Empathy, Ego, Acceptance, Non-judgemental mindset; These are all related and interdependent in all walks of life.

      Again, thank you for bringing perspective, David.