I also see many entrepreneurs come up with companies that combine programming with their primary area of expertise. I even see doctors who write programs to help do their job.
I just don't think its an angle that initiatives examine.
A dual interest person can fall back onto their comp-sci skills they have if they cannot find work in their primary interest as well.
All of that seems fine to me - it may be worth considering that when coding is integrated into your worldview as just one tool among many, not everyone will pick it out as the tool they want to dedicate their life to. And based on how many angry, cynical, burnt-out coders exist in our industry... the fact that some young people are not pursuing it may be a healthy choice.
For me coding is not a love story. It can be fun bit mostly it takes absurd amounts of time, time I would rather spend doing something fun and exciting. No, living in your head creating imaginary worlds isn't what I consider being fun.
Music creation, DJing, dancing, hanging out with people, traveling is more fun.
Coding is a means to an end, something to get me closer to the goal of not having to work because my income comes passively.
It's not a good life. Staring at the screen for hours days weeks years. It's imitation of life in every sense. Slavery even.
Also why do you care if people decide to be coders? Let them do what makes them happy
Learning to program it's like learning to speak a new language. And learning a new language is boring when all you can do is completing some monotonous exercises with no evident real life use.
It's 2022, computers have become way bigger and complex since 1980, and "look this device can prompt for a number in the terminal and multiply it!" Does not excite everyone anymore.
Also, the distance from "hello world" to "use your coding skills creatively" is really high, and a lot of people just bail before they get to that goal.
We should play more with integrated circuits, where a few lines in C, Go or Rust can generate something tangible, ann slowly raise the level to effective modern code.
Humans learn through experience, with actions and with the expectation of some feedback with results. Solving a buttloads of mindless exercises that have no distinctive purpose is not a good way of learning
As some comments mention - one of the biggest AHA moments to have is - learning programming must occur in parallel with a goal. Anecdote time - i'm an obsessive music collector, and not long ago discovered mp3tag's regex functions. Mind...blown - i read the tables describing the regex actions many times - it all felt like gibberish - kept trying....and BAM! it clicked. I can almost guarantee learning anything like this without the strong motivation to avoid manual retagging - would not nearly work as well.
Contrast the above - with my current position - working my way - incredibly slowly through Harvard's CS50 - nested for loops make my brain spin out. But just recently - i kept looking for intro explanations...and found a flow chart. With a flow chart in hand, looking at the sample code in one of the code examples made so much more sense.
There is such a plethora of learning materials out there in regards to code - i feel that there is gradually more improvement in clarity of explanation for people like myself (who dont "just pick it up").
The area I feel needs the most work is small exercises which build on the exercise before it. Please no more cryptic puzzles (python challenge was actually super fun - but the concept behind just randomly googling - VS - applying something i've learnt...seems off?)
I would love something like "maths exercises" but for code. perhaps i've not looked hard enough?
Is this what we want to do?
With things like GitHub CoPilot, numerous no-code solutions, coding being codified, etc. how much skill and demand is there looking ahead?
I wonder if the future is as bright as the pass. Perhaps it's just me.
As a developer who enjoys being paid a butt-load, I propose we raise the bar even higher.