Live data from Hacker News

The Programming Talent Myth (2015)

lwn.net

61–70 of 146 posts

Re: The Programming Talent Myth (2015)

#61
post #33

Earlier quoted context omitted.

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…

> several who have taught CS for decades tell me that most students simply can't "get" pointer arithmetic or recursion

Or maybe they're just bad teachers.

Re: The Programming Talent Myth (2015)

#62
I understand why it's important to emphasize that programming skills can be learned and that we aren't just a bunch of god-given talents. But how far are we going to take this? Surely we can admit that for any given set of skills some people are going to take to it more readily than others, and we can't account for the difference simply in terms of amount of practice or hard work. The top mathematicians or violin players or whatever in the world probably do work harder than others in their field, but that's not the same as saying that the difference between them and others is simply the amount of work/practice.

Re: The Programming Talent Myth (2015)

#63
post #38

Earlier quoted context omitted.

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

Well, yeah, that's what it means, right? If you pay me $50k per year and invest $20k of company resources to train me, and the second my training's up, I jump ship to a company promising to pay me $60k, wouldn't you feel ripped off? Nobody these days would turn down a $10k raise out of company loyalty. They might for other reasons, but loyalty is absolutely not one of them anymore.

if completeting the training makes someone worth 10k more then give them that raise.

Re: The Programming Talent Myth (2015)

#64

Earlier quoted context omitted.

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.

all investments carry risks. e.g. if a company invests in a building for their office, there's always a risk that building will incur excessive maintenance expenses, become unusable because of some calamity, or that the location around the building will become a bad neighborhood and make that building a lot less useful. i think a company can invest in, say, teaching their employees a valuable skill and then make mone…

You can insure against risks. You can't against bets. Good luck getting an insurance company to sell you a policy covering training cost recovery in the event of employee-initiated turnover.

Re: The Programming Talent Myth (2015)

#65
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,…

> We wouldn't judge a carpenter on e.g. his/her ability to use a saw

We absolutely should because it's a fundamental aspect of doing their job. The difference between me and a professional carpenter is literally the ability to use tools effectively to build an item. I know whether to use a dovetail or dowel joint as well as any professional, but I guarantee the pro will achieve a better finish in much less time.

It's like theoretical CS vs. real-world programming. It's good to know sorting strategies and whatnot, but knowing how to use the tools is what gets stuff done.

Re: The Programming Talent Myth (2015)

#66

> 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-…

Leaning how to pass exams can certainly be done. Weather say the essay part of the SAT (producing a formulaic essay using the approved pattern) is actually much use, in deciding if you should get one of the scarce places on a Tier 1 uni STEM course - not so much.

Re: The Programming Talent Myth (2015)

#67
post #33

Earlier quoted context omitted.

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…

"Upbringing" can be a slightly misleading way of stating that summary, as most people think of upbringing as comprising environmental factors that parents can influence. But factors that parents can influence should be largely shared between siblings, and studies typically find that the effect of shared environment is quite small in adulthood. IQ researchers typically find that 60-80% of the variance in IQ is explained by genetics, and most of the remainder to "non-shared environment", a grab bag of factors not shared between siblings that we might as well call "luck".

The above is a slight simplification, but I think it's a fair summary of the current consensus among intelligence researchers, given the word count.

Re: The Programming Talent Myth (2015)

#68
post #3

If our starting point is that programming is mostly about skills, productivity starts getting interesting - what does productivity mean? My personal take is that it means solving problems with less wasted effort. Less code (a 0.1× programmer can solve problem with 10% of the code - https://codewithoutrules.com/2016/08/25/the-01x-programmer/ ), but also by solving the right problem, and coming up with better solutions…

This is exactly correct. In the past, I didn't consider myself an excellent programmer, because I struggled to solve esoteric number permutation problems and recursive graph search problems during whiteboard interviews. It seemed to me that all my peers could do it, and they were getting good jobs for it.

Over time I learned that the real value comes from solving the right problems, and recognizing wasted effort. It comes from architecting systems that are easily maintainable. That's what makes money in the business.

Solving narrow, intensely interesting algorithms, is a rare case that is not widely needed in the industry at large.

Re: The Programming Talent Myth (2015)

#69
Does anyone else disagree with this article? There is talent for programming, and that talent is correlated with IQ. A person with average or below average IQ is very unlikely to excel as a programmer. There is a lot of academic literature to back this up.

Re: The Programming Talent Myth (2015)

#70
post #33

Earlier quoted context omitted.

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…

Neural plasticity in adults may be limited but it is not altogether diminished. Also it can be increased - "the plastic potential of neural networks can be engaged late in life by acutely regulating 'functional' E/I transmitter release." http://www.jneurosci.org/content/30/45/14964
Post reply on HN