Slashdot Mirror


Can Anyone Become a Programmer?

another random user writes "A Q&A on Ars Technica asks about an old adage that many programmers stick to: 'It takes a certain type of mind to learn programming, and not everyone can do it.' Users at Stack Exchange are wading in with their answers, but what do Slashdot users think?"

17 of 767 comments (clear)

  1. Answer by Anonymous Coward · · Score: 5, Insightful

    No

    1. Re:Answer by Deep+Esophagus · · Score: 5, Funny

      If you had what it takes to be a real programmer, your answer would have been:
      0

    2. Re:Answer by Kergan · · Score: 5, Funny

      10 as in two, or ten?

    3. Re:Answer by man_of_mr_e · · Score: 5, Insightful

      Anyone can become a programmer. Not everyone can become a GOOD programmer, or even a competent one.

      Even fewer can become an exceptional programmer.

      It's not just practice. I've put far more than the 10,000 hours required to master a skill into learning to play Guitar, but I still suck. The reasons are probably many, but I've also come to understand I'm just not talented in this regard.

      Just like some people are natural artists, some people are natural programmers. Some people aren't natural programmers, but can become proficient with a lot of practice. Some people can't get it not matter how much or how long they practice.

      Some people think logically. Some people think intuitively. The former can become competent programmers. The latter, not so much.. because computer languages just don't make intuitive sense.

      The REALLY good programmers are ones that can both think logically AND intuitively. They can use logic and still intuitively jump to conclusions that would take far longer with logic alone.

      Now, whether or not you can change your way of thinking, or whether or not you are born with a certain way of thinking is unclear. Certainly, I think how a child is raised affects the way they will think as an adult, but it also requires aptitude.

    4. Re:Answer by benlwilson · · Score: 5, Insightful

      There is an important difference between
      - People who have no motivation and don't want to be a programmer so never find out if they're any good at it.
      - People who believe they're not smart enough to do programming.
      - People who don't not have the mental capacity necessary to follow logic.

      I reckon if you took a random sample of say 1000 people and put them through a decent 2 year programming course with the legit promise of 1 million dollars at the end if they pass you would find a pretty large percentage of them would be able to code reasonably by the end and get the money.
      After they got the money however, most of them would go back to their normal jobs since they wouldn't actually enjoy or want to do computer program as a career.

    5. Re:Answer by arth1 · · Score: 5, Insightful

      The mental capacity to follow logic does not mean you can be a good programmer. Codemonkey, perhaps, but not programmer. You need to be innovative too, and be able to make leaps of logic, not just follow logic.

  2. Absolutely not. by mark_reh · · Score: 5, Insightful

    Some people do not have the logical thinking skills that are required to be a successful programmer.

    1. Re:Absolutely not. by Designersa · · Score: 5, Funny

      Most people also want to have romantic relationships in their lives, so becoming a programmer is a very bad choice for them.

    2. Re:Absolutely not. by Designersa · · Score: 5, Informative

      IQ isn't exactly an exact science but as an off hand estimate the average IQ is ~100.

      It's not freaking estimate. The average is fixed at 100. Sigh. And you complain about people being stupid. Sigh. SIGH.

    3. Re:Absolutely not. by AK+Marc · · Score: 5, Informative

      No, it is not. It is arbitrarily stated to be 100, but the re-balance of the IQ is not consistent across populations, nor time. So the defined mean is not absolute.

      Also, if you knew about how they actually set it, they set it based on the middle people, with assumptions about the tails. As there is an absolute minimum, and no maximum, the long tail effect will push the "average" (mean) above 100. If it were actually a true normal curve as asserted, the mean and median would coincide at 100. As it is, the mean is, by definition, above 100, while the median is what's set to 100. But if you set the test based on middle aged white males in the US, then the world average is somewhere around 90-95, as was done with the first tests. 100 is, at best, an estimate, due to the problems of what it is and how it's set.

    4. Re:Absolutely not. by jc42 · · Score: 5, Insightful

      There's something else that's a significant barrier for most people: Pretty much every successful programmer will tell you about their first lesson when trying to write some small programs, and their discovery that no matter how hard they tried, their first efforts always had bugs. They quickly discovered that this was a permanent part of programming, accepted it, and studied debugging techniques.

      But most people can't get past this problem, because they can't admit to themselves that they will never be able to write a significant chunk of code without error. The good programmers are the people who can admit that they're hopelessly fallible, face the fact, and learn how to deal with it.

      Also, the good programmers tend to have a sense of humor about it all. One explanation I heard years ago from someone who was a very good programmer is that programming is actually a sort of computer game. The way the scoring works is that, every time you write something and the computer does what you wanted it to do, you get a point. But when something inside one of the many libraries in the computer finds a way to interpret something you wrote in a way that's different than what you expected, the programmer who wrote that chunk of code gets a point. A good programmer is one who can maintain a score that is usually positive in this game.

      Using this understanding, one way of explaining why I and many other programmers like unix-type systems is that we can usually win at the programming game. Things in such systems tend to (mostly) work the way the documentation says they work -- and the documentation exists. I've worked on a lot of other kinds of computer systems, and on all the others, I constantly lose points to things that work differently than I expected, but often what I expected was just a guess, because the documentation is so sketchy or 17 releases out of date ;-).

      Even this sort of humor is just an acknowledgement of the fact that the deck is stacked against us, we'll never get it right the first try, and the people who built the computers systems we're using like it that way. But I was willing to face my limitations in the face of a game that's biased against me from the start and has grown to be so complex that I know I can't keep track of all the gotchas in my conscious mind. Most people can't admit their own fallibility in this way, so they will never be good programmers.

      --
      Those who do study history are doomed to stand helplessly by while everyone else repeats it.
  3. Re:There is nothing special about programming by Anonymous Coward · · Score: 5, Interesting

    I don't know about sour grapes, since it is a reasonable a priori position, but it is wrong as far as I can tell from the literature.

    Abstract. A test was designed that apparently examined a student’s knowledge of assignment
    and sequence before a first course in programming but in fact was designed to capture their rea-
    soning strategies. An experiment found two distinct populations of students: one could build and
    consistently apply a mental model of program execution; the other appeared either unable to build
    a model or to apply one consistently.
    The first group performed very much better in their end-of-
    course examination than the second in terms of success or failure. The test does not very accurately
    predict levels of performance, but by combining the result of six replications of the experiment,
    five in UK and one in Australia. we show that consistency does have a strong effect on success in
    early learning to program but background programming experience, on the other hand, has little
    or no effect.

  4. Re:You have removed all doubt by fwarren · · Score: 5, Insightful

    Can anyone learn to play the piano? What about playing the piano compently? What about playing it excelently? Can you read sheet music? Can you read sheet music in one key and tranpose it to another while you play? That last part is easy. All you have to do is teach yourself to read sheet music in such a way that you say "Oh this is in the key of C, so this note is the 3rd intreval in C" and tell your hands "you are playing in G, play the third intreval in G".

    It takes dedication, undestandeing, and practice. Oh and natural ability. How good is your ear? How much dexterity do you posess? How well can you listen to other things, read sheet music, conrtol your hands and maintain a tempo? Each person has limits. You might always suck, maybe you can be acceptable. Even then, somone who has many limitations but lots of dedication undertandind and pactice can outdo someone with a natural nack, but does not apply themselves.

    Most people don't apply themselves to learn to play the piano or to program.

    How much self import should someone have who has learned to play the piano, crack a safe, walk a hiwire, dircet air-traffic, put out an oil rig fire, implode a building, cut a diamond or progam have? Be a little nicer to the 80+ percent of us who have invested enough to have the chops to do this kind of work.

    --
    vi + /etc over regedit any day of the week.
  5. Re:There is nothing special about programming by WoLpH · · Score: 5, Insightful

    I agree. Everyone can learn to write basic programs. That isn't to say that everyone can become a good programmer.

  6. Re:Obligatory by synaptik · · Score: 5, Funny

    There are 10 kinds of people in the world. Those who understand binary and those who don't.

    That joke ceased being funny, 10 years ago...

    --
    HSJ$$*&#^!#+++ATH0
    NO CARRIER
  7. Re:There is nothing special about programming by Maxmin · · Score: 5, Funny

    Here's the truth

    "Listen up, maggots."

    Being able to write computer programs does not make you special.

    "You are not special."

    Any idiot can write code.

    "You are not a beautiful or unique snowflake."

    Get over yourself.

    "You're the same decaying organic matter as everything else."

    -narcc (412956)

    -Tyler Durden

    --
    O lord, bless this thy holy hand grenade, that with it thou mayest blow thine enemies to tiny bits, in thy mercy.
  8. Re:There is nothing special about programming by serviscope_minor · · Score: 5, Insightful

    Why would this be different with coding?

    Quite so. This kind of comment seems to be missing from the thread.

    Being good at programming does make you special in as much as you can sell that skill for money, and the better you are the more you can sell it for.

    I don't think there's much wrong with many slashdot residents claiming to be skilled at programming. It is a tech forum after all.

    I claim to be skilled at programming. There's nothing wrong with that and without arrogance I am happy claiming that most people (not most programmers) simply won't be as good as me because I have a natural aptitude and a natural drive which makes putting in the requisite 10,000 hours pretty much effortless.

    But that's OK. I would bet that almost everyone is better than average at something.

    I'm a terrible musician. I'm a terrible writer---I could never write a novel. I would suck as a politician. I can't dance. I would be a terrible administrator, organiser or logistics kind of person. I could never teach school below 16 and even then only good, motivated students, without flipping out or giving up. I probably could run a marathon if I trained, but I would never be good at it. I suck at chess despite a fair amount of playing. I'm a poor actor. I'm bad with kids.

    I can never be good at any of those things above. I lack the innate talent and I lack the ability to make myself work at them enough.

    I don't claim this makes me better than other people (except of course at programming) because clearly programming isn't the be-all and end-all of things.

    So, I think that almost anyone could learn to assemble a few statements of code together. But programming is more than that, and I don't think many people could be programmers, much like most people can't be artists even though splatting down paint from a brush is trivial.

    --
    SJW n. One who posts facts.