Also find myself really learning something new mostly when peeking into other people's code and trying to understand how it works and hacking together working stuff. Even though FCC-like platforms are great and provide practice, it seems that only when you're not doing separate tasks teaching you a particular theme in programming, but rather working through a set of subsequent actions that you need to do in order to make a working prototype do you really start to understand how this or that tool or method works