The best way I've found to learn is to do a project in that particular language or framework. I try to use an Agile method where I define an Epic, User Stories and Tasks and work my way through it. This would also include Spikes to learn particular aspects.
Beyond that, it's just a matter of applying basic design principles while coding, things like SOLID (if it's a OOP language), DRY and YAGNI.
We’re a place where coders share, stay up-to-date and grow their careers.
We strive for transparency and don't collect excess data.