Recently on the This Week in Tech podcast, I listened to Jason Calicanis extol the book Talent is Overrated. I picked it up on Audible and listened to it back and forth from work for the past two weeks.
The major premise of the book is that we often grow up with the myth that people either have a talent or they don’t, and that that is what their determines their successful (or its corollary – you must have a great inborn talent and practice). It vigorously tears down this myth in regard to Mozart, and then Tiger Woods. In a nutshell, sustained practice is what determines your level of success. And not just any practice – deliberate practice, which is often not very fun.
It reminded me of “Asians are intrinsically better a math” myth that is debunked in Malcolm Gladwell’s Outliers. A hard work culture that results in lots of hard work and practice in math, a discipline that requires a lot of practice. I have shared this with my daughter many times vis-a-vis math as she studies to get into college and become a doctor. But have I shared it with myself enough?
How many times have you worked with a programming wonderboy and attributed it to a natural talent that very few people have? How often have you let yourself off the hook due to this?
This last year has been an intense year of deliberate practice for me. Outside of work, I spend 15-20 hours a week studying computer science – learning new languages, mastering old ones, new OS’s, techniques, technologies, etc. It has been a lot of deliberate practice, and my skills are far superior to what they were a year ago.
I have also noticed that the more I study, the easier it is to pick up new concepts I come across.
In addition, I have developed an absolute passion for programming that I had not experienced in a while. All of this is leading to more deliberate practice and greater proficiency, as well as widening of the areas I am interested in and studying.
My latest thing is going through the Ruby Quizzes from Pragmatic Programmers. I am not doing it to learn Ruby, but to write better Ruby. The exercise in writing the best Ruby code I can, comparing it to example, and making changes it making me a much better Ruby developer. I am learning about my strengths and weaknesses as a developer, and focusing on improving those weaknesses instead of doing the same old thing over and over.