I'm 18 and have worked for three startups in the past and am currently the lead designer on two. I really don't mean to brag by this, it just leads to my next point. Also, this doesn't fully pertain to programming per say because I am a front end designer, but hopefully this comment helps :)<p>When I was younger, 14 or so, I really became fascinated with server technology, databases, the web, etc... I was just starting High School so I essentially had all the time in the world to dick around with linux and php and all of that jazz, and I did. I was REALLY frustrated until maybe 6 months ago with programming in general. I would try tutorials, and could follow along and do what was written, but it never made sense in my head.<p>I pretty much dismissed the concept of being a programmer and stuck to what I feel is my talent, front end design. I build blogs atop Wordpress, dabbled with PHP, but never really became a programmer.<p>In the summer of 2006 I joined my first startup and began working with a team of really, really talented and smart guys on a Django site. This is where I was first introduced to a real smart environment. I was in a place where I knew just enough to ask good questions to help me learn. It's now 2008 and although I am STILL not a programmer, haha, I feel I have a really good grasp on database modeling, basic functional programming, etc... I know PHP fairly well and am becoming familiar with Python because every major site I have built since that first startup in 06 has been Django :)<p>Anyways, moral of the story is, a few years ago I could have never even dreamed of being where I am today. In the world of front end design <i>and</i> back end programming. I went from looking up to designers like Bryan Veloso, Steve Smith, Dan Cederholm, to actually feeling like I can sit at their lunch table and talk the talk with them. I still admire those guys of course, but now I feel like I am closer to them.<p>So, my advice is to just dive into anything you can, just like you have. It really doesn't matter what language you learn first. Focus on learning the thought processes behind building something. You can write a book in spanish or english, the meaning will be the same. So focus on problem solving, finding solutions.<p>Also, surround yourself with smart people. Stay passionate. If you're passionate about becoming a programmer, you will, and you'll do it the right way. The best way to learn something, hands down, is to just do it. Don't try learning PHP through tutorials on how to make a shopping list, start learning PHP by building the webapp you want to build :)<p>This all kind of just spewed out of my mind, I hope it makes some sense :)