I offered to work in exchange for a local dev consultancy (pybrew.com) in exchange for instruction. I had a basic understanding of procedural code (could figure out for loops and generally make things happen with very spaghetti-ish code) but didn't know what an object was.
At the time, I didn't really know how to solve code problems, how to effectively use docs, or how to use a debugger -- which they taught me. A lot of times they let me build the wrong thing then show me how I could do it better (doing research, learning how cookies work, and reinventing the wheel with web authentication, for example).
'Twas an odd, makeshift apprenticeship program, but it was perfect for me. At the time I didn't realize how lucky I was (I don't think they did either), but I am very grateful to have stumbled upon the opportunity.