I came into programming from freelance web and print writing. For the web portion, I wanted to create a "simple" program that would automate the creation of a seamless iframe, from any source, within three mouse clicks.
This program did not turn out to be simple. I quickly discovered that I knew nothing about programming. I first learned Polymer -- not right for my program. I then learned Python -- not quite right for my program. I then learned node.js -- nope again.
I then came across the Chrome Extension API, and I realized that my program would work extremely well as a browser extension.
Then I realized that automating the creation of ifarmes with video sources -- from anywhere -- took the project from being simple to being mind-boggling. I needed Node.js, but Extensions didn't support nodes.
So then I learned how to use browserify.
I found that I missed writing, but that I wanted to create my own publishing page -- one that incorporated the work of seven contributing writers, and was designed to fill a void in the world of online journalism was sorely missing.
So I learned Django CMS, and I eventually came to select Aldryn as my hosting company for the site.
And that's how I've come to know how to work with everything but php, ruby, and any CMS other than Django and Netbeans within the span of five months of unemployment.