Mitigating Code Review Distress

What I learned over time is how the social as well as the psychological aspects of code reviewing matter most

Where foes settle scores. Where winners shine brightest. Where the insecure bite nails. Yes, code reviews can bring out the good, bad, and the ugly amongst developers. I can't think of a single colleague who hasn't had their fair share of code review drama. The other day a friend of mine shared an article by Microsoft's Lukas Spieß in how they've introduced "Emoji Code," a system where different comments have different emojis to indicate intention:
πŸ‘ = This is great!
❓ = Question.
❌ = Required change.
πŸ”§ = Take it or leave it suggestion.
πŸ™ƒ = Nitpick.
πŸ’­ = Thinking out loud.
🀑 = Complaint with no obvious answer.

My friend was disappointed to how sensitive people have become at the work force. "Do we really need emojis to soften code critiquing?" he pleaded. He then described how he had become the "bad guy" at work for code critiquing too much. It made me chuckle as I recalled times I've tipped up a person or two in the past with critiques to the point of them being antsy in sending code reviews my way. What I learned over time is how the social as well as the psychological aspects of code reviewing matter most:

  • Social: critiques of your work are more easily indulged when coming from a person whom you trust, like, & know mean you & the project well.
  • Psychological: critiques are more welcomed by people who have a growth mindset.

Understanding these dynamics is key in bettering your jabs in the code review arena:

  • Is this person willing to hear why [insert coding practice] is bad? Or should I just skip its mentioning?
  • Can so-&-so handle waking up to a flood of comments? Or should I Slack call them instead to go over comments?
  • Does this person see me as a threat by trying to out perform them to get that next promotion over them? Or do they see me genuinely trying to better their coding habits?

I don't for a second think there's a silver bullet in making code reviews a breeze. I constantly have to remind myself criticism is a friend, not a foe, and a door to improvement. It's the knee jerk, fight or flight, instinct we all at times react with in perceiving harm in the form of critical comments that gets in our way. It's only human.

For the record, I like Likas's suggestion of categorization of comments. I am not however 100% sold we need standardized emojis to do the job. πŸ˜„