At night (and in the early mornings and sometimes at lunch...) I have been teaching myself to program Rails apps. I use books to learn concepts (and RailsCasts too) and I rely on Google and Stack Overflow for problem solving when I get stuck.
I have learned a ton, not only about the language but also about good programming practices. For the latter, I tend to first learn the concept from a book, but only internalize it after having suffered some pain which could have been avoided if I had been using that particular practice. So far I would include orthogonality, version control, testing and asynchronously running processes which I don't control to this list. Behavior Driven Development is also now starting seem like a real benefit and not just overhead so I will try that with my next feature addition.
I guess my question is, how far down the road does one have to go before they could be considered as a potential employee?