> it was quite challenging in every sense: time/money management, high drop-out rates (~80% fail or stop studying cs at my university), lack of math skills - school was far far away.
This is where a mentor I believe does a great job. I know people that had a hard time learning because they don't have someone guiding them. Some aspects, like say, async programming or memory management could be hard to grasp by yourself but when someone explains it well, then it everything starts to come together. That's why when I'm teaching I always tell people to understand the concepts first cause you'll only learn it once and it will help you understand the pieces better.
Personally, the best mentor I had was my first manager at my first job. He did really well for himself now and probably could retire (he's in his mid 30's).
But how I found mentors naturally was hang out at a place called Hacker Dojo here in Silicon Valley. Since they often had free JavaScript classes and meetups, I took advantage of that to make connections and eventually found mentors/friends and people in general that help you out.
This is where a mentor I believe does a great job. I know people that had a hard time learning because they don't have someone guiding them. Some aspects, like say, async programming or memory management could be hard to grasp by yourself but when someone explains it well, then it everything starts to come together. That's why when I'm teaching I always tell people to understand the concepts first cause you'll only learn it once and it will help you understand the pieces better.