Having learned software development myself in much the same way (although in the early 90s there was a lot less useful material readily available online and so I found/bought books as my primary source of info), I can say that the most important thing the kid needs he already seems to have: Motivation to learn.
The other answers here offer good suggestions and, including elements such as involvement with like-minded peers, helping gain familiarity with tools and as simple as it sounds, learning to type efficiently is key (otherwise entering any sort of information into the computer tends to be so arduous that you can hardly confront the idea of solving major problems with code).
I would also add: Encourage this young person to select a goal/project of his/her own choosing and stick with it to completion. This may take several attempts, and the first one(s) may be left incomplete, be too ambitious, eventually become boring, etc. But learning to get through this and actually produce something of quality that someone uses (could be an open source project, or something used at school or by friends, etc.) - that's an important point and a vital step.
I learned a lot about programming around that same age (10-12), but when I was thirteen someone actually offered me money to program something for them, and it had a deadline associated with it. That was a different experience. While it had some stress associated with it, it also made me responsible. I had loads of incomplete projects and brainy ideas, but it wasn't until someone helped coach me into the discipline of delivering whatever software I was writing (and have it be decent enough and workable, not an overly buggy pile of crap), that I actually consider that I "became a real developer".
That's my two cents.