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.
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.”
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”
“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.”
- Get in touch with Mattias
What Google Learned From Its Quest to Build the Perfect Team: http://goo.gl/90OCCb
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!
— Pavneet Singh Saund (@pavsaund) August 1, 2016
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.