Before tackling this question, let's take a step back and discuss the topic of prodigies. Because whenever someone thinks that a certain group of individuals are born with superhuman-like talent, they're essentially saying that these special people are prodigies.
But are prodigies real? Let's take a look at one of the most famous prodigies of all time, Mozart. At the age of 5, Mozart was playing concert grade music to the royal family. Surely, this would qualify Mozart as a prodigy, right?
In his book, Ericsson dedicates a full chapter to debunking the concept of prodigies. And in each case, he illustrates that the individuals achieved their respective levels of success through massage amounts of work.
Extending the Mozart case study, let's discuss how this applies to developers. Whenever we see a skilled coder it's easy to think that they were born with the innate ability to build applications and that learning new languages and frameworks comes easy to them.
In Chapter 1, Discovering the Tipping Point for Developers I've discussed the tipping point for developers. The longer I teach and the more I work on my own coding skills, the more I'm convinced that the key to excellence is as straightforward as focused practice.
If you want to become a skilled developer badly enough, and you're willing to:
Before I end this chapter, I want to address a subtle issue that explains the reason of why we, as humans, love the idea of prodigies.
I guess I wasn't born to do be a developer.
I wish I had talent like XYZ programmer, everything seems to come so easy to him.
If you catch yourself with thoughts like these, remind yourself that prodigies aren't real.