It's not bimodal, because there there are 10 different types of people.
The programming talent myth
341–350 of 354 posts
Re: The programming talent myth
#342Earlier quoted context omitted.
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.
If you don't explain a concept adequately you cannot blame someone for not understanding it.
Re: The programming talent myth
#343Earlier quoted context omitted.
I think its a good word for somebody that has a head so full of programming, that it leaks over into other parts of their thinking. Like musicians that see a rainstorm and think of music.
That was too snide of me. But I would be slightly troubled to have such a dream, though as I say I do have programming dreams from time to time.
Re: The programming talent myth
#344Earlier quoted context omitted.
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.
You needed to be able to find a way to relate the machine model to him. There must be some kind of everyday task that could be used as an analogy. Also, because code looks kind of like maths this person was engaging a math mental model. Therefore you needed to say, (1) it's not like math, stop thinking like that and (2) it's like a recipe for a cake where each step must go in a particular order (or whatever analogy w…
Re: The programming talent myth
#345Earlier 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,…
Re: The programming talent myth
#346Earlier quoted context omitted.
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.
But if it does not come (somewhat) naturally, why would you bother to develop it? We get so caught up in the question of "can everyone program" that we forget to ask if everyone should . There's a massive contingency of folks who couldn't care less about breaking down problems into their constituent parts and writing code to solve them. I am a big believer that a person should try many things in varied fields -- math…
If you wanted to learn to play the guitar, learn to take good photos with a nice camera, learn how to decorate your house in a tasteful or fashionable, basically anything you don't have any experience or knowledge in, how do you do it? The people who haven't learned how to learn either simply DON'T do it or they use their social group to find someone to teach them or pay somebody.
You can get pretty far without being able to teach yourself things, but for some skills especially those you have no idea about you have to be able to research and learn yourself.
Re: The programming talent myth
#347Earlier quoted context omitted.
Every human ability has a natural distribution of what for a better word we can call "talent". This is as true of running or tennis as it is of coding. To claim otherwise is to tell people who aren't naturally very good at tennis that they are moral failures for not working hard enough at it, which is insulting and demeaning as well as false. Furthermore, there is evidence that the ability to code is non-linearly dep…
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?
> 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 entertaining, but I think the double hump in first year comes more from Dunning Kruger and compulsory courses than anything else. I've heard of the same kind of distribution in first year biology classes. Even if "true", I don't think it gives us an excuse to anyone we think is insufficienty spectacular out of the industry.
Re: The programming talent myth
#348My 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…
Some teachers in the field think they see bimodality in their classes, though there is some evidence [1] that this is a result of teaching to those with prior experience. One might guess (but cannot assume) that this carries over to the workplace, but also that it could be mitigated by better teaching.
[1]Anthony Robins. Learning edge momentum: A new account of outcomes. Computer Science Education, 20(1):37–71, 2010.
Re: The programming talent myth
#349If we embrace this idea that "it's cool to be okay at these skills"—that being average is fine—it will make art less intimidating for newcomers.
If we embrace this idea that "it's cool to be okay at these skills"—that being average is fine—it will make music less intimidating for newcomers.
If we embrace this idea that "it's cool to be okay at these skills"—that being average is fine—it will make writing less intimidating for newcomers.
If we embrace this idea that "it's cool to be okay at these skills"—that being average is fine—it will make football less intimidating for newcomers.
If we embrace this idea that "it's cool to be okay at these skills"—that being average is fine—it will make architecture less intimidating for newcomers.
There's nothing wrong with a skill that takes time and effort to become good at, and there's no reason to cater to people who aren't at least novices. Well, not unless you're trying to artificially inflate the labor pool so you can pay programmers less.
Re: The programming talent myth
#350My 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…
I agree with you. This article is incredibly, just woefully dead wrong. I have interviewed hundreds of programming candidates. Reviewed thousands of lines of code. Programming is an aptitude that requires passion. The only programmers who are good are the ones who love to do it. If you don't enjoy it, find another profession. Because all the things he said aren't true are. If you don't want to be constantly learning…