I like the idea of newbies getting their hands dirty in production code on the first day — under supervision. I’m a big fan of mentorship from senior developers. I recommend that companies who hire juniors pair them with senior developers for a minimum of 3 months, and maintain a mentorship relationship for long after that.
That way, there is no chance a newbie could be under any illusions about how much more they need to learn. I think it’s important that a junior works on production code on their first day, but I also think it’s vital that they have constant access to people who know a whole lot more than they do. People who can guide them in the right direction and put them on the fast track to success.