Learn to code has always seemed to me to be something pushed a lot by big tech, and for them the goal was to increase the supply of programmers. This happened, so it worked out for them. That many of these people don't put these skills to use doesn't matter for big tech.
By and large, “learn to code” was never going to produce high value developers. Creative minds create, learn, find a way, with or without on-ramps. A dev that is brought into the craft for a career rather than for a fascination for the the tool is unlikely to do much more than LLM level work.<p>It was an effort by big tech to create low level “coders” and grunt workers to lower the bar and compensation for more valuable personnel.<p>That said, it was great for introducing people that were never going to be professional developers to a powerful productivity multiplier and cognitive toolkit.
I always figured it was about nextgen excel/access type productivity work vs coding.<p>Us elite 10x engineers turn our noses up, but random business users are building workflows and processes in stuff like PowerApps all day.
I found learning to code worthwhile even though I didn't go into tech. It helped me appreciate math and it helped me write little helpful programs for myself when needed.
"Learn to code" was convincing because it came packaged with a kernel of truth, yes you could make it big by learning how to code even though the undertone of the phrase reeked of "Don't be poor", as if it were a simple choice.
I used to be a designer back in the days with no formal education, I learned to code via Action Script 2 and it was fantastic, to be able to add interactivity to design, we created really crazy stuff. So I was already manipulating objects without understanding them.<p>Yet the biggest hurdle for me was actually trying to grasp OOP. I understood what function is, a loop, an condition a variable, a record, but I had very hard time to understand why I needed to write classes, instantiate them, make property private... Now I get it: polymorphism, encapsulation. But still. These are not easy concepts for people with no formal compsci education.<p>SVN, I got it, MYSQL I got it, but OO? fast forward 10 years and I was all about Symfony 2, design patterns, IoC, ...<p>My point being that anybody can learn to code and write programs. I just feel like higher abstraction like OO, while they are certainly elegant and useful for maintaining huge codebases, are not necessarily something people wanting to learn programming should be obsessed about (though obviously, all most successful modern languages tend to be OO now, so they have no choice). I don't think PHP would have been that much of success if it forced OOP everywhere when it started.<p>I mean people programmed without OO for decades before it became really mainstream, therefore most programmers did not have to understand the concepts it carried to work.