This makes me think of Peter Norvig's "Teach Yourself Programming in Ten Years". http://norvig.com/21-days.html
Personally if you do four years as a CS major but program on the side or actively practice programming it's more like 5-6 years. That gives you 4 years, where you go out and get programming work experience, in the real world. In that situation, 10 years isn't much.
Most people ever become genius in their own chosen field let alone they can master 3 or 4 different fields. Not to say it's not possible but highly unlikely.