I started early (like 8 or 10), but the velocity of my learning curve was very low back then. That's the point I want to make (apart from the you-are-never-too-late point others have made already): at 18, your learning skills are so much better that you'll catch up quite well.
The above is the general case, I think, for learning to code. If you're good at chess, sports, whatever, and you're lucky, you'll get help that works as an 'external learning curve velocity enhancer'. The same thing would account for young programmers with proper guidance, but the matter of fact is: most of us didn't have that (I even didn't have internet, I had to get books from the library and cherished a floppy disk containing a plethora of technical game programming articles).
I also see this in a different field I'm active in, as a volunteer at the local life saving / swimming club. Those that start at 6 take like 8-10 years to learn most of the material. Those that come in at 16 or 18 can catch up in a year or two, whilst well motivated.
The above is the general case, I think, for learning to code. If you're good at chess, sports, whatever, and you're lucky, you'll get help that works as an 'external learning curve velocity enhancer'. The same thing would account for young programmers with proper guidance, but the matter of fact is: most of us didn't have that (I even didn't have internet, I had to get books from the library and cherished a floppy disk containing a plethora of technical game programming articles).
I also see this in a different field I'm active in, as a volunteer at the local life saving / swimming club. Those that start at 6 take like 8-10 years to learn most of the material. Those that come in at 16 or 18 can catch up in a year or two, whilst well motivated.