6 ms·
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, t
by singular 15y ago
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 example, I took part in the recent Stanford AI class, though not about programming specifically, I was utterly down-heartened when I heard they sent out those 'send me your CVs you clever people!' emails to the top 1k students, it just made me feel like a lot of people were taking part in order to participate in a 'look how much cleverer I am than you' pissing match.
That kind of things ruins the collaborative 'learning for the joy of learning' side of things and has a tendency to make the whole thing into a sort of nasty elitist thing. I really wish they hadn't done that (N.B. I did fine on the course - 98.7% - so this isn't sour grapes).
The biggest problem with anything like this is the idea that 'here is some test of inherent intelligence - I am far better than you so you are inherently unable to do this thing' which is just the biggest barrier to actually trying to do something - if you think you inherently suck or at least are simply mediocre, your motivation to do that thing is severely reduced.
or perhaps I'm just ranting/projecting here :)
- pitt1980 15y agoyou know that was my first reaction to the email too (actually my first reaction was petty jealously that I didn't get that email) when I thought about it some more, that might have be a really nice break for someone who deserved it, and the type of person who took that class and was in the top 1,000, is probably the type of person who would make the most of a nice break take away, the more I thought about it the less I had a problem with it
- singular 15y agoOh I'd be being dishonest if I said there wasn't a petty ego blow there on my part too, esp. since there were a few answers that I just didn't check properly. Part of it is that I was simply frustrated that it had become that sort of thing. Had a perhaps romantic view of this kind of thing. Certainly don't mean to take away from those who scored so well :)
- rue 15y agoI think there's a meme in the term “greatness”. Perhaps a better formulation of the rule is the more traditional one, that it takes 10 000 hours to reach your peak at whatever it is you're practicing. It's not automatic (you still have to do the right things), and you can be great way before that (especially relatively speaking).
- hello_moto 15y agoHuman nature. We all are the victim of "ego" once in a while in our life. Ego is what bring us down from the top of cockyness mountain as well. The fall would make us humble (and hopefully learn something from it). At the end of the day, I believe human should learn to live with each other than to shove one another.
- agavin 15y agoThere 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 Dog. When he arrived on Jak 2 he was pounding out real working stuff the first or second day. By the end of the game (one year later) it was clear he was so kick ass that we promoted him across like 15 others guys to be co-lead with me on Jak 3. And he continues to kick ass to this day. I just site him, but I had the pleasure to work with around half a dozen other totally awesome guys too. Still, the "good" guys will take a system and do a great job with it over weeks. The great guys will knock it out in like 24-48 hours. Lots of articles on this kind of stuff at my site too: http://all-things-andy-gavin.com/video-games http://all-things-andy-gavin.com/video-games
- kenjackson 15y agoFor 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.
- agavin 15y agoGood 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)
- ntoshev 15y agoDebugging 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.
- dmbaggett 15y agoThe 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.
- kenjackson 15y agoDefinitely "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.")
- ahuibers 15y agoUm.. most PhDs in the experimental sciences involve lots of drudge work, and 14 hour days, and the people who make it are generally very hard workers. This may not be true in theory or engineering.
- scott_s 15y agoI have a PhD in CS. There's a lot of "drudge work" in the design and execution of experiments. I just spent four days designing, executing and analyzing experiments to see if our model was accurate and my implementation was correct. (Both are, which is nice.) But those experiments will never be published - experiments like them will, but not those. Those experiments are what I call "guiding experiments" - they're not rigorous enough to convince others that what we did works, but it's enough to convince me we're doing the right thing, and give me the confidence that things will work out as expected when we do the full, rigorous experiments. So, yes, research has its own grunt work. And some of my code will make it into production.
- scott_s 15y agosimply a genetically determine brain configuration 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.