6 ms·
Does this imply we are headed towards a future where there isn't a 10x difference between the best programmers and the worst? Where someone comes up with repeat
by chrisduesing 12y ago
Does this imply we are headed towards a future where there isn't a 10x difference between the best programmers and the worst? Where someone comes up with repeatable training that can help programmers advance throughout their career?
- gumby 12y agoIs this difference learned or innate? I've assumed that it's mostly learned: the good ones do have a propensity for things that matter (like holding a big structure in their head, or willingness to concentrate for a long time, or the willingness to continually learn new things) but most of the skill comes from continual practice of the craft.
- viscanti 12y agoThe gap should close over time through better training and improved tooling, but there will always be some delta. Developers would still progress through that training at different rates.
- jfoutz 12y agoThis line comes to mind: Young Composer: "Herr Mozart, I am thinking of writing a symphony. How should I get started?" Mozart: "A symphony is a very complex musical form and you are still young. Perhaps you should start with something simpler, like a concerto." Young Composer: "But Herr Mozart, you were writing symphonies when you were 8 years old." Mozart: "Yes, but I never asked anyone how."
- facepalm 12y agoHis father was a famous music teacher and started teaching him at age 4 (and he watched his sisters lessons already at age 3).
- jfoutz 12y agoIf you could take 10 4 year olds and start training them in music that way, you won't get 10 Mozarts. I doubt you'll get one. (I'll concede they may all be very good for 8 year olds though) Different people learn different ways. I guess my point is, for a given training program, you're going to have a wide distribution of effectiveness of graduates.
- lazyant 12y agoWhile I agree with you (genes and all that) just in case someone doesn't know, someone was set to prove that you can in fact raise a "genius", with success in the case of his daughters http://en.wikipedia.org/wiki/L%C3%A1szl%C3%B3_Polg%C3%A1r http://en.wikipedia.org/wiki/L%C3%A1szl%C3%B3_Polg%C3%A1r
- kamaal 12y agoYes, But if you take 10 mozarts, who don't have a father who is a music teacher, doesn't have a sister whom he can watch getting trained and his own training doesn't start at 4. I'd doubt if they would do anything in Music. Let alone become some one like mozart.
- thewarrior 12y agoThere's a real life case study we can use here. The Jacksons. Joe Jackson pushed his kids really really hard often to the point of abuse. All of them are good singers now but only one of them became Michael Jackson.
- facepalm 12y agoBut is that because MJ was better than the others, or because his marketing played out better? There might be some factors independent of the skill of the individual that end up making a star.
- loso 12y agoIt wasn't all marketing. Not even mostly marketing. When the group was still young but in the industry all of the industry execs pushed for Jermaine Jackson to go solo. He considered the cute one by girls and was considered to have just as much talent as Michael. Or at least close to it. While he had a decent solo career it was nothing like when Michael got older and went solo. Basically Jermaine was heavily marketed when he went solo and even had a bidding war for his services. But it was MJ who was the star and for lack of a better term had the "it" factor.
- cheepin 12y agoMozart was an early prodigy for sure, but from what I recall, he didn't put out any really good music until his 20s, and didn't write a masterpiece until his 30s.
- venomsnake 12y agoNo. Mostly because you cannot measure the stuff that makes a good programmer good.
- mcphage 12y agoWhy do you believe that? It seems unlikely.
- mod 12y agoI don't necessarily agree with GP, however there is currently no good measure, and that's one reason to bolster his opinion.
- Retra 12y agoHaving a good way to measure something is very different from something being impossible to measure...
- venomsnake 12y agoGive me the metrics of a good programmer, and a way that they could not be gamed ...
- bbcbasic 12y agoIt is hard because "programming" is a small part of what you are doing, with communication, politics, interpersonal skills, design, user experience, self management etc. that goes with the job. All this needs to be taken into consideration when scoring. Also a 10 programmer at a startup may suck (or even get fired!) in a traditional corp and vice versa. Then even just focusing on programming a C++ guru may struggle with Haskell. Just as a football star may not win a 100m sprint against athletes in that field, but will do better than joe average.
- dk8996 12y agoI think its currently true in our industry, although its hard to measure. The difference between "rock-star" and avg developer (even the ones without CS degrees) isn't no were near 10x. Could be because the tech changes so frequently, so everyone starts at zero every 5 years. Another things is that everything is open, open-sourced, books, talks, videos its easy to become a avg developer. I always thought software engineers have a lot in common with athletes; limited shelf-life, make good money (although not as much but within 2-3x over avg career), can retire young (if successful).
- sheepmullet 12y ago"The difference between "rock-star" and avg developer (even the ones without CS degrees) isn't no were near 10x" It is significantly higher than 10x. The "problem" is that a) talent is wasted, b) talent is concentrated, c) talent is context based, and d) we apply the term "rock-star" to basically anyone better than average. Usually there is only a 2-3x difference between team members and so a guy at google who is a 10x'er is likely only 2x as good as the rest of the team. But the average googler is in the top20% of the industry and is 3-4x better than the average dev. Regarding c) I'm a 5-10x'er when working with large legacy code bases in a specific domain. Put me in a lean startup though and I am average at best.
- dk8996 12y agoI call BS on this. Your telling me that you can do a avg task in one day while it would take some avg developer 5 to 10 days. The amount of information that is out there -- it would take a simple Google search or a day or two of researching to get enough info to complete the task. I am not saying that there aren't tasks that require highly specialized knowledge -- but this is pretty much not true for most jobs out there.
- sheepmullet 12y agoOf course I can... within my niche anyway! I'll provide some extreme examples to help show you what I mean. Example 1) A good games developer can easily create a game in a week that would take the average developer months. The average dev has never even developed a game before. Example 2) Have you ever worked on a large codebase (500,000+ loc)? Fixing a defect in a codebase that kind of size is not something you can easily google. A person who has experience with large enterprise systems knows the kinds of typical architectures they have and if trying to find the source of a bug knows how to heuristically carve up the solution and perform a kind of log n search. A developer without this kind of experience has to look at almost the entire search space. Example 3) A developer medical domain knowledge can quickly determine if the requirements for a new bit of medical software actually make sense and are a reasonable approach to the problem. A great developer without this domain experience is going to have many more false starts. Of course in the real world the disparities between individual developers are not that apparent because we work as teams and help each other out. E.g. In the enterprise example a more senior member will usually help you narrow down the search space even if just with a simple "oh for that kind of problem you need to check for x in the audit tables" or a "go talk to Steve about that as he is an expert in that subsystem"
- NhanH 12y agoSomehow I got to the opposite conclusion with yours. If the gap is because of practice and training rather than innate ability, the gap would be even BIGGER, not smaller. Essentially because the better you are, the faster you will learn more stuffs (which is already obvious to most people - we just don't really know if there is a threshold on learning, essentially the point of our biological limit). And because while the innate difference is unlikely to be 10x between human, the time spent on practicing and learning can easily reach 10x difference between the top and the average.
- Rexxar 12y agoFor information, what you describe is called "Matthew effect": https://en.wikipedia.org/wiki/Matthew_effect#Education https://en.wikipedia.org/wiki/Matthew_effect#Education
- sheepmullet 12y agoProbably not anytime soon. We simply do not spend a serious amount of time on learning/practicing correctly. We spend the majority of our time "cutting code" rather than on skills development. Even the average google developer mostly does work which doesn't really push them. They are still learning but at a much slower pace than they could be. So we aren't really learning quickly at work. Maybe 20% of the profession spends a serious amount of time (5+ hours a week) on software development outside of work. Of those the vast majority are either mostly "doing" by working on an idea/open source (aka a lot of the HN crowd) or learning the latest and greatest framework/language etc while ignoring the huge gaps in their fundamentals.