First I wanted to build iOS apps, so I learned enough C to take on Objective-C. Time to learn the Cocoa frameworks. Published an app. I should learn web development. Grokked HTML, CSS, some JS. Wait things can be done easier with jQuery? Learned some 'o' that. None of this means anything without some passable design skills. Time to learn photoshop, illustrator, or some open source alternative. Oh crap, I need to deploy this! And what's this 'Git' everyone's going on about? Wait a minute, I don't understand anything that's going on with anything! Time to dig deep into the underbelly of Unix. I should get with the times! Need to learn some front end frameworks. Angular looks amazing, here I go! Hmmm, are mobile apps the way of the future? I'm not sure. Maybe I should leverage this using the web skills I already know! Time to get up to speed with PhoneGap, Cordova, or AppGyver...
And this is just practical stuff. Nevermind the math, algorithmic, and hardware domains that I'm sure break into a million parts like the 'coding' endeavour I mentioned above.