Approve with comment
Code review is the first bottleneck that stories encounter. You go from 1 engineer flowing and vibing with the code to many engineers bickering over details.
You can improve the flow with a small change in culture: Leave comments and approve anyway. Let the author decide what's right.
I still remember the first time this happened to me. I don't remember the code, or the feature, not even the repository this was in. But I remember who said "I trust you" and how that made me feel. The code was irrelevant but the gesture was everything.
How trust feels
It was mid 2020 and I had just joined a startup poised to hockeystick. New team, new field, new codebase, same basic consumer web architecture. My role was to be the subject matter expert on modern web technologies and bring React into the company.
The team gave me lots of space. I had a playground, an API that returned data, and room to explore. My job was to build the new world until we have a first feature ready for production. Everyone else would keep the wolves at bay to let me work.
Not like I'd know how to help with regular feature work or with production outages. Back then something blew up almost every day. That's what happens when your prototype starts to grow fast.
I rolled up my sleeves and got to work.
After years of being the person who knows where the bodies are buried in a previous startup, coding all day was a nice change of pace. No slacks, no "Hey quick question", no emergencies, just code. That's the beauty of being new.
Frontend pull requests were easy.
The team looked at them, mostly the future lead architect did, said "Yep looks good, Swiz knows what he's doing", and hit approve. Sometimes they'd ask a question to better understand the new tech.
Eventually I had to start making backend changes. A tweak here and there to make the API return what the client needed. Or to fix a bug I'd found when things didn't fit together.
These were hard.
The backend at the time was a distributed monolith sprawling across several repositories and a million lines of untyped JavaScript. Quite challenging for a newcomer to understand. Lots of code in there I still have never seen.
The first time I wrote a substantial backend PR, the future lead architect had a bunch of comments. This code looks wrong. You could've reused that function over there. Looks like this test doesn't test what you think it does. Everything's in the wrong place.
But he approved the PR. All those comments and a green checkmark! I was floored.
"You can do that!?"
The culture I had come from was one of endless nitpicking. Of infinite debates fiercely protecting the codebase from any misplaced comma or whitespace character. It all had to be perfect before your code was blessed enough to merge.
And here was this high priest of the code giving me a bunch of feedback and saying "I trust you. Do what's right. You're closest to this code, you know best."
My jaw was on the floor. I've been paying it forward ever since.
Cheers,
~Swizec
PS: this is from a book I'm writing