Other side of the equation:
I remember learning C++ with something like valgrind. I would write stupid code, validate, fix stupid issues.
Others before me learned the harder way.
With LLMs right now I'm learning frontend by just generating the UIs I want.
I'm getting the code/mocks and experimenting.
It's bad code, i will need to adjust, but it helps immensely as a starting point same as valgrind helped in the past.
Trying to learn via searching for info just doesn't work as well with all the flood of spam.
I do not think that all LLMs are evil; they are valid tools, but it's not a hammer with meta glasses attached to render everything into a nail. I also find it very useful in certain situations - but not in all situations.
Two more things. Bad code (in work, in reality, not in a hobby project) is rarely converted into good code. And the last one: in my twenty plus years of being a dev, this is the first year job offers simply just dried up. With bad code being good enough (hey, it compiles! it mostly works!), hopefully you and I will be the lucky few to still be in the business five years later.