This is what I've been using as of late to learn new technologies. I always seem to forget to tell younger developers about using this approach to learn.
Something else I would add is that you should try to find well known OSS contributors that work on projects that use tech/languages you use. If you monitor their projects you can pick up great habits from reading through their code.