What makes a great software engineer?
The role of deliberate practice in the acquisition of expert performance