Live data from Hacker News

The Programming Talent Myth (2015)

lwn.net

31–40 of 146 posts

Re: The Programming Talent Myth (2015)

#31
post #5

Earlier quoted context omitted.

Or, employers will start taking the long view and actually start investing in their employees.

That's not an investment, that's giving your money away. Would you spend $X0,000 on something that can walk out the door at any moment?

How good is the documentation and process on your team?

Any place I work, it’s easier to train my replacement than it was to train me. It allows me to pick up new projects or leave for a more interesting opportunity without guilt.

Work yourself out of a job.

It definitely means I’m easier to lay off. But I’ve survived 2 rounds of layoffs before and buddy, if you can figure out how to pay your mortgage without a front row seat to watch a company crumble around you then I highly recommend it. (Also only the 1st round offers a decent severance package, and survivor guilt is no fun).

Personal finances help with that. As do maintaining relationships with people.

Re: The Programming Talent Myth (2015)

#32
"programming" is not one thing.. most comments here fail to make even a basic distinction between [ php forms developers; dev-ops Go pipeline builders; game developers; domain-specific problem solvers] or other. Include in any of those categories varying, more or less GUI design, more or less quality, more or less efficient execution, more or less language mastery, more or less elegant design.

Fish apparently are not good at describing water (!)

Re: The Programming Talent Myth (2015)

#33
post #11

> > The truth is that programming isn't a passion or a talent, it is just a bunch of skills that can be learned. This may be true if your definition of programming is the literal act of writing code / recalling syntax, and learning new tools. Of course, that's not really what programming is. That's the easy part. Programming is about problem solving, code is simply the tool. Critical thinking/problem solving ability,…

Do you mean to say that being able to think in abstractions or keep a lot of state knowledge in short-term memory are skills that cannot be learned? So where did we acquire these skills, if not by learning?

Your calling them "skills" prejudices the answer. My best understanding is that they aren't skills, they are hardwired abilities. My best guess based on research that I've seen on IQ is that about half of the hardwiring is genetic and half is a result of childhood upbringing, but by adulthood they are not readily changed.

That said, we build concrete skills around how to make the best use of those abilities. We build memory skills to be able to quickly bring things out of short term memory back in. We build abstractions and concepts that allow us to efficiently analyze complex situations. We learn to think better with the capacity that we have. However our capacity doesn't seem to be readily changed.

As a concrete anecdotal example, several who have taught CS for decades tell me that most students simply can't "get" pointer arithmetic or recursion. Their brains don't go that way no matter how much they try. People who do master it learn those things fairly quickly and then can move on. The specific abstractions can be taught, the ability to think through those types of abstractions seems innate.

None of this minimizes the effort needed to become a good programmer even if we have the capacity. However the fact that most humans can't become programmers is why there is a job that typically pays 6 figures where many who are successful in it are self-taught with no more than a high school degree or GED.

Re: The Programming Talent Myth (2015)

#34
post #11

> > The truth is that programming isn't a passion or a talent, it is just a bunch of skills that can be learned. This may be true if your definition of programming is the literal act of writing code / recalling syntax, and learning new tools. Of course, that's not really what programming is. That's the easy part. Programming is about problem solving, code is simply the tool. Critical thinking/problem solving ability,…

Do you mean to say that being able to think in abstractions or keep a lot of state knowledge in short-term memory are skills that cannot be learned? So where did we acquire these skills, if not by learning?

I don't think it's nurture v nature, it's both. Anyone can learn, and anyone can get better at something. That does not mean anyone can be Einstein. I could study physics all day and all night and I would never be on his level or the level of his contemporaries.

Re: The Programming Talent Myth (2015)

#35
The only thing stopping someone becoming a programmer is a genuine interest in the craft.

People generally don't get good at things they find boring.

We software developers are not special. We don't have something that non-programmers lack, apart from maybe an inflated sense of self-worth.

Re: The Programming Talent Myth (2015)

#37
post #15

Earlier quoted context omitted.

Critical thinking, logic, empathy, etc. are all skills one can learn . And that's the point.

Eh, I'm not convinced of that. I don't think you can take any person and teach them to think through problems logically. It seems simple enough, and you can certainly make them _better_ at it, but I really do believe we all have upper limits on our potential.

Isn’t this basically what is used in behavioral therapy? Teaching people to think and approach emotional things reasonably?

Re: The Programming Talent Myth (2015)

#38
post #12

Earlier quoted context omitted.

Did you ever consider that the employee might be a smidge less likely to walk out the door if the employer invested in him or her, recognized his or her achievements in a timely manner with responsibility and authority (promotion) and compensated him or her fairly? Seems to me employees "are likely to walk out the door" mainly because employers view them as expendible expenses and not humans trading labor for somethi…

Sure, but that still doesn't make it an investment, it just makes it a less risky bet. And betting on people being high-minded over being selfish has always been a bad one.

Are you really equating company loyalty with high-mindedness here?

Re: The Programming Talent Myth (2015)

#39

> The truth is that programming isn't a passion or a talent, it is just a bunch of skills that can be learned. Aren't these all talents? * learning many things * learning difficult things * recalling things you've learned when you need them If something is a skill, one would expect all engineers to get better at it with practice. But there are many abilities in engineers that don't seem to work that way.

Learning is a skill you can get better at, so it's just a dependency. Learning is not an unchangeable talent. Some books that will help you learn better: * Power of Intuition, about naturalistic decision making - https://www.amazon.com/Power-Intuition-Feelings-Better-Decis... * How Learning Works - https://www.amazon.com/How-Learning-Works-Research-Based-Pri... (my review: https://codewithoutrules.com/2016/03/19/how-…

Wether or not a trait is mutable is different from the degree to which that trait is mutable. The distinction is important. Most breeds of dog can be trained to learn some simple commands, but good luck getting some mutt from the pound to herd sheep like a border collie.

Here's a video of border collies in action: https://www.youtube.com/watch?v=bpjP3mxv21s

Re: The Programming Talent Myth (2015)

#40
post #15

Earlier quoted context omitted.

Critical thinking, logic, empathy, etc. are all skills one can learn . And that's the point.

Eh, I'm not convinced of that. I don't think you can take any person and teach them to think through problems logically. It seems simple enough, and you can certainly make them _better_ at it, but I really do believe we all have upper limits on our potential.

I agree that there are upper limits on a given individual's potential, but I think you are being too absolutist in language. I'm not sure that you can take ANY person and teach them any given thing. That's just silly. I think the powerful point is that there are and needs to be average programmers, and we can teach a subset of people to be that. There is evidence, even if anecdotally, that many are being dissuaded from the field due to a toxic belief that you are either born with some amazing ability to do the work and that it can't be taught, or you suck because you just "don't get it". Very damaging philosophy. I think we could teach certain people to do the work, maybe not everyone, but more than currently. There are a lot of mundane jobs in programming that do not need super high level abstraction and critical thinking skills.
Post reply on HN