I don't think we should encourage anyone to do anything. We should
discourage them.
Let me explain...
I take my example from this traditional practice of Rabbis: never accept a convert until they have been turned away twice before. Make them make 3 attempts to show their determination. Why? Because Judaism is hard. If they're not committed, they'll either give up or do just enough to satisify the minimum requirements, wasting everyone's time.
Same thing with programming. Building real applications that deliver sustainable value over time is hard. It pretty much takes all that you've got and can take years to reach excellence.
Every time I see another way to learn how to be a programmer (now that there's money in the game, they seem to be popping up everywhere), I have two immediate reactions: 1. How cool is that. I wish I had that years ago. 2. No! We had enough bad programmers who are doing it for all the wrong reasons.
I believe the most important difference between an excellent programmer and everyone else is not intelligence, education, emotional state, or work ethic (although all of these help). The most important thing is a burning desire to build.
Someone with this burning desire won't not need to be encouraged. You won't be able to stop them. Someone without it would be better off doing something else.
We don't need more programmers. (Only IT execs who akin programmers to envelope stuffers think that.) We need more excellent programmers.
The best way to get more excellent programmers? Discourage everyone so that only the most determined can make it.
Our industry, our craft, and most of all, are code repositories would be much better off.