The reason it’s so hard for adults to learn new things is that there is no authority figure punishing them if they fail. ... If we’re serious about accomplishing our goal, we have to create a context where we have no choice but to learn.
A great way to do this is 1-on-1 tutoring. As an adult, I learn faster under tutoring than in any other context.
Part of the reason is that a (competent) tutor can keep me right at the edge of my ability during a session, which is where learning is fastest.
Another reason is that fear of embarrassment motivates me to do my homework.
You could apply this to programming by defining a specific thing you want to make (e.g. roll your own blogging cms in Rails), then hire a programmer to coach you an hour or two per week and assign homework. You'd learn quickly and build your app at the same time.