Earlier quoted context omitted.
Doesn't this go against the 10,000 hours thing? Sure, taking someone who is smarter and has more experience than other students and putting them in front of a computer will yield these results. However, someone who is solely smarter and does not normally program will not likely produce good code. Expertise is much more about practice than raw ability. Most of the really good programmers out there are really good beca…
Have you ever worked with someone who is more than one standard deviation smarter than you are? I highly recommend the experience. I have watched people go from novice to better than I am in just a few years, and I have rather a lot more than 10,000 hours in my field. Hell, I have at least that much in my sub-specialization. Mentoring people, especially if you can mentor people who end up learning faster than you did…
You only learn from encountering situations in which learning is necessary. I think the smarter person encounters these learning experiences more quickly, but people don't instantly become great at something.