Every developer should have their code reviewed, regardless of their experience or seniority.
After a while, it’s easy to start thinking hey, maybe I can push to production without a code review. I am an expert at this language, I’ve been working with this codebase for a long time. I don’t make mistakes, so why do I have to wait for a review?
Everybody has bugs in their first draft. And senior engineers write the buggiest, stinkiest code.
The more senior you become, the less you code. Very quickly, you start falling behind with the latest framework changes. Codebase knowledge degrades. Even basic language features start being forgotten. That’s okay, because senior engineers are not supposed to be at the coding coalface all day.
With every promotion, your code becomes stinkier. When you’re eventually promoted to CTO, your code is so dangerously bad that your Git rights should be revoked.
Inexperienced engineers think that code reviews protect production code from junior engineers or new joiners.
Code reviews protect the codebase from senior engineers and the CTO.