|TL;DR; at the end.
I mostly agree with @OriginalGriff's comment, but I think some differences too.
One is... altough in general terms the impression is that youngers are dumb or lazy, there still are people over there that are really good out there and some of then learned it on their own (i.e. Sander). Those who are good and really want to learn, I think they end being even better than many of older generations.
Another factor I think is pretty relevant is... the amount of staff. 30 years ago, you had very very few possibilities (a couple of programming languages, a couple of databases... that was all), so the things could be teached / learned in depth. Today you have so many different things that it is impossible to keep track and be good on everything.
Additionally it is not only the fault of the teachers, many parents are "guilt" too for the situation. I can't say I am the perfect father (I know I have a lot of defects), but when I look around me... I have to pretty often. Some really have no time to do more, some really don't have the knowledge to teach more, some really don't have the mediums to do more, but many are just idiotic, lazy morons that just think sitting the kids in front of the TV or the Smart Phone is a good education.
Now... back to your question.
I have trained several juniors in previous jobs, and I can only say prepare two different line of action
Start with basic basics and think of it as you are teaching kids, not youngs. Go slow, first only showing overviews and giving easy exercises.
In my experience, only the ones that want (and simoultaneously can) will really learn. The others will be there phisically but their brains (or what actually is in that space) will be somewhere else and won't give a crap on what you try to teach.
So pay a lot of attention on their responses and if you see there is one or two guys that might have the potential, then change to the second line of action, going deeper in each topic.
If there is/are just one or two guys that really learn something, I already consider it a success. The rest won't make it, because they don't really want to. So it doesn't matter if you go fast or slow, deep or not.
On the other hand...
Some of their questions will "WTF" you and you might really get corrected in some of your assumptions or your "universal truths". I trained a particularly good guy during some months that helped me find a couple of bugs (undercovered for some years) in our company library functions (some written by me, some written by guys better than me).
I was myself in some professional courses for new projects and I liked a lot a trainer on robotics, I was getting a basic course for that particular robot (brand / manufacturer) but already had some years of experience in other robots. I asked some questions that he couldn't answer, he honestly admited it and told me "ask it again tomorrow". He used the evening night to look for it / test it himself so at the following day he had a good answer to my question.
At the end of the week he thanked me, his explanation was:
The general trainee just sit, ask standard questions that can be found in a small FAQ, do the test at the end (that already is deleveled to adecuate the standard pupils) and go away with a "attended" degree. But I broke his routine for the first time in a couple years and make him to push himself again and learn some things that he had overlooked / forgotten about their own product.
Start slow but adequate the speed to the ones really wanting to learn and screw the rest. Be honest with them and yourself and be opened to learn from them too.
If something has a solution... Why do we have to worry about?. If it has no solution... For what reason do we have to worry about?
Help me to understand what I'm saying, and I'll explain it better to you
Rating helpful answers is nice, but saying thanks can be even nicer.
modified 27-May-20 5:17am.