As this is an interesting topic to me, how many people have you qualified and what was the ratio of people failing? When I've qualified people, I could make around 25% of people good coders, others I've talked to have similar numbers.
If you have higher numbers, I would be highly interested in the "how".
My only experience is talking to my friends who are either software engineers, or other STEM people, law people or people who study or have studied rather demanding programmes like medicine. Think roughly the top 20% of the population in terms of academic achievement. In my opinion, most of them would be able to learn software development, with proper motivation - i.e. the raw problem solving potential is there, but it's not used often enough.
Funnily enough, those people are exactly the group that doesn't need to pivot their careers.
Even if you can't make a former manufacturing worker into a programmer, you can still try to have more programmers in the next generation.
There's an interesting talk that you might be able to find[1] about abstract reasoning, and how people weren't able to do it just a couple hundred years ago - "what's the difference between a fish and a bird?": "you can eat the fish". No reason why the next generation couldn't be more suited to software engineering jobs than we are now.
1 - I vaguely remember it was something about an old survey of Russian far east villagers (who live(d) as they did hundreds of years ago, for all intents and purposes).
I have been teaching CS classes for 20+ years ... everybody can learn to code, it's just that it takes a different amount of effort for everybody (in a way the same argument as 'offer more pay', in this case, give them more time :)
Interesting, completely different from my teaching and CTO experience. Also interesting it looks very different from German universities, where e.g. in Berlin the majority of students I've interviewed can't do FizzBuzz in an online interview.
How would you assess "good programmer"?
From a very practical point of view, mine would be something like can write a feature on his/her own, gets transactions correct, doesn't create performance bugs that show in live systems, good maintainable, readable, understandable architecture. We definetly could not get everybody on that level even with a lot of mentoring.
We had a CTO meetup recently and mostly everyone shared the same experience.
Coming back, would be interested in "How would you assess good programmer"?
The point is everyone has the potential to learn to code. You don't have to be born a genius or super special to do it. With enough effort and time anyone can pick it up. There's a lot of people who think "Oh, I am not smart enough to learn that" but anyone can provided they put in the time and effort.
There's things that can make it take longer of course. If you're not familiar with computers at all, or have never even owned a computer in your life of course you will take longer to learn. If you are not an analytical person you will have to train your brain. If you're bad at even basic math you'll have to learn that too. You may have to do more learning than other people to learn to code but you can still do it.
Specifically we were talking about "good engineers" and my experience is sadly different from you. Also from my experience >50% of developers are cargo cult developers.
It's more like playing piano, some have the ear for music and some don't (I haven't although I love Mahler ;-) And putting a lot of effort into learning to play piano, many people are not becoming the equivalent of "good engineers".
I'm holding workshops "Coding for managers" to C-level and VCs. I agree with "You don't have to be born a genius or super special to do it", many people are astonished when they write their first code.
Incidently I will give a workshop here inhouse today to non-programmers.
I mean what makes a good engineer that doesn't use cargo cult code? Actual deep understanding of concepts. A lot of people try to fly through the learning process without good study habits so they never really understand it. But proper study habits can be learned too. Obviously someone has to be a motivated learner though, you can't force someone to learn if they don't want to. I -do- see plenty of people without proper motivation do poorly. But anyone who wants to can.
As this is an interesting topic to me, how many people have you qualified and what was the ratio of people failing? When I've qualified people, I could make around 25% of people good coders, others I've talked to have similar numbers.
If you have higher numbers, I would be highly interested in the "how".