I am unofficially mentoring people for ~10 years now. Those are mostly people who are in different professions but for any reason (mostly boredom or financial) they want to change their career and become programmers. I usually teach them frontend web development because that skill tree is the easiest for getting the job asap.
My way of mentoring usually involves giving them tutorials (either book/documentation or YT videos) and then giving them tasks which correlate to the skills they learned so far. While they work on those tasks I provide help if they get stuck. After the task is done I am doing the code reviews and improving their coding as they learn. In this way they can see their progress through commits and we are also building their project CV on github which is IMO most important thing to showcase on junior job interview.
Also since I am working this pro-bono I always try to minimize my time by encourage my mentees to help between themselves (i usually make skype groups for them). Also I teach them to help themselves - proper usage of google search for answers, using tech forums, overcoming the fear to ask questions on stack overflow, attend meetups and presentations,...
Main thing I say to the ones I train is "pay it forward" - which means that they should pay me back by continuing to spread the knowledge and skills.
I consider my job as done when my trainees land their first programming job because at that point they will learn much more about programming on that job than from me on their spare time.
With this method I have had success rate around 15% so far - lot of people gave up for various reasons (life got in the way, they were not passionate about coding, they got better offer at their current career, they were lazy,...), but I am happy to say that all trainees who finished my course through the end (usually their last task is full fledged reactive frontend application) managed to find a job in the industry so there my success rate is 100%.
Also lately I don't want to exceed number of trainees more than 3 because I want to spend more time with my family. If someone new comes to me for mentoring and my capacity is full I forward them to one of my ex-trainees now colleagues :)