In my previous post I have talked about how we do collaborative programming in a remote-first environment in our team at Grafana Labs. Since we practice Continuous integration, the code changes get merged to the main branch several times a day, and part of the process is a mandatory code review. Most of the code reviews happen asynchronously, with the help of GitHub pull requests. Recently we have started to practice synchronous collaborative code reviews in our team and this post talks about some of the advantages that we are observing while experimenting with the process.
Please note that this post does not talk about asynchronous code reviews and my intent is not to compare, or anyhow undermine asynchronous code reviews - my only intention is to give another tool for code reviews, which might be applicable to certain situations.
Code reviews are essential for continuous improvement of a code base and security of a product, as well as for knowledge sharing and learning from each other. There are a few different ways that code reviews can be performed: