Many would-be software developers are scared away from the profession, because of the programmer talent myth. What exactly do I mean? There’s a popular notion that you need to have some sort of “natural talent” with computers to become a software developer. I believe this popular concept is wrong and is harmful to our industry and the economy.
Skills are Learned
My 13 year old daughter is an artist. Her skills are pretty amazing, especially considering her age. Sometimes family and friends comment on her artwork, and it’s usually something like “Wow, she has a lot of talent”, as if she won some sort of artistic talent lottery. This default mindset is a real disservice to her and other aspiring artists. I’d estimate she practices 20+ hours each week. She creates good art because she’s gained skills, she's gained skills from studying and practicing. People assume, because of her young age, that she must just be talented.
Often you’ll see programmers that are quite good, at a very young age. People who see these, young skilled, programmers often assume some people are just naturally “talented” in computers, as if it's something you're born with. Actually talented people are rare, the natural talent of programmers falls along a normal distribution curve, just like every other profession. What is often different among software developers, is that many of them start at a young age, and many of them put in 10,000+ hour, mastering their craft by the time they are in their early 20's, if not sooner. Don’t assume someone is just naturally talented at something because they are good at a young age.
It’s really easy to hear a great meetup talk, or read an awesome blog post and compare yourself to that person. Keep in mind, you’re comparing that person at their best to the normal you, which isn’t a fair comparison. Those people who impress you are just regular humans, who have knowledge gaps, make mistakes, forget things and feel stupid at times. You’re just seeing their "A game". You could be more skilled than them, they might just be good at talks or writing blogs. Even if they are more skilled than you, it’s likely because they’ve had more deliberate, focused practice than you. Don’t try to measure yourself against these people, it's inaccurate and a waste of time. The person you should be measuring yourself against, is yourself of last week, last month and last year.
Choosing Your Mindset
Carol Dweck, a popular psychologist suggests that people generally adopt one of two differing mindsets: the fixed mindset and the growth mindset. People who adopt the fixed mindset generally believe that their personal qualities are inherited and fixed “in stone”. People with the growth mindset believe their qualities can be cultivated through effort. Whichever mindset you adopt will probably prove true for you, so choose wisely.
A growth mindset offers unlimited potential - Carol Dweck
Talent and Hard work are Rare, Use That to your Advantage
Natural talent is rare, just look at a talent distribution curve. Odds are your talent is somewhere around the average, but that doesn’t mean you’ll have limited success. A person of average talent, who adopts a growth mindset and dedicates themselves to deliberate, quality practice, will generally be more successful than those who have more “natural” talent. How is that possible? Because Hard Work, or deliberate quality practice is also pretty rare, so chances are people with more talent than you won’t be working very hard.
Talent is Overrated
If you're intellectually interested in programming, you should pursue it. Don’t be scared off. Talent is overrated, skills are what matter . Skills are learned from large amounts of deliberate, quality practice. So if you want to be a programmer, become a programmer.
Always do what you are afraid to do. - Ralph Waldo Emerson