I taught myself how to code for a little under a year, took an 8 week Ruby/Rails course called bloc.io in the summer, and just finished a 10-week Ruby/Rails course called Dev Bootcamp. In that time, I have gone from zero knowledge, to making sites like http://www.instamap.it/ and http://www.codequizzes.com/. Here is a more detailed summary of my journey (I have been employed full-time in a non-programming job, except for a 3 month sabbatical for Dev Bootcamp):
1. Fall 2011 - Read Python Programming by John Zelle (http://www.amazon.com/Python-Programming-Introduction-Computer-Science/dp/1590282418)
2. Winter 2012 - Solved Project Euler programming challenges (http://projecteuler.net/) and made games by reading Invent with Python (http://inventwithpython.com/)
3. Spring 2012 - Attempted to learn PHP, but that was a bit disastrous. Kept plugging away with Python.
4. Summer 2012 - Was accepted into a program called bloc.io that gave me a programming mentor via Skype, which helped a lot. Switching from Python to Ruby was not bad, but learning Rails was tough because I didn't even know basic HTML/CSS/JavaScript. I also found a programming buddy through this course and he taught me a lot.
5. Fall 2012 - I took a 3 month sabbatical from work and went to Dev Bootcamp to program all day every day. I programed so much that I started dreaming in code.
I am still studying all the time because there is so much to learn!