Programming and computers have always been my biggest interest in life but I never dove into it because I always thought you needed to be a genius to program. I hate what I do now and I'm putting every effort forth into learning programming and making it a career. I have knowledge in HTML/CSS but I want to focus on app development (and maybe app game development) and been learning Objective-C. But the reason for this post is because before I even dive into a language, I want to know what I need to know to become a successful programmer. I could learn objective c all day and code an app, but what happens when objective c becomes obsolete? I don't have 40 grand a year to go to college, but I'm willing to invest money I make now into learning what I need to know weather it's online courses, certifications, or even lessons from professionals willing to teach. I just bought a MacBook Pro and http://www.amazon.com/gp/aw/d/0672337002, and going on www.programmingbasics.org to learn fundamentals. Any pointers in the right direction or links to courses/content that would teach me what I need to know would be extremely appreciated. Pretty much, my plan is to get into an entry level programming position ASAP (I'd rather make 10$ an hour doing entry level programming stuff than the 14$ an hour I make now doing stuff I hate) because I'd be learning everyday I go to work. Even if I have to focus on java right now to land that position soon, and then focus in objective c after. Thanks a lot guys and sorry for the long post, trying to get my life on track and hoping to learn here!