Live data from Hacker News

The programming talent myth

lwn.net

271–280 of 354 posts

Re: The programming talent myth

#271

>But that would mean that programming skill is somehow distributed on a U-shaped curve. Most people are at one end or the other, which doesn't make much sense. But this is exactly the case! It's why Fizz Buzz exists: to determine if you're on the left leg or the right of the U-curve. (Or similar curve wherein people "suck at programming" or that they "rock at programming", without leaving any room for those in betwee…

FizzBuzz is a test, not the results. If you can point to a study that has administered it to a well selected group representative of professional software engineers that displays a bi-modal distribution, then I'll accept that as evidence. Until then, it's just anecdotal data about the quality of a self-selected group attempting to get a well paid job.

Fizz Buzz is a pass/fail test that wouldn't even exist if the pool being tested weren't bimodal. Why would anyone administer the Fizz Buzz test to a normal distribution of programming skills, for example? (I mean https://www.google.com/search?q=normal+distribution)

It would make no sense - below what part of the normal curve of programmers would you put someone who failed at FizzBuzz (cannot code it)?

In my interpretation it's because programming skill doesn't follow a normal (bell-shaped) distribution, but is bimodal. Which is why Fizz Buzz exists, to tell you quickly which pool (left or right) your candidate is from.

Either that or we have a completely different interpretation of why Fizz Buzz exists or what it means. Why do you think it exists?

Re: The programming talent myth

#272

> If the only options are to be amazing or terrible, it leads people to believe they must be passionate about their career, that they must think about programming every waking moment of their life. If they take their eye off the ball even for a minute, they will slide right from amazing to terrible again. That leads people to be working crazy hours at work, to be constantly studying programming topics on their own ti…

>In my experience people really are either amazing or terrible and those that are amazing are super passionate about programming, think about it and study it all the time...

I enjoy programming but I don't spend every waking second thinking about it. If that makes me a terrible programmer then thats fine with me. I'd rather be happy than be killing myself working 16 hours a day like some people like to glorify.

Re: The programming talent myth

#273
the comments on this are a fascinating read. who knew programmers had such a deep belief that their ability is rooted in almost magical notions of talent, art, creativity and is not just another skill you can learn.

it is definitely a satisfying notion to think of your activity as a consequence of a god given gift, rather than just a job, but as engineers i think we should do better than relying on anecdotes and beliefs to understand what it is we are doing it.

Re: The programming talent myth

#274
post #243

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…

This seems like a form of elitism very specific to programming. I graduated with a degree in Electrical Engineering, and barely did programming until I began my first job out of college. In many people in the programming space, I see contempt that coding was something I didn't start until later in life. When I interviewed for Electrical Engineering positions, no one ever scoffed at me, "you haven't been computing the…

It's specific to programming, but not exclusively to programming; there are a few other areas where "you haven't been doing this since you could walk? Too late to be truly good":

- Mathematics (at the extreme high levels)

- Musical composition

- Classical music performance

- Painting/Visual arts

- Speaking most languages

- Jedi Knight

Re: The programming talent myth

#275

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…

a) Half-life of technologies is very short.

b) Instead of 10 years experience, maybe someone has 10x 1-year experience.

c) To learn theory, data structures, etc maybe university/company provides a better environment than your PSTN connection on the internet (at least that's what we had when I was 12).

d) When you get hired in a new environment, almost certainly you will face a codebase that you were not aware of. What mostly matters is your ability to generalize your experience.

Because of at least (a) - (d), the condition in the first part of your if statement, does not necessarily imply the second part.

Re: The programming talent myth

#276

Earlier quoted context omitted.

Then, there are those profoundly incapable of programming. My high school classmate who seemed to be getting it, but on the 1st assignment came to me and asked for help. It became clear he had no concept of the ordering of statement. He wrote them like math formulas, and didn't understand that they got executed in order. Fast-forward 3 years; both of us in college. He had to take a programming class again. I met him…

> It became clear he had no concept of the ordering of statement. He wrote them like math formulas, and didn't understand that they got executed in order. That's not an ability issue, just a knowledge issue. Coming from math, you'd assume there is no evaluation order.

I think the point of the statement was to show it was a ability issue because knowledge can be acquired and presumably abilities cannot. So the second time the friend asked for help with the same issues it should not have have happened if missing knowledge were the only issue.

I was not there and my opinion on this issue is complex, so I will just step out now.

Re: The programming talent myth

#277
post #269

Earlier quoted context omitted.

Cute, but not quite. Those are still executed in some order. Not like algebra which is a set of expressions that are all true over all time.

Those are still executed in some order. in all languages? i don't think so. def x = y where y = a * b a = 21 b = x

in all non-declarative languages.

Re: The programming talent myth

#278

Earlier quoted context omitted.

Then, there are those profoundly incapable of programming. My high school classmate who seemed to be getting it, but on the 1st assignment came to me and asked for help. It became clear he had no concept of the ordering of statement. He wrote them like math formulas, and didn't understand that they got executed in order. Fast-forward 3 years; both of us in college. He had to take a programming class again. I met him…

> Some people are tone-deaf too, and will never sing nor play an instrument. That's quite a telling statement. Actually, there are very, very few people who are _truly_ tone deaf. Since intonation is used extensively in nearly all human languages, anyone who truly is 'tone deaf' will have quite an issue in communication. Nearly all the time (and tbh I think it probably is just all the time), they actually just have a…

This is ideology speaking, not experience. Whether you want to call a person tone-deaf or just 90% tone-deaf is somewhat irrelevant. A whole lot of people will never be able to learn to play an instrument no matter what they do.

Re: The programming talent myth

#279
post #261

Earlier quoted context omitted.

I don't think it's elitism, it's just that programming offers a unique opportunity to do this stuff from a very early age from home and the end results is some people end up being very good at it "early" in their career. Unfortunately you couldn't start "computing the impulse response of a filter" when you were 12 but if you could, and you continued to practice it daily, you would be very capable compared to people w…

You're demonstrating the exact syndrome the story discusses: conflating the ability to write code "well" with all the other things one does as a software engineer. The article goes into more detail, but I do a fair number of things every day that do not involve typing in code on a keyboard. Going further, I would argue that most people I know who've been programming since they were 12 weren't even writing very good c…

This - that it's extremely rare to even be able to think the right things to produce maintainable code at that age - is why I've long thought that 12-15 is the right age to teach assembly language.

At that age, your code is going to be a mess no matter what tools you use, so you might as well have an excuse.

(Seriously: there's some brain development that doesn't happen until the close of puberty, and I believe that some of that is necessary for most people to plan and write maintainable code)

Re: The programming talent myth

#280

Earlier quoted context omitted.

Then, there are those profoundly incapable of programming. My high school classmate who seemed to be getting it, but on the 1st assignment came to me and asked for help. It became clear he had no concept of the ordering of statement. He wrote them like math formulas, and didn't understand that they got executed in order. Fast-forward 3 years; both of us in college. He had to take a programming class again. I met him…

> It became clear he had no concept of the ordering of statement. He wrote them like math formulas, and didn't understand that they got executed in order. That's not an ability issue, just a knowledge issue. Coming from math, you'd assume there is no evaluation order.

squeaky has it exactly right. No matter how many times I said "they get executed in order. There is a state to the computer, and these statements modify that state sequentially", he just wrote random statements down in no particular order. I never saw such profound inability to understand programming.
Post reply on HN