I’ve recently finished reading, The Talent Code by Daniel Coyle.
Here’s my summary of the key points and how I think we could use these in software development.
I’m a definite subscriber to the idea that the best software developers are 10x more productive than the worst. I’ve seen this in practice with the people I’ve worked with and there are numerous studies that have produced the same results. The interesting thing about The Talent Code is that it offers an explanation and to how some people can be so much more productive than others.
I’m a big fan of programmers who started programming early and the idea put forward by Daniel Coyle that it takes 10,000 hours of deep practice to become world class would support that reasoning. Note that 10,000 hours on its own is not enough, it has to be deep practice, and to maintain that practice requires ignition (a spark to light the desire to succeed) and master coaching.
Rather than just accepting that some people have a talent for programming, Coyle provides a blue print for gaining that talent that doesn’t require an innate ability to start with.
Some of the current practices that I see within the development community can be directly linked to the talent code. Coding dojos, and Coding katas both promote the idea of deep practice. Not just slinging together the quickest solution to a problem to get the code out the door and the boss off your back, but really thinking about the problem and pushing your brain to grow more talent.
Sharing the experience, and being inspired by great speakers is a way to ignite the desire and maintain the will to keep learning and practicing.
Agile practices such as pair programming offer the opportunity to examine the work of your pair and really think about the problem, what you are producing together, and ultimately learn from the experience. In short, they offer the chance to grow myelin, the secret ingredient to talent.
Retrospectives also invite learning and continual improvement. Rather than repeating the same mistakes, retrospectives offer the chance to suggest change, try new things, practice better and therefore grow more talent.
So whatever you are doing and whatever your skill level, if you want to improve, you should be doing something you enjoy, you should do it a lot, but most importantly you should really think about what you are doing.