Well I personally found the talk of Dan North very inspiring youtu.be/lvs7VEsQzKY
Esp the dreyfus learning model.
Beginner need rules, they are not as fast it is natural. Hence style-guides, code-reviews and less freedom is important; at least from a business perspective.
They need clear instructions what they should do, how they should do it and why they should do it like this.
There is nothing worse than giving a beginner ultimate freedom. That's the paradox thing about learning ... you need to force them to learn things so they can be free.
So if I assume what I've written is a truth we could draw one possible conclusion:
With every beginner we trade our current velocity with our future velocity like and additive vector (I know it's overly simplified). So the more we invest now in our beginners the faster we loose the drag of them and the more and faster we can achieve things in the future.
This is basically how I see new people, I won't sidetrack into business needs and these factors but fokus on where are we as a team and where do we want to be.
So basically what you need is one person who is really okay at coding one who knows the rules and lives them by heart. That is the person you should pair your beginner with.
I also do recommend collective code reviews where more advanced coders talk about code and their reasoning.
Demanding to explain the why and how.
Show them your thinking process but don't do in code, do it abstract. train their puzzle solving strategies.
Do small hacking challenges during the day -> 9 am -> 15 minutes we all solve one small algorithmic problem. After that we present it. It should not be to long.
Give positive feed for good things.
Do stuff together outside of work ;) trust needs to built and goes both ways.
I personally plan a little hacking retreat for a weekend with food and drinks. Just some extra team building and I hope they like it.
Anyhow this is as far as I got with my current strategies for beginners till intermediate.