A lot of people have learned to code by using the approach you are condemning. Those tutorials and and education you condemn are great at teaching people the basic skills. Something are too complex to just learn on the fly. It’s also often easier to learn by standing on the shoulders of giants.
I ran into the same dangerous advice when I used to teach classical and jazz guitar. People would advise “don’t study, just play, it’s all you need!” That was terrible advice. Study exposes you to ideas that you won’t encounter otherwise. It gives you a framework to understand what you’re encountering in the real world.
You want to tell people they need to build things? I’m with you 100%. I give that advice all the time. You want to tell people that the “real” education will come when they’re building things? That is great advise. I give it myself. But telling people to stop reading and learning and doing tutorials and test projects? Over the top hyperbole aside, that is bad advise, imho.
“It doesn’t have to be a complex, real-world project. It can be as small as an algorithm that builds and reverses strings.”
Wait, what?!? Isn’t that exactly a common problem on many of the platforms you just mocked, including this one? Sorry, I almost fell off my chair laughing at this line. Maybe it was a joke. It just seemed such an incongruity with what came before.
Are you suggesting to “do toy problems” but only the ones they like? While I’m all for doing little side things for fun (or “Don’t be afraid of your curiosity.” as you say), the advantage of structured learning is that most people when they teach themselves tend to focus on what they like and what is easy - but a structured program of learning forces them to work on things they might have avoided, filling in gaps in knowledge. I saw this soooooooo many times teaching music too, self-taught musicians that were very good at the things they enjoyed but clueless about things that they didn’t like or required a lot of effort.
You give a lot of truck to the idea of pursuing their own ideas. But part of being a dev is learning to follow instructions and meet other people’s specs. Seriously, I meet a lot of devs that just can’t do that. They’re so used to just building what they want and adjusting it as they go to suit their whim or to avoid (probably unconsciously) some technical or algorithmic difficulty they don’t like. But they don’t get to do that on most jobs. I’ve had discussions with junior devs where they try to change the specs just to avoid having to deal with a problem they don’t understand or have to work with a tech they don’t like.
I like the parts about being curious and building things. I like telling people to work on side projects and feed their curiosity. I like telling people that their eventual goal is to just be building sites and apps to solve real world coding problems and force them to learn new libraries.
But I don’t think we need to go to the extreme of telling people to abandon their accounts in respected education sites, delete and (presumably) abandon test projects and just wing-it on their own.
I also feel like you’re arguing against a strawman to some extent. Are people telling learners to not build side projects? Are people telling them not to work towards a goal of building apps and working on real world code? Are there any people telling them to just keep doing algorithm challenges and tutorials forever?
You have a lot of enthusiasm here. I’m just not completely sure what real world actual problem you’re actually arguing against. And you seem unaware that pretty much everything says something similar, albeit not in the same “burn it all to the ground because I say so” fervor.