Code reviews are broken: How GitHub’s poor UX Is hurting developers
Why GitHub's outdated code review experience is frustrating developers and stifling progress. Explore the key flaws in its workflow and what needs to change for modern development.
Why GitHub's outdated code review experience is frustrating developers and stifling progress. Explore the key flaws in its workflow and what needs to change for modern development.
The code review process is more essential than ever but as an evolving practice has been stalled. Code reviews are meant to ensure that the codebase remains stable and maintainable - but because the experience is fraught with roadblocks we’re stuck in the monotonous, often frustrating loop of “just get it reviewed,” leading to the good old “LGTM” (Looks Good To Me).
But let’s be real: Does it actually “look good”? Or are we simply rushing through because the tools and practices we rely on haven’t evolved to meet the complexity of modern software development?
In today’s fast-paced development environments—where we’re juggling multi-repos, microservices, and multi-language tech stacks—code review tools like GitHub are actually holding us back. Even tasks like code generation meant to speed up development are underwhelming in completing complex multi-repo scenarios. We can and should expect more from the code review experience.
It’s time to be critical, call out the flaws, and explore how we can move beyond the “LGTM!”.
The modern development cycle is no longer the simple, linear process it once was. We’re dealing with complex code bases and diverse technologies and when it’s time to review a major ship - the moment of review is, well, really complicated.
At this moment of review there are three key areas where a developer’s process is significantly impacted: required navigation through multiple files across multiple directories, required ability to comprehend the impact of changes in a single file over multiple sections, and the required ability to evaluate the impact of files with modified code (but that haven’t actually changed).
While Github absolutely changed the way we work as developers, ushering in the era of Git, the experience isn’t supporting our new workflow needs. Let’s break down where the real pain points lie:
However, in fairness, let’s zoom out a bit. A key point about the above challenges are because we as an industry haven’t stopped to ask ourselves if how we write and review code is serving how we run and compile code.
The root of the problem goes deeper than just poor UX. It’s the architecture of the code review process itself. Most programming languages were designed with certain file structures and conventions in mind meant to allow developers to easily access and reuse code. For example, common conventions that define how code files should be named and cataloged.
While those design principles serve how code is run and compiled, they don’t necessarily lend themselves to effective code reviews. Here’s why:
Beyond these specific architectural challenges, it’s no surprise that most developer’s lack of extensive cross-language and cross-repo understanding leads to siloed reviews - not because of lack of effort but truly because of the required breadth Interdependencies and ripple effects are missed and issues are introduced later in the development cycle or worse– in production. Developers simply don’t have the tools to fully understand the ripple effects of their changes.
So why - especially with deep contextual telemetry available and emerging AI analysis tooling - have we settled to continue reviewing code this way? We don’t have to accept the fact that our code review process cannot help solve these challenges.
There is a different way to think about our code review process from both a tooling and process perspective. The architecture and experience of code reviews deserves an overhaul that really meets the workflow of the developer, team, and organization where they are in their complex environments.
In practice that looks like:
The goal should be to empower developers to focus on what really matters—high-quality, reliable code.
At Baz, we believe strong, reliable code is built with context. Our AI-powered platform is designed to streamline code reviews by focusing on what really matters—identifying critical changes, analyzing dependencies, and offering clear explanations. No noise, less blockers, and no more fragmented tools. With Baz, your developers can focus on writing beautiful, stable code that ships faster and works better.
Want to learn more about how Baz can elevate your code reviews? Check out the latest in the changelog here and join the waitlist here → https://baz.co/