I'd say three key elements: 1. Found a goal early in life. Comparison: I'm almost 41 and still not sure what I'm passionate at so I dab on a lot of stuffs which can be seen on my github acc, but I never drilled deep in any of those; 2. Be very smart so that you can figure out technical problems without too much frustration; 3. Born at the same time. I'm sure nowadays there are people as smart and focused as those guy…
Same age and similar path here. However, my ultimate conclusion is that I'm not passionate about anything - at least not to the degree required to put in thousands of hours of work required to get good at it. I prefer to dabble.