Live data from Hacker News

The programming talent myth

lwn.net

191–200 of 354 posts

Re: The programming talent myth

#191
If you started programming when you were 12 and you've been programming for fun more than 4 hours a day every day since then, you are going to be drastically better than someone who starts programming in their first year of college and only does it to graduate. It feels like a bimodal distribution because you then get both kinds of programmers interviewing for jobs at the same age when they graduate from college and one of them is going to feel drastically different than the other.

Re: The programming talent myth

#192
post #114

Earlier quoted context omitted.

> I will certainly never say "anyone can learn how to code" any more than I'd say "anyone can become a concert pianist" I would certainly say "anyone can learn how to code" in the same way that I would say "anyone can learn how to write", or "anyone can learn to run", or "anyone can learn to play piano". I wouldn't say "anyone can learn to become a concert pianist", in the same way that I wouldn't say "anyone can lea…

>anyone can learn to play piano Is there a belief that anyone can learn to play the piano? I can't. I struggled for many years trying to learn various instruments. I failed miserably no matter how hard I tried. I tried and I tried, I really wanted to be able to play an instrument, any instrument, but I was unable to. I'm not dumb, I am a programmer, but music was just something my brain couldn't comprehend. Of course…

(Apologies, I'm really replying to your post deeper in this thread -- HM isn't giving me a reply there.)

On learning music, I'm wondering if you ever tried to learn to play by ear? If someone beats out a rhythm, can you repeat it?

One of the weird thing about most music education (at least in the US and Canada) is it focuses heavily on learning to read music. But if you poke around the corners of the music world, it turns out that loads of fantastic musicians have never learned to read or write music. One of the features of written music notation is it tries to reduce musical rhythm to math, so it might make sense if both things were weak spots for you.

(What do I mean by "tries to reduce"? Consider, for instance, swing. Lots of times the ratio of duration of the lengths of the two notes in a swung pair varies pretty continuously depending on how fast the music is going.[1] There's really no good way of notating that concept in standard music notation, other than just punting and writing "Swung eighths".)

[1] http://en.wikipedia.org/wiki/Swing_%28jazz_performance_style... starting at "In swing the division is inexact"

Re: The programming talent myth

#193
post #58

My own experience just does not agree with this at all. First, I think we have to distinguish between two ideas here: * The first is the question of whether anyone can learn to program. I think that for the most part everybody can, just like for the most part everybody can learn high school calculus. * The second is the question of whether programming ability is bimodal. This is not related to the first question, and…

From personal experience, speed has very little to do with productivity. Productivity is a function of knowledge and experience. The most productive programmers I've met almost always had enough experience in what not to use. They have a clear focus on the simplicity of their code and their ability to reason about it. They understand the problem and the hardware as well as the language in a very detailed manner. They…

Heh, I know one prime example. A guy with a Masters degree that for some reason really fell in love with linked lists in one of the courses. Ever since it is THE data structure he uses no matter what.

And yes he starts coding away while reading the specs. He gets something up and running quickly, but it is rarely close to the spec and expected solution.

Re: The programming talent myth

#194
post #71

Earlier quoted context omitted.

> Look at fizzbuzz as an obvious, if not entirely complete, example. I am not entirely convinced this is not partially a resume screening and talent pipeline problem. Has anyone ever given Fizzbuzz problems to everyone who applied to a position? If you haven't, have you ever considered that your screening process may be broken in the sense that you are passing too many liars who then bomb the Fizzbuzz portion, but wh…

I find this idea that there are lots of fake programmers kind of nuts. Presumably, when you do a resume sift, you look for people with either a qualification or work experience. Either they somehow faked it through those, or your test is bad. Fizzbuzz actually tests if you know what % does. Is that critical knowledge for a webdev?

I'm generating some HTML. I would like to create a new row on every third element. How might I do this?

Re: The programming talent myth

#195

Earlier quoted context omitted.

> 99% of the software that actually matters - medical devices, air traffic control, credit card processing, phone switches, you name it - is written by people who work 9-5 and don't think about their jobs outside work. I don't believe that, you have some evidence for this claim?

I do, but it is all personal anecdotes from having worked for a large defense contractor for almost ten years and a small one for three. Nobody had "passion". Nobody was doing anything in their spare time programming-related beyond some trivial toying around. Then again, the vast majority were Gen-Xers and the stereotypical "work to live" attitude associated with that generation was very visible. As an aside, I would…

> 99% of the software that actually matters - medical devices, air traffic control, credit card processing, phone switches, you name it - is written by people who work 9-5 and don't think about their jobs outside work.

I don't think anecdotal experience from 2 jobs is a sufficient sample size to make such strong broad statements about a slew of industries.

Re: The programming talent myth

#197
post #124

Earlier quoted context omitted.

> Some folks look at a task like "build a web application" and seize up at enormity of the task. Others, start breaking down the problem into it's component parts. This can be learned by anyone!! This is not a binary idea. The more "complete unknown" concepts in said task the more likely anyone is to seize up - good programmers (or basically any engineer) are just more practiced than most at overcoming a lack of know…

I guess the ability to overcome the urge to seize up is, itself, something one needs to acquire. There is little in my life that I'm afraid to attempt. Investigate a problem and break it down into its component parts, repeat ad nauseam. I know too many folks who just throw their hands up and don't even tackle it. Now you also need to recognize when you're in over your head (in terms of knowledge, in terms of capital,…

It's an attitude, and while definitely harder to develop than technical knowledge, it's not innate ability that one cannot acquire later in life.

On the other hand, some people never develop this in their whole lives.

Re: The programming talent myth

#198
post #162

It seems plausible to me that the distribution of innate programming ability is a bell curve, but the distribution of programming effectiveness is bimodal. The missing ingredient of course is experience and education. It's similar to an athletic skill, such as the high jump. If you plotted the maximum height that a random assortment of individuals could jump, the resulting graph would be bimodal: the top clump would…

That would be true if programming were just one thing.

Sure, so multiply above example by the relevant number of sub-specializations within programming. Same principle holds.

Re: The programming talent myth

#199
post #71

Earlier quoted context omitted.

> Look at fizzbuzz as an obvious, if not entirely complete, example. I am not entirely convinced this is not partially a resume screening and talent pipeline problem. Has anyone ever given Fizzbuzz problems to everyone who applied to a position? If you haven't, have you ever considered that your screening process may be broken in the sense that you are passing too many liars who then bomb the Fizzbuzz portion, but wh…

I find this idea that there are lots of fake programmers kind of nuts. Presumably, when you do a resume sift, you look for people with either a qualification or work experience. Either they somehow faked it through those, or your test is bad. Fizzbuzz actually tests if you know what % does. Is that critical knowledge for a webdev?

> Fizzbuzz actually tests if you know what % does. Is that critical knowledge for a webdev?

The point about fizzbuzz is that some people fail it even when you give them a list of functions and how to use them.

Finding out whether this is relevant to how they do when actually working rather than in a high pressure interview situation is an open question.

Re: The programming talent myth

#200

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 mel…

>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.

Someone who can do web dev/CRUD is employable, someone who can only play chopsticks is not (in fact you wouldn't even listen to them for free).

Even if I agreed with everything else you wrote you brought no reason why people should be able to acquire more proficiency in programming than they can acquire in piano playing.

Also, I think learning how to program/paint/play is nothing like natural language acquisition, from an evolutionary point of view there is no reason why this should be.

Post reply on HN