Lol I work outside of programming. I just took a math minor that I now regret because programming takes up a lot of study time lol. I play every type of video game. Well, everything except puzzle games (except lumines) and tower defense lol
The best things I ever did to learn programming was try to program what interested me, so if your into games then I defiantly recommend you start thinking about a cool game (not too ambitious something neat and small) and then go try to program it..
this will force you to learn as you go to get to the end goal.. you really can't learn an entire language before doing something productive.. what I've found is you start with an idea and just use the libraries needed to complete the job.. then when all is said and done you've learned a lot of the programming library's.
Anyways the main point being that having a drive to get something done will as a byproduct make you a better programmer.
But yeah the above posts are so true... we are all bad programmers... theres so much I'll never know or be able to learn... so much out there.. so little time in life