Live data from Hacker News

The programming talent myth

lwn.net

41–50 of 354 posts

Re: The programming talent myth

#41

That programming is a talent is not a myth, and while my life is currently devoted to developing a platform to encourage more people to learn the basics of computer science, I will certainly never say "anyone can learn how to code" any more than I'd say "anyone can become a concert pianist" or "anyone can become a master painter." Good programming is an art, and requires talent on the part of the programmer. There's…

It's probably also true that not anyone can become a truly capable finish carpenter, but we don't build an elaborate mythology around why that is, and we assume that most people have a pretty good shot at it, if that's what they want to do.

Re: The programming talent myth

#42

That programming is a talent is not a myth, and while my life is currently devoted to developing a platform to encourage more people to learn the basics of computer science, I will certainly never say "anyone can learn how to code" any more than I'd say "anyone can become a concert pianist" or "anyone can become a master painter." Good programming is an art, and requires talent on the part of the programmer. There's…

Yes, probably anyone can become a master painter, but for a person with a disposition and love to painting it's easier to start and to keep going. For someone who loathes painting, it's massively, prohibitively harder.

Success in any craft (and science) in 5% talent / luck and 90% hard work. But the love to the craft / science makes exerting this effort massively more rewarding. I don't think that training oneself to be a master is not attainable for someone who does not have a burning passion for this specific mastery. For instance, a mastery of programming might be a gateway to other things, for which the passion is burning.

The number of things for which ability to code is now a gateway is growing, be it financial modeling, computational chemistry, linguistics, etc.

Also, there's mastery and there is peak achievement. Everyone (except severely mentally disabled) can be taught writing skills and write nice, clean, well-organized texts. But probably not everyone can become Hemingway or Borges or Nabokov.

Equally, everyone can be taught to write nice, clean, well-organized code. But probably not everyone can be a superstar like Knuth or Norvig or Carmack.

So I'd reserve the word "talent" for the highest achievers. Talent is not required to be a decent programmer.

Re: The programming talent myth

#43
post #8

That programming is a talent is not a myth, and while my life is currently devoted to developing a platform to encourage more people to learn the basics of computer science, I will certainly never say "anyone can learn how to code" any more than I'd say "anyone can become a concert pianist" or "anyone can become a master painter." Good programming is an art, and requires talent on the part of the programmer. There's…

to be a great concert pianist it is 5% talent 95% hard hard work... If you dont train your fingers every day and if you dont play for at least 1 hour everyday since your 10 or younger you wont become a great concert pianist... you can say the same for coding. it is 5% talent but the rest is coding coding coding coding... If you have talent the start will be easier but at some point talent wont help anymore just study…

It's not that simple.

So, one of the best illustrations of how talent works is in football placekickers. To make it in the NFL, you have to be able to reliably kick a field goal at X yards. X goes up every so often. Some athletes can do it, some can't. I read a story once about a guy trying to level up his skills to NFL-level. He spent weeks out on the field practicing his kick. He could hit the goal, but not reliably. One yard closer, and every kick sailed right in.

One of his buddies, a minor league baseball pitcher, went out with him one day, asked to give it a shot. On his very first try, he kicked it right in. A pitcher.

To be great, it requires getting out on the frontier of human ability. That frontier often looks very, very weird. One seemingly small additional challenge turns you into a puddle of mush. Getting there requires hard hard work.

But excelling over everyone else who also put in that hard work requires talent, and it's generally a binary proposition. Until it isn't. Once Roger Bannister broke the 4 minute mile, floods of athletes started doing it.

Then the frontier goes somewhere else, the talent required to get there is increased. But one can only put so many hours of their day into an activity. So when you're talking about greatness, talent ultimately matters more than hard work. One should ideally find out as quickly as possible whether one has the talent to make it out to the frontier of human ability. So they don't waste lots of time doing something they can never find greatness doing. The aforementioned aspiring placekicker? Gave it up. Now he's a successful author, real estate investor and football coach.

Re: The programming talent myth

#44
post #13

One the main issues with such collectivist argument is that programming is more than solely 'programming'. A great developer innovates, organizes, leads and motivates other programmers in a way others are not able to do. Kaplan-Moss is a perfect example of it. For example, maybe, it's true that anyone is able to build a CRUD website. However, maybe, not everyone is able to start and manage an open-source project.

Not really, programming is 'solely' programming, as in the ability to generate code that is reliable, readable, well organized, efficient, etc... .

What you are talking about is programmers that in addition to their technical skills have also leadership and management capabilities, which make them absolutely invaluable in a company, but not necessarily more skilled or "talented" at programming than others.

Re: The programming talent myth

#46

I couldn't agree more. When I first started out studying CS I was constantly afraid that I wouldn't be able to cut it because I didn't always immediately see how to solve algorithmic problems or write code that would work. I got bogged down in thinking about programming as a problem of learning syntax, and missed 'obvious' things. I couldn't reverse a string or write FizzBuzz and in fact part of the reason for that w…

On magical ability: there's a joke image going around which tells you how you can easily learn to draw an owl. http://knowyourmeme.com/memes/how-to-draw-an-owl

1. Draw two circles.

2. Draw the rest of the owl.

This is a common problem in art, music, sport and programming - you have an expert trying to teach newbies, and they say "just do this". The newbies have no idea how to begin to do it and the expert knows it so intuitively they cannot break it down further. Everyone ends up staring blankly at one another.

Getting people past that point seems to be a skill of its own. Certainly it's not been easily packaged for programming. Learning involves a lot of guided experimentation, and keeping the student's morale up is just as important as the material itself.

Re: The programming talent myth

#47

That programming is a talent is not a myth, and while my life is currently devoted to developing a platform to encourage more people to learn the basics of computer science, I will certainly never say "anyone can learn how to code" any more than I'd say "anyone can become a concert pianist" or "anyone can become a master painter." Good programming is an art, and requires talent on the part of the programmer. There's…

That's not the point of the article--it's not that there aren't some people with insane intrinsic talent, it's just that the majority of people fall on the below-average - average - above average distribution, and that you can create plenty of great stuff right in the middle.

The other point is that the "concert pianist" and "master painter" are damaging stereotypes for the development industry--almost no one is Mozart, and the persistent and toxic idea that every programmer needs to be Mozart prevents good people from feeling good about their work.

Additionally, he makes "good programming" a bit more nuanced. "Programming" isn't a monolith that you can either be good at or bad at--it's composed of many subcomponents that you can have various competencies in without suddenly passing a magical line from good to bad. I think the argument is quite a sane one--the stereotypes that people fall back on are just that: an attempt to reduce a complex set of conditions into a simple binary.

Re: The programming talent myth

#48
I think the article is a bit simplistic;

There are different types of skills -- and if you can combine them, you are the 10 to 100x times person;

Understand the business problem, and then have enough tech skill to solve it and you can move mountains. Most managers know neither the business domain, nor the technology, which makes it even harder.

Like in everything in life, 90 to 95% is BS.

Re: The programming talent myth

#49
post #11

Earlier quoted context omitted.

Isn't this akin to claiming that drawing is bimodal because most people can't draft a portrait in an interview. Or, worse, that there is an element of gender influence in ability because, "otherwise there would be more female programmers." I certainly agree that there is likely a gulf between good and great. Probably another above it. I'm curious to know what actual evidence there is.

Drawing seems like a great analogy because it definitely is also bimodal. Some people can draft a portrait in an interview and those people would be the ones you would want to hire to be your portrait artists.

This cuts to two important points. First, you will be hiring as if it was bimodal.

The second point, though, is more whether or not it actually is bimodal, or it is just taught into a bimodal distribution? That is, is it intrinsically this way, or is that a biproduct of how society values and teaches it?

Re: The programming talent myth

#50

That programming is a talent is not a myth, and while my life is currently devoted to developing a platform to encourage more people to learn the basics of computer science, I will certainly never say "anyone can learn how to code" any more than I'd say "anyone can become a concert pianist" or "anyone can become a master painter." Good programming is an art, and requires talent on the part of the programmer. There's…

> I will certainly never say "anyone can learn how to code" any more than I'd say "anyone can become a concert pianist" or "anyone can become a master painter."

I disagree respectfully with that statement. First you devote a lot of your time to try to teach peeps about CS and I think that's great. But I'd argue that music and coding, to your comparison are essentially languages (former is a language of rhythm and melody and wielded by a physical/electronic instrument, latter is a language of algorithm and logic and dictated by a PC) and learning them is akin to language acquisition.

So IMHO, there is an illusion of talent when you have native speakers who can speak with perfect accent, grammar and fluidity; just like there are "native" musicians who have perfect pitch, can transcribe and improvise on the fly, play with speed/style. Because they have internalized the grammar, and that language's vocabulary and phrasing are by definition the native's first nature.

But non-native speakers can learn a foreign language albeit very painfully, perhaps with an accent and pauses that they'll never get rid of. But they can still express themselves successfully. Put it simply, I believe anyone can be taught the basic's of web development/CRUD, OOP, basic flow-control just most people can be taught how to play "Chopsticks" or conversational English. The programming equivalent of writing "The Great Gatsby" or composing a sonata, I'll concede that to the real talented.

Post reply on HN