I have about 2 blocks of meetings per day on average. I usually check my assigned code reviews in the morning and when I come back from the meetings. Once I’m done with those then I move on to my own work.
If I have too much code review to the point that I can’t get my own work done, I take my name off the reviewer list and it’s reassigned.
On most days I’m still able to get a good 2-3 hours of sustained focused work on my own project.
How big is your team? We've got 4 developers on our team (and one lead), and require two signoffs for code changes. There's just not enough of us for something like that to work... right?
You might need focus, i.e. non-meeting days, 3 days a week.
Are you sure you are a developer?
Often the suggestion featured does suggest a whole team as a review based on code ownership.
Organising the diffs in this way made it much, much easier to collaborate.
Given how much FB has grown since then, I suspect this would be even easier, and this is how the numbers noted above are what they are.
Picking up a 5 minute review after you've returned from some existing context switch (a meeting, coffee, conversation, lunch, etc.) is easy enough.
As a result, around 25% of my reviews are done within an hour, and 10% within 10 minutes. I'm a slightly fast reviewer, but approximately the same applies to reviews done of my code. And that includes reviews that require interaction with peers in Europe, which obviously require much longer because they can be mailed while I'm asleep or the reverse.
Could you potentially explain what makes it "some of the most garbage software imaginable"?
edit: wording
I'll wait.
Honestly, I'd genuinely like to hear some of the answers to this, or even just mentions of good codebases to explore.
That said, I don't think that there will be that many that satisfy all of the requirements listed here, because as the scope of a project grows, there will almost inevitably be some technical debt or accidental complexity, or even subjective things.
That said, there are three things to consider: 1) I honestly don't care whether you think it's garbage or not. 2) I saw some amazing software there, and I saw some that wasn't amazing. 3) It's an immense business, and there is a certain amount of inherent dysfunction that comes with that many people working on anything together much as you would see at any large company.
Alternatively your code review culture doesn't give a lot of suggestions for changes before submission, and that leads to more technical debt which will produce bad results long term.
[*] it's an exaggeration, but close to reality.
That's not exactly a break...
And I'd like to stress the distribution of the "complexity of a review", which you can crudely approximate with something like number of lines changed. Most of them will be small.
If it typically takes you hours to "get inside" some code, that code is way too complicated.
Just like your can solve simple problems with spaghetti code.
Of course, writing simple, will factored code is often hard!