Our dev team have agreed that all code contributed to the project must be reviewed. We branch off master and merge back for every unit of work (sometimes a whole feature, sometimes just work-in-progress that passes tests). However, as I'm becoming more productive I'm finding myself increasingly slowed down by having to wait (sometimes days) for code to be reviewed, then waiting for another review if there are suggested changes.
I'm working around it by moving on to new features while waiting for a review, but this means context switching, working off old code and more time spent merging branches. Our team is also small so I don't want to stress out or make my co-workers look bad by stacking up endless code reviews. I'm also at risk of making myself look bad by having large amounts of work in-progress/in-review.
They're also usually fairly small changes, so sometimes finding myself pushed to cram more features into a branch, but this feels like a bad idea?
I've not had much experience working as a team, so wondering what steps I can take to improve the productivity of myself and/or the entire team, or even encourage other developers to be more proactive in doing reviews? Would also be interesting to hear suggestions from people who have been on the other side of this.