Earlier quoted context omitted.
> The best coders I know (including agavin, who comments below) are all insanely hard workers I'd +1 this if I could. This is the instinct I've had for a while, and probably also the key as to why it is so rare. I suspect a key part of it is learning how to work effectively, and avoiding burnout in the process, neither of which are trivial to achieve. Thanks for the comment, extremely interesting!
To me, insanely hard work always connotes working 80 hours/wk and not having (or spending time with) a SO, kids, or other hobbies besides the job. I don't know if that's what you mean, but that kind of life is not one I would go for, even assuming I am capable of being more than one or two sigmas good.
Being a "Great Coder" and 10000 Hours
51–60 of 70 posts
Re: Being a "Great Coder" and 10000 Hours
#52There 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…
I sincerely doubt this. I think some people like it more in the beginning, so they get the positive reinforcement very early. But I think that what tends to happen is people convince themselves a head of time "This is hard, I'll never be able to do it" which becomes a self-reinforcing thing.
Re: Being a "Great Coder" and 10000 Hours
#53Re: Being a "Great Coder" and 10000 Hours
#54Earlier quoted context omitted.
> The best coders I know (including agavin, who comments below) are all insanely hard workers I'd +1 this if I could. This is the instinct I've had for a while, and probably also the key as to why it is so rare. I suspect a key part of it is learning how to work effectively, and avoiding burnout in the process, neither of which are trivial to achieve. Thanks for the comment, extremely interesting!
To me, insanely hard work always connotes working 80 hours/wk and not having (or spending time with) a SO, kids, or other hobbies besides the job. I don't know if that's what you mean, but that kind of life is not one I would go for, even assuming I am capable of being more than one or two sigmas good.
Some of that laziness is because I'm not crazy about what I'm working on. Being truly honest with myself, though, it may be an internal defect that will prevent me from becoming a great coder until I get over it.
Anyway, that lack-of-laziness is what I think the parent was attempting to describe, not 80-hour weeks.
Re: Being a "Great Coder" and 10000 Hours
#55It's important to also continue striving for self-improvement. If you hit a level where you've stopped wanting to learn more and started wanting to simply compare yourself to others, of course you'll look good by comparison - but you're not getting any better. I started programming using Python. When I started, I wanted to understand the "feel" of Python programming, and that was all my mind could comprehend. Now tha…
Skills get rusty. What you learn today you will forget tomorrow, unless you use them in some way.
Re: Being a "Great Coder" and 10000 Hours
#56The better he got, the worse he knew he was. The inverse Dunning–Kruger effect: http://en.wikipedia.org/wiki/Dunning–Kruger_effect
Re: Being a "Great Coder" and 10000 Hours
#57Earlier quoted context omitted.
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)
Debugging is almost always about uncovering wrong assumptions, but I don't see how you can do without assumptions. Every line of code assumes certain state of the program that it operates on.
Re: Being a "Great Coder" and 10000 Hours
#58Earlier quoted context omitted.
To me, insanely hard work always connotes working 80 hours/wk and not having (or spending time with) a SO, kids, or other hobbies besides the job. I don't know if that's what you mean, but that kind of life is not one I would go for, even assuming I am capable of being more than one or two sigmas good.
I don't think that's true. I consider myself an ok coder, but I'm lazy. I work in bursts, but even a good day is likely to be less than six hours of actual work. Bad days are near 0. If I had the work ethic of the parent commenter, I could get a hell of a lot done in a reasonable amount of time. Some of that laziness is because I'm not crazy about what I'm working on. Being truly honest with myself, though, it may be…
Re: Being a "Great Coder" and 10000 Hours
#59The problem: As it is mentioned in the email. People tend to believe, being great is about knowing a lot of facts and stuff from memory. Having information about stuff others don't know. While the fact is intelligence and knowledge only acts as catalyst in the path to success. They are not success or don't lead to success in themselves. Unless you don't understand this you will keep wondering why you are not getting…
I think, somewhere in there, you have to learn how to make sure you're taken care of, even if it's just learning how/when to ask for things you deserve for your efforts. Every workplace isn't a strict meritocracy.
Re: Being a "Great Coder" and 10000 Hours
#60Earlier quoted context omitted.
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…