Forget all the craps about new silver bullet mantra (peer review, agile and peer coding and shit).
Just put them on mandatory level 2/3 support 20% of the time for the code that is written.
When you have to maintain code you fully grasp the concept of «well written code»: just code that is easy to maintain.
And every month try to have them talk about their top 3 reasons that makes them loose time when fixing code.
My fear with peer review is that it is very artificial, what I like with maintaining code is that you see your mistakes sometimes due to trying to write «clean» code.
Magic number deserves a bullet in the kneecap, but magic numbers disguised as factories are worse. A good code is a code where mistakes are obvious. Value these coders.