Programming Doesn't Require Talent or Passion
medium.com
medium.com
The only way to become a good programmer is through hard work and learning new things. To keep on going forward while learning something hard, or while debugging problems that seem impossible, or while making countless mistakes requires passion.
Maybe not passion for programming itself, but for solving problems or creating something from nothing. Without any kind of passion to drive me I'd be burned out and miserable by now.
Yes. Passion is not required, but makes things easier.
Talent is a myth.
Skills come from training.
Training is done if you want or have to do it.
Passion can make you want to train.
And yes, there is a huge amount of programmers who have passion but are simply bad. Because they like to program, but they don't train.
It's like learning new songs or techniques on guitar vs just playing the stuff you already know. The last makes fun in its own, so many people just don't learn to play better.
Training is like eating your vegetables. It's not always fun, but you eventually come to enjoy it - especially when it starts to pay dividends.
Certainly some people are born with much higher and lower levels of intelligence which is the result of genetics and not environment or training. It is generally accepted that 75% of intelligence is inherited and not the result of environment. https://en.wikipedia.org/wiki/Heritability_of_IQ
Talent can be just another word for intelligence, and therefore can play a large role in whether someone is a good programmer, chess player, or many other disciplines. That doesn't mean that someone with higher intelligence/talent doesn't need to train, it means that given an amount of training, someone with significantly higher in intelligence is going to perform better in many areas than someone with lower intelligence.
"I asked a few extremely talented programmers -- programmers so talented that they're blind to how talented they are -- and they said talent doesn't matter."
Programming doesn't require talent or passion. Good programming otoh, requires both plus compassion and a good work ethic.
I have two of the four...
You want to be a good programer, you need a brain, a time investment (a bad work ethic slows this down) and a thick skin. If you can't take criticism of your work, your never going to get better.
Once programing becomes something you can "just do" then your going to need another set of skills: Understanding users and understanding business. Here again the hard work comes into play, and a bit of social skill and empathy.
Tallent and passion are an accelerator. Name someone GREAT in anything and they probably have both of those for what ever it is they are great at.
* Programmers with imposter syndrome
* Programmers who insist they aren't smart (but are pretty darn smart)
* Programmers who've reached the middle of the Dunning-Kruger curve, where one underestimates one's own skill (rather than overestimating it as in the low-experience part of the curve)
* Programmers who sometimes get stumped over something simple (which is all programmers)
* Programmers who will never as be as good as someone else at some aspect or area of programming (which is all programmers)
* Programmers who haven't been programming since childhood
* Programmers who have had other careers and may have other careers again
* Bad programmers (see PHP)
I pay my bills by being a perfectly average software developer. Luckily I was naive enough to dive into it even though I didn't have a CS degree.
I'd hate to think that anyone getting started today would be discouraged by this attitude that programming is a skill bequeathed at birth to a lucky few.
>> I’m not a real programmer. I throw together things until it works then I move on. The real programmers will say “Yeah it works but you’re leaking memory everywhere. Perhaps we should fix that.” I’ll just restart Apache every 10 requests.
At least now I understand why PHP is such a miserable language. It's not incompetence, just apathy.
I believe that talent can be learnt through hard work and an individual is only likely to give forward the amount of hard work needed if they are passionate about it. Also, by hard work I mean coding on your own time, either for work or personal projects.
If I didn't have a passion for software development, I would have stayed in the investment industry where the work is significantly less challenging and the pay is also higher.
Some may call that passion, but it can come from any number of places. It's not very important why you choose this path, or really how you accomplish it, just that the attitude and (to a lesser extent) outcome are present.
I'm sure others have found success by different means, but this has been a common thread in the small part of the programming community that I've observed