Since interruption is the enemy of productivity, I would say this is the most important thing to teach to junior devs.
Babysitting or constantly being the path of least resistance to a junior developer's answer finding may actually be hindering them in learning to think for themselves. They may start to think you have to do the thinking for them.
I'm not sure if there is a silver bullet for all devs but basically you want to make more self-sufficient devs.
Some ideas that I have tried in the past:
- Buddy system. Some guys are stronger than others. If there is one stronger junior dev than the rest, maybe have the other developers ask him first. Be sure to schedule his time to allow for it if it gets to be too much.
- Setup no interruption time. Schedule one or two 3 hour blocks per day for uninterrupted coding. Maybe have half an hour meeting before and/or after. Put the onus on developers to start asking clear questions, have them prepared in advance so their 3 hours doesn't go to waste. Ensure they are held accountable for their deliverable.
- Interrupt respectfully. When we interrupt someone and stick around, indirectly we are saying what they are working on isn't important. If they are to interrupt you during your block of working time, they should follow at least some basic protocol on how to interrupt and how to interrupt with preparations made in hand, before taking up your time. This should be easy, just see what you do when you interrupt someone and what you prepare mentally or on paper before asking. Ultimately they should be bringing you solutions or potential solutions and be ready to discuss the pros/cons of each.
- "I don't know how". This is not good enough. Their mindset should be "I want to find out how". Learning to ask good questions means you can learn to use google properly. There are few problems that haven't been attacked before. If trying to pick a particular approach, they should be able to line up the pros and cons of each before they talk to you and get very quick at it.
- General problem solving. That's all programming is to me. One part syntax. One part problem solving. Learning how to solve all sorts of problems, in general, quicker and quicker makes developers sharper.