Today I interviewed for a leadership position at work. During the interview, the interviewer asked what my philosophy was for leading and mentoring people.
I create an environment where it's safe to fail, I assign projects that are a stretch for them to accomplish, and I do everything I can to foster their confidence.
Junior employees frequently have great ideas about how to solve problems. But, in many cases, they have better solutions because they are less engrained in "the way we do things here" and come up with unique solutions.
When I was CTO at Pinpoint Software, we hired a very smart developer who lacked experience and confidence. She'd come into my office with problems she'd come across. I'd ask, "How do you think you should solve this problem?", she'd think and propose a solution. In most cases, it wasn't what I would have come up with, but it was a good (or better) solution, and I'd say, "That's a great plan. You should do that and let me know how it goes."
In time her confidence grew, and she didn't have to come to ask me. She'd do what she thought was best, I'd review her code, and it was always a great solution. Sometimes, I'd say, "This is looking great, but what about this situation?" She'd go back and figure it out.
The way people grow in their positions is to do challenging work, try and sometimes fail. So you need to put systems in place where failure doesn't cause problems. That means padding projects with margin to give people the space to experiment and retry if needed. Then, you need to include opportunities for senior staff to review the work and provide encouragement and constructive feedback.