That's me on the AUTHORS list for Google Chrome's v8 engine [0] (I ported it, and Node.js, to Solaris if your curious), so I'm at least competent enough to do that.
Anyway, that's proof that it can be done, and at a level that make a difference somewhere. :)
That said, I don't like to code, so maybe that has something to do with why I started late. I was into computers from pre-school onwards, though.
[0] https://code.google.com/p/v8/source/browse/branches/bleeding...
edit - I mean for large numbers. The exceptions are always wonderful to see.
another edit - I also don't think that most programming is about programming, it's about figuring out how things work. Just learning to program doesn't help with programming very much. "Figuring out how things work" needs a name, and that's what needs to be taught.
Anyone can get a job doing coding from learning it at any age.
I don't think that we see a huge number of failed programmers ending up as insurance salesmen or financial advisors because they blew out a knee.
I'm not sure I agree... many people discover things in college that they've never heard of and subsequently major in. But it's at least debatable.