Code Review Blog Post Series: Experiences and Lessons Learned Analyzing Code Review Practices

Two kids learning together as a symbol for code reviews
Code Review: Lessons learned working at Microsoft
Photo by NESA by Makers on Unsplash

In this code review blog post series, I share my experiences and lessons learned about code reviewing. Primarily, I show you code reviewing best practices to boost your code quality. But, you also learn which pitfalls to avoid while performing code reviewing.

The foundation of those code review blog posts are my experience analyzing and improving code review practices and tooling at Microsoft. I worked with hundreds of engineers and analysed thousands of code reviews. You can see this code review blog post series as an intense crash course to learn about code reviewing best practices.

Code review overview

Code reviewing is a widely adopted and adapted engineering practice. Its main aim is to improve software quality. In addition, sharing knowledge among team members is another important benefit of code reviewing.

Even though code reviewing provides several other benefits, you have to be aware to follow best practices. Otherwise, you might tap into several pitfalls.

Microsoft’s code review process

I have been working at Microsoft as a software engineer and researcher for several years. My main focus was to analyze and improve engineering practices and tools. One of the key areas I focused on was code reviewing.

In this blog series, I am going to share the key insights and lessons learned about code reviewing at Microsoft. All of them are backed by research and are grounded in actual experiences and knowledge from high performing engineering teams. At Microsoft, I performed several large-scale studies involving thousands of engineers and millions of code review comments. The lessons learned presented in this code review blog post series are derived from those empirical studies.

People working on computers in a group
Peer code review happens with the help of tools, or also “over the shoulder”
Photo by Rachel on Unsplash

Blog post series

The series consists of 10 blog posts. You can read each one of them separately. Still, you might get the best out of it reading it consecutively.

In the coming weeks, I will post about:

  1. Code Reviews at Microsoft: How Do Code Reviews Work at one of the Largest Software Companies?
    In this post, I explain how a common review process looks like at Microsoft, and which code review tool is mostly used at Microsoft.
  2. Code review pitfalls: learn which problems slow your team down
    In this post, I deep dive into the main code review pitfalls teams face when practicing code reviews.
  3. Code Review Best Practices for Valuable and Productive Code Reviews
    Learn which code review best practices make your team productive and boost code review feedback value.
  4. Code review best practices for teams and organizations
    To make code reviewing a good experience for everybody, also
    teams and organizations should follow a few best practices.
  5. A complete overview of code review best practices: A Cheat Sheet
    This article summarizes the best practices for code authors, code reviewers, and teams. It also shows where the best practice belongs within the code review life cycle.
  6. Code review trade-offs
    Even if you are aware of all best practices, there are several trade-offs you have to keep in mind. For example, do you favor review speed or review rigor? In this article, I dive into this topic.
  7. How to give useful code review comments?
    Not every review comment turns out useful. Comments that are not useful should be avoided. In this article, I explain what really makes for a useful comment.
  8. Code Review Checklist 
    If you want to boost your productivity and your rigor at the same time, a code review checklist is what you are after. This one is also downloadable.
  9. Wrap-up post

Don’t miss out on any of the posts of this code review blog post series by subscribing to my mailing list.


Dr. Michaela Greiler

I help companies improve their software development processes, like code reviewing or software testing. I work for corporations such as Microsoft, but also help smaller businesses and start-ups to ensure a productive, satisfying and efficient software engineering process.