Are you good at programming? You probably practice a lot!
What makes a great programmer? I would have said training, motivation, a good and efficient framework for continuous learning from others such as reading blogs like R-bloggers (if you are an R programmer). Well, on the Occupational Digest blog they commented a paper where they found that the best predictor is programming knowledge. This is acquired through years of practice and makes sense. After all, even if you are a gifted person for something, if you don’t practice and learn from others you won’t get anywhere. So, welcome to school for life! :P