Live data from Hacker News

The programming talent myth

lwn.net

311–320 of 354 posts

Re: The programming talent myth

#311

Earlier quoted context omitted.

I'd say it's all a question of bandwidth. Geniuses just have enough capacity to converge quickly. "Incapable" people are below the threshold, so everything ends up as a cache miss, lock contention, pipeline flush; progress is so slow that they're directed onto other things. Wise people can attempt to craft their learning to converge smoothly too, they have patience to focus energy and wait for data to emerge, because…

I think this is really the key here. There is surely a natural, in-born talent for writing code, as there must be for every activity a human can engage in. But I think it's possible for people arrive at the set of circumstances that takes them from okay programmer to "talented" programmer. Time and focus I think are key, as you mentioned. People that don't dedicate enough time or focus to this craft will never achiev…

Yes, I don't dispute the fact that there are some innate trait, more fitting brain structure, differences in sensory sensitivity (stupid example: perfect ear) that lead to better 'performance'. But a lot of said impossible tasks are named so because of a lack of understanding and thus a difficulty in teaching.

So far music school way of teaching is by sitting you on exercises while someone verify the output. That is not teaching per se, it's a black box system that has seen somehow regular results. Kinda like making glass, there's a procedure for that, but what really happen at the molecular level is still blurry.

With time the student's body and mind change and he gets skilled at it. How does he explain it ? does he have words to communicate his feeling to a newbie ? Never seen so so far. Recently some violin teacher was praised because he discovered non-linearity (the fact that inertia in normal speed gestures is not the same, thus learning technique requires you to fake inertia by allowing acceleration at slow speed, which means exaggerated movements). Still a shallow discovery to be honest. It doesn't really describe how to create and sustain this kind of inertia between multilimb chains and how to attempt it pleasurably.

Back to code, similar issue is present when one of the most effective (and pleasurable) way to learn the art is by pair programming (with a mentor or even a same level pair). It shows that some notions are still not taught properly in schools. Maybe the system is already at peak and there's nothing to change that would lead to better progress.

Re: The programming talent myth

#312

Earlier quoted context omitted.

> It became clear he had no concept of the ordering of statement. He wrote them like math formulas, and didn't understand that they got executed in order. That's not an ability issue, just a knowledge issue. Coming from math, you'd assume there is no evaluation order.

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 works! Maybe multiple analogies!

That said, I was asked to give computer grinds to a friend and the guy could just not grok it. But then again he had zero motivation and interest. Lots of people who say that they are bad at math/programming have no interest in making the effort to becoming even a little bit proficient.

I really really would like to know if there are people out there who want or would like to code but for the life of them they cannot wrap their brains around it. I think this is a very important question because I can imagine future social arrangements and scenarios where not knowing how to code will be highly socially disadvantageous.

Re: The programming talent myth

#313

What I find fascinating is the ability of software developers to work against their own interest. > The US Bureau of Labor Statistics estimates that by 2020 there will be a 1.5 million programming job gap, which means there will be that many jobs unfilled. That's in five years. The EU has published similar numbers, 1.2 million in 2018—three years. That means we need to be doing something to get more people into our i…

A typical useful idiot grade remark by the speaker. Actually we as software devs have to ensure that the supply of talent in our field is somewhat balanced to our interests to protect our financial positions and prospects from degrading due to the influx of new devs on the job market.

Supply and demand baby!

Re: The programming talent myth

#314
I took one programming class my Freshman year in college, and dropped Computer Science as my major because even though it was an Intro to Programming class, I felt like I was the only person in the computer lab that was actually programming for the first time.

It infuriated me working for half a day on an assignment and then watching these other kids come into the lab, knock out the assignment in 20 minutes and laugh about how easy the assignment was.

After college, I taught myself how to build websites, which led to javascript, then PHP, then databases. Teaching myself on real world projects was enjoyable because there was no comparison to anyone next to me, it was just me trying to figure out how to get something to work. And when it worked, that felt great, not horrible because it took me 10 times as long as someone else.

Re: The programming talent myth

#315
post #307

Earlier quoted context omitted.

I think it really comes down to how much enjoyment one gets out of programming. If you thoroughly enjoy the process, you are more likely to put in the time and effort (in fact it will feel effortless), and you will be thinking about it all the time. Then there are those who don't mind programming, or maybe even see it as a chore, but choose to do it anyway.

I sometimes see the amount programmers believe they're supposed to enjoy their job as unique to programming. People always talk about pursuing coding projects just for the fun of it outside of work, but that's a pretty unusual trait for other forms of engineering. My father has a PhD in Chemical Engineering and has been doing crude assay work for the last twenty years. He obviously enjoys and gets fulfillment out of…

I've heard the same. There's an opposing group to that: writers.

Read any interview with a novelist, screenwriter, short story writer, etc and most will say it's something they hated doing but were glad to get done.

Pushed further though, I've seen good advice in some of those interviews which is to try to learn to enjoy the process, as what happens with the finish product is usually out of their hands. I think that's pretty applicable to a lot of other fields as well.

Re: The programming talent myth

#316
post #307

Earlier quoted context omitted.

I think it really comes down to how much enjoyment one gets out of programming. If you thoroughly enjoy the process, you are more likely to put in the time and effort (in fact it will feel effortless), and you will be thinking about it all the time. Then there are those who don't mind programming, or maybe even see it as a chore, but choose to do it anyway.

I sometimes see the amount programmers believe they're supposed to enjoy their job as unique to programming. People always talk about pursuing coding projects just for the fun of it outside of work, but that's a pretty unusual trait for other forms of engineering. My father has a PhD in Chemical Engineering and has been doing crude assay work for the last twenty years. He obviously enjoys and gets fulfillment out of…

You know it's funny I agree. When I was working as an EE no one ever gave me trouble because I wasn't building circuits or filters or doing RF design at home and because I didn't want to think about it when I got home. I keep seeing this attitude in the software engineering sphere that you have to totally embrace it and have all sorts of side projects and it's encouraged to more or less dominate your life; I can't imagine this is healthy for most adults.

Re: The programming talent myth

#317

Earlier quoted context omitted.

Yet people think different ways. Its easy for a musician to think "everybody knows how music works; its easy for me so its possible for everyone". The evidence suggests otherwise. I think we may all want to rethink our attitudes.

Sure (although I'm not a musician). But it's possible to get better at something with practice and to think or say otherwise is toxic. If you think it's possible for someone to rethink their attitude then you already agree with me.

Sure; but there's talent and there's complete lack of talent. Start with something you have a particle of skill at, is yards more satisfying. At some point, its beating a dead horse, to torture yourself with practice at what you stink at.

Talent scouts do a good job finding young people. They pick ball players, runners, divers, gymnasts early. Its not magic - they show early promise. And so many times they pan out. That probably means that talent is real and actionable.

Re: The programming talent myth

#318
post #131
post #58

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

One strong indication that programming talent is not bimodal is only bad engineers (programmers in the solder language) see the world as strictly binary. As I get older and gain more experience its astounding how much of the world does not operate in a simplistic pass/fail manner instead has an optimum operating point at "muddle thru mode". Or another way of putting it is only a really bad architect/designer relies o…

Obviously xeroxing a Hello Kitty coloring book is not better if you want a painting that's worth something and in fact the process a xerox machine goes through is inherently more complex than placing pain on a canvas by means of brushes. I also don't see what perfectionism has to do with the parent or the TFA - perfectionism vs pragmatism is not the issue being discussed.

Statements like "only bad engineers ..." needs proof or if kept as an anecdote I surely hope the sample size is bigger than a couple, plus I need some criteria by which those people were classified as bad engineers.

In my experience in our industry we tend to make outrageous claims without anything to back it up, which is preposterous given how much of our jobs relies on gathering and interpreting numbers. The TFA along with the myth being discussed are no exceptions.

Re: The programming talent myth

#319

Earlier quoted context omitted.

Then, there are those profoundly incapable of programming. My high school classmate who seemed to be getting it, but on the 1st assignment came to me and asked for help. It became clear he had no concept of the ordering of statement. He wrote them like math formulas, and didn't understand that they got executed in order. Fast-forward 3 years; both of us in college. He had to take a programming class again. I met him…

It became clear he had no concept of the ordering of statement. He wrote them like math formulas, and didn't understand that they got executed in order. We eschew languages like BASIC these days, but I wonder how much BASIC, as available on Commodore machines, the Apple II, or even some graphing calculators, helped communicate this concept. I know I didn't have any problem understanding that when moving to languages…

I wonder too. I'm no help; it never occurred to me that programming was functional. I took to 'imperative programming' like a fish to water, at a very young age (elementary school).

Re: The programming talent myth

#320

> If the only options are to be amazing or terrible, it leads people to believe they must be passionate about their career, that they must think about programming every waking moment of their life. If they take their eye off the ball even for a minute, they will slide right from amazing to terrible again. That leads people to be working crazy hours at work, to be constantly studying programming topics on their own ti…

>In my experience people really are either amazing or terrible and those that are amazing are super passionate about programming, think about it and study it all the time... I enjoy programming but I don't spend every waking second thinking about it. If that makes me a terrible programmer then thats fine with me. I'd rather be happy than be killing myself working 16 hours a day like some people like to glorify.

The people doing it 16 hours a day aren't killing themselves though, they do it because they love it (some of them obviously). In fact they would be killing themselves to not be thinking about programming 16 hours a day.
Post reply on HN