Avoid Making Enemies During Code Reviews


Team-Driven Developer

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

πŸ‘‹ Welcome to all the new members of the newsletter! Glad you are here.

As I’ve shared, I’m a big fan of code reviews and their benefits. Code reviews are an important part of the software lifecycle, both automated and person-to-person.

They can help spread knowledge, act as a conduit for mentoring, find bugs before they make it to production, etc.

Unfortunately, code reviews also have a tendency to start conflicts and create enemies.

While some conflict can be healthy, when two developers begin to β€œgo at it” in a review, you lose all of the benefits of the review.

Repeat: all the benefits of a code review will be lost if trust and safety are lost along the way (whether you are the reviewer or the author).

When those two things are lost, Google research says teams just won’t perform well.

What can we do to help prevent conflicts from escalating into long-drawn-out hostility and animosity?

Team-Building Exercise

This week's Team-Building Exercise is about looking for ways that you can practice humility in your code reviews.
​
For instance

  • Are there certain team members you tend to resist feedback from? Try to understand why and see if there are things you could learn from them that you've been missing out on
    ​
  • Are you too quick to judge someone's code without asking questions? Are you rushing through code reviews and not taking the proper time to read and reason through them? Try to slow down and give the review the right amount of time (which is giving the author your time as well)
    ​
  • Are there other team dynamics at play, making it difficult for you to give or receive feedback with humility? Perhaps you are the lead on a project, and without meaning to, you are overly critical of changes in an effort to have a high-quality release (been there!).

Whatever the issue is, I've found that in many areas, frustration over code reviews or other team dynamics often has an anchor in a lack of trust, respect, and humility.

If you want more on staying humble and building trust and respect, take a look at Debugging Teams! It's a book by some really smart and seasoned engineers about creating a high-performing software team (which is what this newsletter is all about).


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.

Subscribe​
Image for Looking for your next tech job?

Looking for your next tech job?

You're in the right spot. I'm Dr. Kyle Elliott, the founder and tech career coach behind CaffeinatedKyle.com, and I love giving away free resources that help to ensure your job search and career success.

Join 7,435+ fellow job seekers who have downloaded my free Job Search Launch Guide.

Subscribe​

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 Time is one of our most important assets. And the best engineers use this to their advantage. They understand that by being "choosey" with how they spend their time, they can accomplish more than other engineers who might be unfocused or sporadic in how they use their time. One tool I employ frequently to manage my time (and effort) is timeboxing. Timeboxing is about switching how you work. Instead of...

Team-Driven Developer A newsletter with tips and tools for building software as a team Hi! This week's newsletter is a bit different. I've suddenly run into some unfortunate build problems 😭 for the website and will need to share this week's article inline vs. on a separate post. Hoping to resolve these issues and return to normal in a few weeks! Related: I'm taking a vacation, so I'll be skipping the second issue this month. I'll pick back up in April! The other week, I heard an interesting...

Team-Driven Developer A newsletter with tips and tools for building software as a team The first time I hit the proverbial "deploy button" as a software engineer, I was anything but calm. While we were confident in our tests, we always feared, "What if something goes wrong?" or "What if we missed a critical test case?" This first deployment went fine, but over the past decade, I've had my fair share of botched deployments or the need to rollback quickly. It's not a fun place to be in. During...