> I think the trial by fire approach, just jumping into the deep end, is a much more effective way to learn. It's also more fun for me.
If people survive it this gets them past some substantial mental hurdles. People who take too long on the basics often get stuck in the beginner treadmill, not really progressing but getting better and better at those basics.
Unfortunately, it's not perfect. Most of my colleagues who have taken this approach have deficient mental models of how computers work or are missing significant portions of background or fundamental knowledge.
After the trial by fire, you have to go back and fill in the gaps, hopefully deliberately and not just by future trial by fire efforts.
This isn't really my experience. I learnt ASM because I wanted to reverse engineer a C binary. I learnt kernel stuff because I needed to write a device driver. I learnt low level networking by writing an HTTP server in C. I learnt programming language design by writing my own programming language.
This was, of course, before LLMs, but I don't see how I am missing "fundamentals." They generally come if you are building something non-trivial and are genuinely interested in technology.
From what I've observed there's different ways that people cope when they find themselves in the deep end. Some try to learn and understand everything they can about their new environment (this seems to describe your experience), while others just try to find a working solution for their immediate task.
In my experience, the first approach is extremely effective, even if it can sometimes result in analysis paralysis. However workplaces almost always prefer the latter so it can be hard to fill in the gaps later.
If people survive it this gets them past some substantial mental hurdles. People who take too long on the basics often get stuck in the beginner treadmill, not really progressing but getting better and better at those basics.
Unfortunately, it's not perfect. Most of my colleagues who have taken this approach have deficient mental models of how computers work or are missing significant portions of background or fundamental knowledge.
After the trial by fire, you have to go back and fill in the gaps, hopefully deliberately and not just by future trial by fire efforts.