Learning to program most definitely doesn't take 10 years of self-study. Someone of reasonable intelligence and enough disciple can learn enough in about a year to become reasonable useful for the average company. Does that person still have a lot to learn. Sure, but that can be learned at the job.
Or at some companies perhaps being a whiteboard genius helps. But the output of those companies is ... mixed.