Live data from Hacker News

The programming talent myth

lwn.net

351–354 of 354 posts

Re: The programming talent myth

#351
Saying that there is a programming skill is a little like saying that someone has a "sports" skill. There are many different skills of programming that are very different, and except some basic "can do fizzbuzz" level, there are miles apart skillsets, where you can be great in one context but bad in another. a few examples

- fast hacking / programming contest / hackathon skills - write correct solution fast, not caring about how the code looks or be read later. (great for contests, bad if you do it also at work, code is read more than written bla bla)

- software engineering / organization skills - for 99% of enterprise software development, and large chunk of CRUD based web development, you need to be organized, and clean, there are no "algorithms" to implement, you just need to have good concept of MVC, separation of concerns, write methods that do just one thing, meaningful variable names. in these settings, most of the code you write is simpler than even a fizzbuzz, you get data from a form, validate it, save it, do some business logic, generate reports, that's it. This needs a whole lot different skillset than what a "top talent X10 programmer" would offer. This needs planning, design, patience, not trying to change the world, being OK with writing Java annotations, being just a regular professional software grunt.

- Library and API designers - there is a great skillset of writing a library that has self explanatory interface, good documentation, and is just a fun to use. People who know how to build a DSL or an API that makes sense, is a whole different skillset than the above 2, and a fizzbuzz test will not be the one that will let that diamond shine in an interview.

Programming is not just one skillset just like "music" or "sports" or "writing" is not a single skillset.

You can be a great comic actor but a lousy dramatic one, you can be a great sports writer but never be able to get a novel published. you can be a great golf player but never be able to win your 10 year old kid playing soccer no matter what you try.

Perhaps FizzBuzz is the common denominator, e.g. you can say that if someone can't play a C major chord on a piano, they are not going to be a pro musician, but anything beyond that, anything that tries to test "programming skill" beyond that level is not far from auditioning a violinist on a chelo just because both have strings.

Re: The programming talent myth

#352
post #347
post #321

Earlier quoted context omitted.

Those statistics on marks in a classroom are the first hard stats I've heard of indicating a bimodal distribution in coding skill. I have no idea where they come from though. Do you have any links to sources?

The only numbers I've seen come from the Separating Programming Sheep From Non-Programming Goats papers by Saeed Dehnadi and Richard Bornat: > We have discovered a test which divides programming sheep from non-programming goats. This test predicts ability to program with very high accuracy before the subjects have ever seen a program or a programming language. http://www.eis.mdx.ac.uk/research/PhDArea/saeed/ It's ent…

Dehnadi and Bornat later walked back their claims.

http://retractionwatch.com/2014/07/18/the-camel-doesnt-have-...

Re: The programming talent myth

#353

I think Jacob is engaging in sloppy thinking. Like everything relating to biology (in particular, human beings) there are two components. One is nature. One is nurture. Every single activity in life will require both components to come together. Everyone will have different aspects and amounts of these components. It reminds me of Jane Elliot's teachings. It's not that 'there is no difference'. There is definitely a…

It is a myth though, regardless of whether you, personally, believe it to be or not. It's based almost entirely on a very old study, conducted in a very limited environment, cited by Fred Brooks in “The Mythical Man Month” and then taken further and further out of context. As Jacob points out in his talk, we don’t really have any compelling reason to believe we know how to measure programming productivity, so we don’t have good data. In the absence of good data, we have to assume that the null hypothesis is that programming is like literally every other skill out there. And, no, there are not ”10x atheletes”, we know what the skill distribution is for atheletes, there is a tremendous amount of publicly available statistical data available on athletes, and, again, as Jacob points out in his talk, their skills fall on a normal distribution just like every other kind of skill out there.

So, there are outliers, which is what I think you mean by "10x atheletes", but those outliers are just that: outliers. And we do not have good metrics for determining who they are in the software industry, currently.

Re: The programming talent myth

#354
post #298

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. Not really. E.g. there's no ordering in function composition that isn't also in high school math. Also, you shouldn't depend on e.g. maps processing elements in a given order. My impression is that statement ordering is easier for mediocre but competent programmers than it is for excellent programmers. The reason is that writing correct imperative code is non-trivial, but writ…

Confused. Array iteration is sequential, and common in every functional language, right?
Post reply on HN