In talking with development students, I’ve discovered one topic that constantly arises in conversation. That topic is the misconceived notion that great developers are born with a special programming gene.
So, let’s walk through the question: Are developers born or made?
Before tackling this question, let’s take a step back and discuss the topic of prodigies.
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 for the royal family. Surely, this would qualify him as a prodigy, right?
In his book Peak: Secrets from the New Science of Expertise, researcher Anders Ericsson dispels a number of commonly held prodigy myths. He had this to say about Mozart:
“If you compare the kind of music pieces that Mozart can play at various ages to today’s Suzuki-trained children, he is not exceptional. If anything, he’s relatively average.”
Ericsson dedicates a full chapter to debunking the concept of prodigies. In each case, he illustrates that individuals achieved their respective levels of success through massive 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.
However, nothing could be further from the truth. Through the years, I’ve known more developers than I can count, and I have yet to find a single one that was a born developer.
I know programmers that work for Google and Amazon, as well as computer science professors who specialize in research that boggles my mind. And as amazing as these individuals are, each one of them became a great developer through hard work and dedication.
In past guides, 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:
Then one day, everything will click, and you’ll realize that you’ve become a professional programmer.
Before I end this guide, I want to address a subtle issue that explains why we, as humans, love the idea of prodigies.
The concept of prodigies—individuals born with a natural ability to be successful at a certain skill, such as sports, math, or programming—can be detrimental to our own success.
This belief is dangerous because it causes our minds to have negative responses to failure.
For example, if you’re an aspiring developer who thinks that programmers are born and not made, when you come across a bug that you can’t seem to figure out or a feature you can’t build, your first reaction might be:
If you catch yourself with thoughts like these, remind yourself that prodigies aren’t real. Developers achieve greatness through smart work and perseverance.
The 10,000-hour rule from The Tipping Point book by Malcolm Gladwell may not be exactly accurate. However, it does provide a general guide for how much work is required to reach a level of mastery.
If you feel like you weren’t born with the ‘developer gene,’ go and knock out 10,000 hours of focused practice on building applications.
I think you’ll be pleasantly surprised to find that you’ll become so good that other people will look at you, and they’ll think…
That you were just born this way.