Hmm. I'm not so sure about his analogy with writing. Of course, most people who take creative writing don't go on to become great writers; that pretty much goes without saying, most people in any field don't go on to become "great" (the very definition of "great" is that it's exceptional). So that part is a tautology.
Now, I wonder about how many people who go on to be "great writers" received training in writing? Of course, "creative writing" as an academic discipline is rather new, but English has been around as a discipline for years. From a quick poll of the authors mentioned in http://en.wikipedia.org/wiki/20th_century_in_literature and http://en.wikipedia.org/wiki/21st_century_in_literature, almost every one had at least a college education, mostly in the humanities (which generally require a lot of writing, and train you in writing). And most of them have worked at lower-level writing jobs before becoming great writers; copy editors, journalists, corporate writers, and the like. Several of the more recent "great writers" of the late 20th and 21st centuries have indeed gone through creative writing programs.
So his analogy, at least, seems to be false.
How about in writing software? Well, as I mentioned, it's pretty much tautological that no training program can produce entirely great programmers. The purpose of training is to turn lousy programmers into mediocre. Mediocre into passable. Passable into good. Good into very good. And very good into great. You are not likely to train all of your lousy programmers into great; so claiming that training does not produce great programmers is attacking a strawman.
I have seen plenty of people who have gotten a degree in computer science who are lousy programmers. And I have seen great programmers with no formal education. But on the whole, when I've looked at programmers with equivalent amounts of experience, but where one had formal training and the other did not, I would prefer the one who had some formal training. People who have not had formal training tend to not have much experience with reasoning about algorithms, or invariants, that can make their code a lot better.
While its true that nowadays we have many libraries and tools that mean that the average programmer can just use built-in data structures and do a pretty good job, I've seen enough code that was so horribly inefficient that even a little bit of algorithmic analysis upfront would have been helpful. Or a lot of code where someone just hacked away at a problem until they had something that worked, rather than trying to formulate a model that would underly it and keep the code well-organized and understandable.
And among those programmers who are self-taught but great, they have put in deliberate practice, and deliberate study, even if its on their own.
So sure, there are some people who are just untrainable; I've worked with some of them. And there are some people who are naturally brilliant and able to study independently. But all else being equal, I think that deliberate training definitely has value in improving the quality of programmers as a whole; and so yes, training will lead to more great programmers.