I like that your 30 days challenge! Deliberate practice is a sure way to master new skills in no time.
I've experienced something similar by combining Josh Kaufman's 20 hours of learning technique with code katas. Using automated tests during code katas helps you to get instant feedback on your exercises, which I found accelerated the learning even more. I wrote a series of posts on the topic: How to learn a programming language in just 20 hours
One thing I would add to your post is that the more languages you know, and the faster it becomes to pick up a new one. In a way, it's very similar to spoken languages. Once you know 4 or 5, learning the 6th will be a lot faster. Programming languages have many dimensions:
dynamically to statically typed
OO, functional, imperative, logic, prototypal, stack based... or multi paradigms
more or less immutability
actors, transactional memory, locks... and other concurrency mechanisms
run on a VM, or not
low or high level
more or less metaprogramming
...
Once you've learned enough languages to experience different flavors in all dimensions, it's a lot easier to place the new 'BLUB' language you are trying to learn in this space. You get an almost immediate gut feeling about this language. From then on, a lot of the learning boils down to syntax and libraries.
Thanks for your post!
For further actions, you may consider blocking this person and/or reporting abuse
We're a place where coders share, stay up-to-date and grow their careers.
I like that your 30 days challenge! Deliberate practice is a sure way to master new skills in no time.
I've experienced something similar by combining Josh Kaufman's 20 hours of learning technique with code katas. Using automated tests during code katas helps you to get instant feedback on your exercises, which I found accelerated the learning even more. I wrote a series of posts on the topic: How to learn a programming language in just 20 hours
One thing I would add to your post is that the more languages you know, and the faster it becomes to pick up a new one. In a way, it's very similar to spoken languages. Once you know 4 or 5, learning the 6th will be a lot faster. Programming languages have many dimensions:
Once you've learned enough languages to experience different flavors in all dimensions, it's a lot easier to place the new 'BLUB' language you are trying to learn in this space. You get an almost immediate gut feeling about this language. From then on, a lot of the learning boils down to syntax and libraries.
Thanks for your post!