Talent and Passion will help you avoid burnout from the development process madness like lack of specs, ever changing specs, unrealistic requirements, and super tight deadlines.
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.
I would instead phrase it as, the following types of programmers are all capable of writing successful software:
* 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
IMO, the main connection between all of these is that humans are really bad at estimating our own skill. And even if we can estimate our own skill, we would need to compare it to a programmer with the same number of hours, rather than to all programmers. (E.g. a programmer doesn't need to understand templates or multithreading in their first week.)
My success at programming congress from a fundamental desire to write better code tomorrow than I did today.
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
It's definitely time to stop deifying programmers, but I'd stop short of saying that it doesn't require talent. Every skill or trade requires some measure of talent.
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.
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.
Passion CAN lead you there, but not necessarily. Training is usually "doing the hard parts", and its easy to just "do the fun parts" even if you are passionate about something.
Skills do require training, but isn't it a mistake to discount "talent" as something that doesn't exist?
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.
Yeah, I think if anything this article showed exactly how much something like "raw talent" matters... I can envision myself saying any of the things said in this article, but haven't created anything noteworthy. I too don't like writing code, am messy, and only write programs to solve problems; and yet, I still have not created the next PHP. There's clearly a difference between me and these people.
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.
I would say programming requires either natural talent or passion. Even so with natural talent and without passion the chances of burnout in programming are high.
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.
>> 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.
17 comments
[ 3.2 ms ] story [ 21.1 ms ] threadThe 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.
* 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)
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
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.
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.
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.
>> 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.