Age 8: Started learning 3D software and CAD.
Age 16: Got a job doing CNC programming for an aerospace mold tooling company.
Age 17: Got my first web developer job.
Age 18: Got my second web developer job.
On every team I've worked with, I've always been the youngest. I learn very quickly.
I want to be one of the best programmers in the world, but I have a long way to go.
What is the best use of my time outside of work?
What are some strategies for success?
I want to push my limits as far as possible.
One thing that's common to people who are unreasonably great at something is that they do it a lot. Like, an order of magnitude more than what a normal person would consider reasonable. For Carmack that was pumping out a new game every week when he was working for a mail-order software company before he became famous. Everyone talks about how the Beatles played tons and tons of shows all over Germany before they made it big. Great comedians go on the road and hone their acts in thousands of clubs until they have something that can be a comedy special.
Quantity has a quality all its own and you have to just experience a lot of variations and run into a lot of different situations and try lots of different things to become really good.
Note, as others have pointed out, this may not be the same thing as having a happy and fulfilling life and the things you want to spend your time doing might change as you get older, but also, they might not. Best of luck.