I really like the idea of looking for someone to apprentice with. It's awesome that he found someone to take him in. "look to the master, follow the master, walk with the master, see through the master, become the master."<p>I started coding HTML/CSS/Javascript when I was 15. When I was 18 I was working on a $14M project doing HTML & jQuery. 19 and 20 rolled around and I thought I was hot shit and could get away without knowing much about object oriented programming and database design. Boy, did experience beat me with a heavy stick.<p>After blowing through a lot of money paying other people, and not being able to evaluate what they were doing, I started learning to program myself a little over a year ago (December 2009). It has been, by far, the best investment I've ever made.<p>You HAVE to have mentors, though, bookwork and experience alone don't cut it. Some of my mentors, didn't do anything but talk to me - and ingrain in me the importance of fundamentals - and some basic vocabulary. Some stuff that didn't make sense when I heard it, but produced those "Aha" moments later. Other stuff, like the importance of pre-planning, prototyping, code readability, and NEVER using code you don't fully understand, I was told from the beginning were very important.<p>Plus, mentors can be different types of people in different types of situations. One of my mentors was an experienced programmer who I lived with for a few months. Others were dudes on stackexchange and serverfault (Yes, that counts), and others were those I read.<p>The bottom line is, you need to see yourself as an apprentice, always looking for a master to learn from.