Interesting. Everyone learns differently, so there’s not going to be any one good answer to this question. Before mastering the grand daddy of OOP (Smalltalk) and then embracing polyglotism and learning learning learning (which subsequently has me learning Elixir these days as well!), I actually went to school as a mechanical/materials engineer.
One of the metaphors I have carried with me all these years in software learning journeys is the power of the alloy. Alloyed materials are one of those cases where you get compounding effects, where 1 + 1 is some greater than 2.
I have found that (for me) no single purist approach to learning languages or libraries has been as powerful as using a smattering potpourri of learning techniques. Whether watching videos, taking classes, having mentors, reading books, reading articles, asking questions in forums, actually writing real code, or writing weird boundary pushing experimental larks, I find that they all compound when reflected off of each other. To date, I have found that adding LLMs in the mix is another good alloy ingredient, but that it is particularly fragile when used in isolation.
Just Friday, I was working with learning how LiveView JS hooks work better and mixing in some SVG. For some of that, Cursor was really helpful. But alone, it would never have helped me discover some of the nuggets of nuance that I needed to dig through the W3 spec to figure out. Later the same day, it helped me rough out an Ecto join query that was a bit beyond me. But I chose to go do some more research, reading Ecto manuals, watching a vid on joins, and asking a buddy who’s a stud with Postgres. But the LLM really catalyzed my venture into the space.
LLMs are a tool too. You learn to use them wisely not by using them only in angry desperation, but through critical experience.
Glad to meet another Elixir sojourner on the way.