One of my favourite things is learning new terms. When my brother introduced me to the Overton window the other day, I knew I had to shoehorn it into a blog post. I have always been a strong proponent of code review; I enjoy receiving a thorough review, and I have taken pride in my ability to deliver high-quality feedback too. Had you asked me a year ago, I would have been adamant that all changes must go through human code review, which also seemed to be the prevailing sentiment in the industry at the time. Now, I am not so sure.
The benefits of code review are many and well established: they improve code quality, facilitate knowledge sharing, and increase the lottery factor of new code from one (the author) to two (the author and the reviewer). Code reviews come with one major downside: they take a long time and can become a bottleneck for velocity. This was always the case, but is now even more pronounced with AI. As teams adopt AI productivity tools and start landing more changes, my observation is that their review process approaches theatre. Many engineers find no joy in reviewing other people’s work, and when faced with double1 the volume of pull requests, their reaction is not to increase their review efforts accordingly. Rather, they will start rubber-stamping changes so they can get on with the work they find enjoyable.
The major agent harnesses offer native review functionality, but my experience is that even a simple “spawn a couple of competing sub-agents to review this diff” prompt already produces better reviews on average than human engineers. Purpose-built agentic review tools are even better. AI reviews focus only on the “improve code quality” aspect; they offer nothing in terms of knowledge sharing or lottery factor. To me, it is still an open question whether these two benefits are large enough to warrant the bottleneck of human review. Agentic tools have also dramatically reduced the time it takes to get up to speed in a new project; if an agent can help me quickly understand a small to medium-sized codebase, then I do not need code reviews to stay in the loop. My expectation is that when faced with the choice between velocity and knowledge sharing, the industry will pick velocity.
Code reviews are a good example of how AI is challenging many of the previously held assumptions about the software engineering process. They have been an established practice for years, and until recently, the Overton window did not permit suggesting anything other than human review in all cases. I think this is changing. I anticipate a future where human review is applied selectively to critical code paths and higher-level documents like architecture decision records, but not to every change.
As someone who enjoys doing code reviews, I am somewhat saddened by this shift. All is not lost, though: the ability to swiftly review code remains a crucial skill when working with agents that can output code at breakneck speed, so there will still be plenty of opportunity to do so in the future, just not necessarily my colleagues’ work.
Insert perceived AI productivity gain here. ↩︎