Give them real life projects that you will use. If it's about programming, in my experience, I learn different programming languages by feeling it and coding using that language. Let him appreciate the real use of the project he will do. A good dev can learn on his own, but make sure you are there beside him. Always be open if he has questions, or clarifications.
For essential skills, I can say programming language literacy, version controls, SQLs, basic algorithms and data structure, and software dev life cycle.
The best thing you can give to a fresh dev is experience. :)