"Over the shoulder" reviews sound like they are halfway between code reviews and pair programming. Code reviews usually mean someone taking an independent look at their own pace, though quick turnaround is always great. You can get classic reviews by simply mandating approvals on pull requests on any system you are using. You can also get halfway with screen sharing developer's IDE, though if a reviewer doesn't get t…
Over the shoulder is often the developer explaining their decisions in the code, instead of the reviewer trying to reverse-engineer it, independently. It's just faster and has less resistance -- not necessarily better. Problem with remote live reviews is that in a remote environment, it's harder to tell if someone is free or they are doing their own deep work. Either the developer has to wait for the review to be don…
If something’s super complex, and I don’t feel like it’s the submitter’s fault, or even if I’ve got a PR where I realize the code I’ve written isn’t optimal, and async feedback would be too slow, I’ll usually schedule a meeting on someone’s calendar, giving them at least a day of notice.
But otherwise? If I can’t understand what’s going on without too much difficulty, that’s on the PR submitter to improve their code readability through structuring, naming, comments, or as a last resort, external documentation imo. So I see not having the original submitter involved as a feature. Who knows if they’ll be around when you have questions about the same code in 2 years? Is someone going to document everything that was said in the “over the shoulder” review?
That being said, the work I do isn’t anything cutting-edge. More complex code justifies more involved review practices.