I do think Wordpress, big hairy pile of PHP that it is, is actually a much better way to learn to code than CodeAcademy or equivalent. In fact, it's because working with WP involves so much hacking and kludges that it's such a good way to learn. CodeAcademy seems to follow the Dijkstra school of CS teaching... start people off with the fundamental principles. Sounds like the logical way to learn, but maybe it's not t…
Later, reading software design books made sense. I knew why you shouldn't do X or Y, because if you neglected using those techniques you'd end up being Coppermine---powerful, well loved by some, but barely maintainable and extendible only through immense effort and careful reading.
I like to think that I worked my way up the open source software ladder, learning techniques from each piece of software till I was able to make my own from scratch.