Live data from Hacker News

Being a "Great Coder" and 10000 Hours

groups.google.com

31–40 of 70 posts

Re: Being a "Great Coder" and 10000 Hours

#31
post #28

Earlier quoted context omitted.

There is such a difference in coding output. Having had perhaps 50 work for me over the years (and being one myself), the top guys do perhaps 10x the output of the merely "very good" guys. And near infinite with the mediocre ones who on tough projects actually suck more time than they contribute. The good guys also come in and contribute right off the bat. Like Christophe Balestra, who now is co-president of Naughty…

For the poor performers they may be nothing you can do. But for the merely "very good" are there practices that Balestra can teach them? For example, one thing I've seen that can increase productivity by a factor of ten is good debugging skills -- which are generally teachable. The other thing is to get people on things they're excited about. Mentally checking out is another area I've seen strong people lose time.

Good debugging is key, and as anyone who ever worked with me will note, I'm a fantastic debugger (in no small part because I'm cold, rational, and rarely get upset). I keep meaning to write up a post for my blog with "Andy's rulez of debugging." There are really very simple, but very effective.

Like: "don't assume" and "divide and conquer" (they do require a bit of explanation)

Re: Being a "Great Coder" and 10000 Hours

#32
People would rate you "great" but you'll be able to say "How would you know?". At which point, the better you get, the worse you'll know you are. Anybody who rates themselves as "great" is probably on the uphill side of the learning curve.

This attitude annoys me greatly. I understand Dunning-Krueger and all, but I still don't buy the idea that skill is inversely proportional to confidence. I think it's simplistic to think that confidence directly implies lack of skill and vice-versa.

I mean clearly no one likes an ego-maniac who acts like a know it all. But at the same time, sometimes people are right when they say good things about themselves. Even if they act completely narcissistic.

In fact, I would say that maturing has done nothing but increase my confidence in my skill level. I think that I can say that I'm a good programmer and that I hope to be a great programmer some day without being cocky or egotistical. It doesn't mean that I'm always right or that I don't make mistakes. But at the end of the day, I have confidence in my abilities.

Re: Being a "Great Coder" and 10000 Hours

#33
post #5

There really is a meme here I think, and it relates to ego. Having said that, I definitely do think there is truth in massive variations between programmers, though I personally think that is a combination of a small pre-requisite talent (the ability to code at all, which I think a surprisingly small amount of people have - simply a genetically determine brain configuration), and mostly attitude + hard work. For exam…

The best coders I know (including agavin, who comments below) are all insanely hard workers. There are a few other correlates, but these seem secondary to me:

- willing and able to rapidly learn new tools (especially languages, debuggers, build/test infrastructures, and profilers)

- understand software at many levels (so-called "full stack" programmers)

- more interested in producing a working system than in technical details

- self-confident enough to seek experts and extract information from them on areas of ignorance

- have a strong aesthetic sense of code

Definitely "being really smart" or "having a Ph.D" hasn't been a correlate in my experience; if anything, I've seen these to be negatively correlated with code production and quality.

And distribution of coding ability definitely seems to follow a normal curve; a handful of coders I know are 6 sigma out. There are many more two-sigma outliers, and tons in the middle, as you'd expect.

Re: Being a "Great Coder" and 10000 Hours

#34
post #32

People would rate you "great" but you'll be able to say "How would you know?". At which point, the better you get, the worse you'll know you are. Anybody who rates themselves as "great" is probably on the uphill side of the learning curve. This attitude annoys me greatly. I understand Dunning-Krueger and all, but I still don't buy the idea that skill is inversely proportional to confidence. I think it's simplistic to…

I think it's one thing to be confident about being great relative to most people, and another to learn just how great the distance still is between you and "the best." I've definitely had this experience while learning things - as I move into say, the top 5-10%, I feel pretty good. And I'm confident putting myself there. But then I see just how far I have to go to get from 5% to 1%, or 1% to 0.1%, and it's the kind of thing that wouldn't have been obvious at all until I got to 5% because I'd have no idea what that difference even meant, and how hard the gap is to bridge.

Re: Being a "Great Coder" and 10000 Hours

#35
post #17

Earlier quoted context omitted.

Why do you say it is the inverse and not the regular Dunning-Kruger effect?

Surely silvestrov miswrote and meant "converse", not "inverse". And it's because the classic statement of the Dunning-Kruger effect is that the unskilled have an unrealistically high estimation of their own abilities. It doesn't talk about what the skilled think.

Actually, it does say. People assume that they're closer to average than they are, whether they're above or below the true average. The Wikipedia link above even says "the highly skilled underrate their own abilities, suffering from illusory inferiority."

Re: Being a "Great Coder" and 10000 Hours

#37

I, of course agree with point author makes in this post, however 10,000 hours is also meme that Malcolm Gladwell uses to sell his books. I read articles that disprove his assertion and show that often he will fudge data to make a point. Still 10,000 hours is really good metaphor and it should be understood as such. It is a lot like that left and right brain, sounds really good and people pick this up because it sound…

The 10,000 hours predates Gladwell. He just wrote a book based on existing research. I haven't seen anything that actually disproves the assertion (again, it's not Gladwell's). Do you have references?

The problem is that isn't not just 10,000 hours. It's 10,000 hours of "mindful practice".

That amounts to a huge, ill defined, fudge factor that allows you to discount any counter examples.

So it's not clear that 10,000 hours is a falsifiable statement.

Re: Being a "Great Coder" and 10000 Hours

#38
post #37

Earlier quoted context omitted.

The 10,000 hours predates Gladwell. He just wrote a book based on existing research. I haven't seen anything that actually disproves the assertion (again, it's not Gladwell's). Do you have references?

The problem is that isn't not just 10,000 hours. It's 10,000 hours of "mindful practice". That amounts to a huge, ill defined, fudge factor that allows you to discount any counter examples. So it's not clear that 10,000 hours is a falsifiable statement.

So it's not clear that 10,000 hours is a falsifiable statement.

It not as tightly defined as we'd like, but I think it's still fairly close to falsifiable. For example, I think the Dan Plan is a good experiment. He has a pro golf coach and clearly is doing deliberate practice. It's only one data point, but I think if we get several people like Dan who tend to fall on one side or the other then I think we have strengtened or weakened the theory significantly.

Re: Being a "Great Coder" and 10000 Hours

#39
post #5

There really is a meme here I think, and it relates to ego. Having said that, I definitely do think there is truth in massive variations between programmers, though I personally think that is a combination of a small pre-requisite talent (the ability to code at all, which I think a surprisingly small amount of people have - simply a genetically determine brain configuration), and mostly attitude + hard work. For exam…

The best coders I know (including agavin, who comments below) are all insanely hard workers. There are a few other correlates, but these seem secondary to me: - willing and able to rapidly learn new tools (especially languages, debuggers, build/test infrastructures, and profilers) - understand software at many levels (so-called "full stack" programmers) - more interested in producing a working system than in technica…

Definitely "being really smart" or "having a Ph.D" hasn't been a correlate in my experience; if anything, I've seen these to be negatively correlated with code production and quality.

Unfortunately this is largely the case. It's in many ways similar to why many on HN don't want to do Java enterprise LOB apps. It seems like painful drudge work. For a lot of really smart people who did their PhD -- the work it takes to build a production web app is painful drudge work. They'll happily build the prototype that proves the concept and their done. Everything else is a painful drudge work -- a solved problem ("I can reduce what's left to what Facebook did. QED.")

Re: Being a "Great Coder" and 10000 Hours

#40
post #19

Earlier quoted context omitted.

Not everyone who thinks they're bad at something is wrong.

but everyone who thinks they're a "ninja" is wrong.

The dictionary basically defines "ninja" as someone who is skilled in stealthy movement and camouflage. Interpreted by me to mean someone who can sneak in and do the job without being seen.

Given the innate ability to do the job of programming from anywhere, at any time, I am of the opinion that many programmers can meet the description of ninja. I know in my career, I have worked closely with several people whom I have never actually met.

I do think the usage of ninja is silly, myself. But I do understand that it is more descriptive than just telecommuter, which still seems to imply some physical contact with others.

Post reply on HN