Computer science skills roughly follow a sigmoidal curve over time with long tails at the top and bottom. You really do not become useful as a programmer until you hit the hockey stick part of that curve. There is no substitute for time in the field to get to the hockey stick part. The primary advantage of learning programming when you are much younger is that you essentially burn down some of that initial time investment before you are really paying attention to how long it actually takes to be an effective programmer. You do not hit the hockey stick faster, it just seems like it to other people because you started down the path to get there earlier.
This is discouraging to people that start in college or later because there really is no shortcut to time spent doing it. The people that become good programmers faster usually just started earlier, it isn't necessarily that they are naturally more skilled. Nonetheless, the time required to become a good programmer is not that onerous in the big picture. The key is sticking with it even when the payoff seems distant.
As an added comment, people that do well at the top of the hockey stick, where there return on additional investment is diminished, do tend to be the people that started much earlier. Again, this is not due to talent per se but the same people sufficiently obsessed with computer science to teach themselves at a young age also have the obsession to learn and master the more esoteric parts after they've become excellent programmers even though the practical utility is much less in practice.