Put your soul into PR reviews
This isn't a one-time audit of current practices—it's an ongoing critical appraisal of every decision you make, every day, and on every project. Never run on auto-pilot. Constantly be thinking, critiquing your work in real time.
I work as a backend developer at a fintech startup of around 200 people.
In our last project retrospective, someone brought up that we should take PR reviews more seriously. It was listed as a Problem in our KPT retro. I took that feedback to heart — because I was part of the problem. The project had been rushed under unclear requirements, and slow PR reviews directly blocked the timeline. We shipped on time, but the team made more than a few mistakes.
Then someone new joined mid-project, and they reviewed PRs meticulously. Why is this logic needed here? Shouldn't this be wrapped in a transaction? This syntax would improve readability. All kinds of comments I'd never considered leaving. As someone who had been a rubber stamp reviewer at best, it was eye-opening. Getting comments on my own PRs felt slightly annoying at first, but not a single one was unhelpful. Still, even that person, after just a few days, joked to me: "I see — this is the kind of place where you have to approve fast." We both laughed.
A PR review carries the reviewer's soul. At the smallest scale, it's like cleaning a shared space — if one person neglects it, everyone suffers. But the damage doesn't show immediately, and considering how short developer tenures tend to be compared to other roles, PR review can be seen as an act of goodwill. If something conflicts with your principles, speak up. If you know a better way, share it. If I hadn't caught that typo in my review, someone would've had to file a separate ticket just to fix it.
My method for putting soul into PR reviews: checking out the remote branch. Build it locally, then look at both the PR diff and the code itself. Reading code in the IDE lets you jump to definitions, trace the impact of changes, and that's where questions naturally arise. It helps beyond the code, too — checking if newly added environment variables were updated in our shared config, if new error codes were reflected in the shared documentation. This is how you push human error as close to zero as possible.
When you pour yourself into a review, your thinking naturally reaches what is this code change even for. Conversely, commits without a clear purpose — or ones that weren't agreed upon beforehand — deserve a closer look. To understand the original intent, I'd check the linked Jira ticket or design doc. Through this process, I came to understand our service's business logic better, which in turn improved code readability. Anyone who understands the ripple effects of bad decisions in software develops a sense of responsibility. Putting your soul into PR reviews is, ultimately, an expression of that responsibility.
The above was written in January 2023.
Three years later, this piece is already a memory. Machines do PR reviews now. And those machines were raised on reviews that humans poured their souls into. Typos, naming, security vulnerabilities — the things humans miss from fatigue, machines don't. But machines don't know that this change needs more planning from a PM who leaves for a two-week honeymoon the day after tomorrow, or that this API modification sits on top of a delicate power dynamic with the team next door. A review with soul meant reading the context beyond the code. This too may be a matter of time — who knows how the things I believed would forever live outside of code will be absorbed into people's workflows, surprising and unsettling me once again.
My environment has changed too. Working at early-stage startups and building solo projects on the side, the experience of reading someone's code, leaving a comment, and seeing it reflected in their next PR — that's becoming a distant memory.
It's only been three years, and so much has changed. Some of it rendered obsolete. Including this post. Will what I write and think today still hold up three years from now?