Live data from Hacker News

The programming talent myth

lwn.net

181–190 of 354 posts

Re: The programming talent myth

#181

I've been at this twenty years, and I have no doubt that most people can learn to do it, and some people are just radically better at it. I'm not sure why those should be either mutually exclusive or controversial points of view. Where the passion part comes in is that most people, the vast majority I would think, just don't want to do this for a living and never will. We're a little like medical doctors in that resp…

> The last thing I'd note is that the focused act of programming is becoming a smaller and smaller part of the gig.

Unfortunately it took over 5 years as an engineer to learn that being able to communicate effectively is the single most important task of any job. If you've ever struggled to explain yourself to people then take some writing or speaking classes from a local college, sign up for a Dale Carnegie course, join Toastmasters for a couple years. Your career will thank you for it.

Re: The programming talent myth

#182
by definition, most of us working in this crowded industry are mediocrity. And even if somebody is a very talented programmer (say like me :) the system will make sure that it doesn't matter in the end.

http://en.wikipedia.org/wiki/Barge_Haulers_on_the_Volga (depicts typical implementation of SCRUM process with 1-day long sprints)

(until of course, one is so "talented" that s/he made onto the barge as a foreman or better - owns the barge, though it usually requires completely different from programming talents)

Re: The programming talent myth

#183
post #135

I couldn't agree more. When I first started out studying CS I was constantly afraid that I wouldn't be able to cut it because I didn't always immediately see how to solve algorithmic problems or write code that would work. I got bogged down in thinking about programming as a problem of learning syntax, and missed 'obvious' things. I couldn't reverse a string or write FizzBuzz and in fact part of the reason for that w…

>Most of the 'bad' programmers many of us come into contact with are just farther behind on their journey to being great software developers, and may only be as bad as they are because of fear to ask questions and be judged by those who think there are only 2 types of programmers. In my experience I'm not so sure about that. I've meet (and worked with!) bad programmers very much my senior. After working with them I k…

Well that's the only metric that most of us should be considering...whether or not someone considers that they have more to learn. If they don't, they will never be great. But anyone who wants to learn can become a good programmer, and being called a 'bad' programmer early on just because they haven't reached that competency yet is the problem that we're really talking about.

Re: The programming talent myth

#184
I know I'm not the only one old enough to remember that we already tried to apply this argument in the late 90s?

That left us with countless completely incompetent programmers, most of whom left the industry after Y2K and the burst of the bubble. Those who stuck around now largely make up the bulk unemployed IT workers whining about how there can not possibly be any shortage because nobody wants to hire them.

We've already put the talentless to work in massive numbers, and not only did we as an industry pay the price, it didn't do the por sods much good either.

Also, all of these arguments about mediocre programmes, 10x programmers, gender based discrimination etcetera only serves to distract and intimidate, because they have nothing to do with the fundamental question. Nobody is arguing that a having a talent for something is the only thing that matters when it comes to how good a programmer you become, or that it has anything to do with gender.

Bringing it up only serves to pre-emptively make anybody trying to make a counterargument look like an arrogant, sexist douche. My instinct tells me that people trying to make a point that way already know they're wrong.

Re: The programming talent myth

#185
post #176
post #156

Earlier quoted context omitted.

I actually never tried to play the piano, just the flute and later percussion. >For classically pianists, it just means you can read notes and play the corresponding notes Couldn't do that. Couldn't read notes, not even very simple pieces. Reading which note was what, them and then thinking about the corresponding fingering, doing it while following along with the beat... nope, never happened. It wasn't like I didn't…

You've said multiple times in these posts that you "can't" do this or that. That is an excuse. Stop it.

I'm not making excuses.

I've tried very hard at some things and failed miserably. I've tired hard at some things and had great results that surprised even me. Those are facts.

It is correct that I can't do things that I don't have the ability to do. There's plenty of things people can't do but that doesn't mean everything someone can't do can't be learned. I can't run a 10k but I'm sure I can if I wanted to, tried, and trained for one I could. There was a time I couldn't write a line of code but that didn't stop me from learning or trying.

I believe many people have something or another that is extremely difficult to impossible for them to learn no matter how hard they try and its different for everyone. Most people don't have an interest in trying things that don't come naturally to them so many times people don't experience that so they can't imagine someone else experiencing it.

Re: The programming talent myth

#186
post #166
post #69

Earlier quoted context omitted.

It's not just speed. It's everything. They're not just faster -- their code is cleaner, faster, more elegant, and better according to most metrics you could think up.

A measure of the elegance and cleanliness of code is so arbitrary in our industry that it's useless as a metric. Faster is concrete enough to be useful though.

How do you measure speed though? Speed to hit the done button or speed to get to production bug-free? You aren't really measuring speed accurately until you account for all the downstream time, and even include time for problems found in production. After all that, you need to account for any technical debt that was accrued as a result of going too fast to get this specific task done. Almost every day I run into a 1 hour fix that is now going to cost us 10 hours to recover from.

Are some developers faster than others when you include all these concerns? Certainly. But measuring it is so incredibly difficult and error-prone that we mostly just stick to some emotional impression of how fast someone is.

Re: The programming talent myth

#187

Earlier quoted context omitted.

From personal experience, speed has very little to do with productivity. Productivity is a function of knowledge and experience. The most productive programmers I've met almost always had enough experience in what not to use. They have a clear focus on the simplicity of their code and their ability to reason about it. They understand the problem and the hardware as well as the language in a very detailed manner. They…

> They pick the wrong data structures, think about code first and data is an afterthought. It makes me so happy to read this. Data in the grand scheme of things is vastly more important than code. "picking" data structures is a luxury in many cases and thus data structure often dictates the structure and expectations of your code. Data usually outlives the code. Data is effectively the earth in your code farm. Take c…

I like these two quotes on that:

"Show me your flowchart and conceal your tables, and I shall continue to be mystified. Show me your tables, and I won't usually need your flowchart; it'll be obvious."

Fred Brooks, The Mythical Man-Month.

"Bad programmers worry about the code. Good programmers worry about data structures and their relationships."

Linus Torvalds

Re: The programming talent myth

#189
post #156
post #125

Earlier quoted context omitted.

I do believe that anyone can learn to play the piano, although I would admit it's harder for some than for others. A lot of it has to do with finding the right teacher though. What exactly do you mean by you were unable to? People have different ideas of what it means to be able to play the piano. For classically pianists, it just means you can read notes and play the corresponding notes. I imagine anyone could memor…

I actually never tried to play the piano, just the flute and later percussion. >For classically pianists, it just means you can read notes and play the corresponding notes Couldn't do that. Couldn't read notes, not even very simple pieces. Reading which note was what, them and then thinking about the corresponding fingering, doing it while following along with the beat... nope, never happened. It wasn't like I didn't…

> I am not stupid though.

> I don't have a learning disability.

There's no reason you couldn't have a learning disability. I was one of the smartest in my class and turns out that I do indeed have ADHD. I've also never been able to learn a musical instrument, but I've only put one or two months of continuous practice into them before giving up for another year or two. Barely enough to get muscle memory working for me.

Edit: From Wikipedia: "Attention-deficit hyperactivity disorder (ADHD) is often studied in connection with learning disabilities, but it is not actually included in the standard definitions of learning disabilities. An individual with ADHD may struggle with learning, but he or she can often learn adequately once successfully treated for the ADHD." Ok, so it isn't a learning disability technically, but it's been a barrier to _me_ in learning an instrument.

Re: The programming talent myth

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

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 then this is the wrong profession for you. You have to stay current, or else you will slide from good to mediocre to fired within the span of several years.

Post reply on HN