How Can You Mitigate Code Review Anxiety on Your Team?


Team-Driven Developer

A newsletter with tips and tools for building software as a team

I came across a wonderful talk this past week from Carol Lee, PhD from the past LeadDev conference.

Her talk was centered around some important research she and a fellow scientist, Kristen Foster-Marks, conducted about how developers experience code review anxiety.

The TL;DR is that code review anxiety exists among engineers of all levels, and we must develop proper skills to manage it effectively.

They even created a free online workbook to help developers! There are both scientific explanations for the phenomenon of code review anxiety and practical steps you, as an engineer, can take to improve your relationship with it. It really is a great tool.

As someone who cares deeply about helping developers improve their skills and experience with code reviews, I was really excited about this tool. Much of the research resonates with my own experiences and observations about how individual developers can improve the outcomes of their code reviews.

Today, though, I want to zoom out and ask a subtly different question: if code review anxiety is common, what can teams (not just individuals) due to help their entire team thrive in their code review practice?


Team-Building Exercise

As Carol Lee mentioned in her talk (linked in the post as well), one of the key reasons code review anxiety stays so prominent is that it stays hidden. When anxiety stays hidden, it makes us feel like we are the only ones experiencing it.

This week, find a time to discuss it with your team. This might be a retrospective or maybe even just a Slack thread where you say, "Hey, I'm wondering: Are there people on our team feeling anxious to open or review a pull request?" What could we do to improve that if so?"

Another tactic that could work is hosting a Lunch'n'Learn time to discuss some best practices around code reviews and normalize the feeling of anxiety in that forum. I've done this before, and it worked out rather well!

A small misstep to avoid here: don't start singling people out just yet. If someone feels anxiety and you, though with good intent, start asking, "Do I make you anxious?" if they do feel that way, you will just be increasing your anxiety. Start with a general forum and then move to direct feedback conversations afterward. Once the experience has been normalized, the conversation will be more approachable in a 1:1 setting.

I'd also recommend having your team go through Carol and Kristen's free workbook to help with anxiety around code reviews. If your whole team goes through it together, you can share learnings from it together, too, which will help improve that sense of belonging and shared experience.


Here are some more resources from me to help you build better teams!​

  • 📕 Code Review Champion - My book on code reviews will help you become a world-class code reviewer. From giving kind feedback to navigating conflict, this book can help anyone wanting to sharpen their code review skills.
  • ❓​Questions for Devs - Building a team takes more than catching up about your weekend at standup. I've used these questions to build relationships with my team and push past the same old surface-level conversations.
  • ​📋 Pull Request Template - Maximize your efforts in pull requests by giving context right at the beginning of a new pull request. Copy and paste this template into your repo, and voilà!
  • 📊 ​Code Review Metrics - Start measuring how your team tracks against a few common code review metrics. This python script will pull your GitHub pull requests and generate a CSV you can slice-n-dice to get the data you want. It also has graphs! As this is an open-source project, your contributions and feedback would be great!

Other Creators I Recommend

Image for Daniel Schaefer

Daniel Schaefer

Subscribe if you are a software developer that has the technical skills, but you're looking for opportunities to enhance your soft skills to advance in your career.

Image for Nerd Notes | Power-up your freelancing

Nerd Notes | Power-up your freelancing

By Chris Hufnagel

Every Tuesday, creative freelancers (like you) learn from my 12+ years out on my own. Pricing, productivity, mindset, and everything in between.

113 Cherry St #92768, Seattle, WA 98104
Unsubscribe · Preferences

Dan Goslen | The Team-Driven Developer

Learn the tips and tools for building software as a team! Every other week, I send a long-form article, a team-building exercise, and resources to help you build better software teams so you can build better software.

Read more from Dan Goslen | The Team-Driven Developer

Team-Driven Developer A newsletter with tips and tools for building software as a team A quick note before diving in: I'll be skipping an issue for Thanksgiving 🦃 in the next few weeks and then skipping the last issue in December for Christmas 🌲. Onto the issue! Trust is a complicated topic. Some might disagree with that. They might say trust is simple: you trust someone or don’t. Others might think trust is impossible to attain - it’s an ideal, not a real thing. Regardless of what others...

Team-Driven Developer A newsletter with tips and tools for building software as a team A few weeks ago, I co-authored an article with some friends at Greptile about AI vs. human code reviews. It was a blast working with Greptile’s co-founder, Daksh, on the article, as he brings an insider perspective about the new AI technology helping software developers become increasingly effective at their craft. One of our key points was around something that was likely unexpected to a reader: the idea...

Team-Driven Developer A newsletter with tips and tools for building software as a team Hey! Welcome to another edition of the Team-Drive Developer.I'm trying something different this week: I'm including the entire article in the email instead of asking you to click through my site. Let me know what you think! If you’re a frequent reader of this blog and newsletter, you know I’m a big advocate for two core components for building software: Iterative development (constant refactoring, focused...