Code Reviews as a Learning Tool
Caught a link to Moserware: What Does It Take To Become A Grandmaster Developer? and found the article quite illuminating. I'd like to think I'm a level 3 or 4 dev by his numbers. :-)
There are lots of good tips and tidbits in that lengthy article; one part that I really agreed with regarded the value of a good code review:
Reading good blogs, books, or papers can help. But the best resource by far is an environment where coworkers can safely rocket you through the above learning curve. This is why I really value intense code reviews by my peers at work. Good critiques have let me accelerate my learning process as a result and get slightly better. It's just simply way more efficient that way. It'd sort of be like the young Gary Kasparov playing a game with Bobby Fischer and getting beaten badly. It'd hurt the pride initially, but it would probably help him learn much faster than reading books (as long as he kept good notes of the game).
Our team takes great pride in a full code review. We send out a "pack" that lets each developer "diff" the changes being introduced. Most feedback is done by email. (this is Microsoft after all!) I've found that I've learned a lot from having my code critiqued, as well as from reading the code of my peers.