In one of the Slack groups I frequent, this article came up recently: No code reviews by default.
TL;DR; The founders of Raycast started by committing code directly to mainline, and at some point discussed whether to adopt the “best practice” of using pull requests. They decided against it, because what they were doing was working, and they trusted each other. As they added engineers, they’ve maintained this policy of not requiring pull requests or code review, and instead deferring to each developer to ask for a review if and when they feel it’s useful.
I like this story (even though I disagree with some of the finer points). It’s a great example of being pragmatic, and only adding formal policies and processes when they solve a specific, felt problem.
One choice quote from the article:
Every company or team is different, but one thing is the same: They all want to build the best product in the shortest time possible. There are different ways to achieve this.
Does your team use code review and/or pull requests? What works best for you?