I've followed similar approaches through the years and I agree that code reviews are a tool for both quality and learning.
Looking at your workflow it's very smart to make a pass through a junior dev and then by a senior dev. However, I see that code review comes after QA.
In what way would it impact your development process to first get the code quality to good standards and only then send the feature to QA for validation? Have you tried this before?
It's debatable actually. We think that code review is a critical process and only want to review features which fulfill the acceptance criteria.
So, If it fails then it will have to go through the QA process again.
Though we keep experimenting, what I think is Code Review is done to polish things, making sure standards are being followed, do the refactors if possible etc. But if it's not even meeting the acceptance criteria then its just a waste of code reviewer's time.
I have tried this before and what i explained above is the same reason we switched to this approach.
Test first !! Code Review!! Sanity tests again!! Done!!
We're a place where coders share, stay up-to-date and grow their careers.
We strive for transparency and don't collect excess data.