8 ms·
Getting Better at Getting Better
- chrisduesing 12y agoDoes 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.
- 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"
- 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.
- 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
- gumby 12y agoI am uninterested in professional sport but read this anyway and was really struck by this line: > "...historically, practice was ... not about mastering skills. People figured that either you had those skills or you didn’t." I suspect many people still feel this way. Those who keep trying to hone their skills are the fun ones to be with. Unfortunately they appear still to be in the minority.
- softdev12 12y agoit's always interesting how a single sample (in this case Kermit Washington) can be extrapolated to a general trend. it reminds me of the movie Tin Cup where the Kevin Costner character gets a golf doctor and starts winning and then everyone wants his doctor to achieve the same results. perhaps it was just random chance?
- ch 12y agoThe example from the article regarding the Track & Field results might imply otherwise. Would random chance be able to exhibit a performance curve which begins to plateau?
- gwern 12y agoI think it probably could, if for example the population of athletes was growing the entire time: then with a larger population, the #1 athlete (the person farthest out on the tails) will keep 'setting records'. If you draw from a distribution like the normal distribution 1000 times, the single most extreme datapoint will (almost always) be much more extreme than if you sample just 10 times. To check this, you'd try to figure out some measure of population of Track & Field athletes (or maybe a crude proxy like entire USA or global population?), apply extreme-value theory to estimate how much the record should increase each year, and see if it undershoots the observed increases.
- ch 12y agoBut wouldn't a plateu in performance also cause a plateu in record setting? I suppose if it proves that records continue to be broken without gains in performance than random chance is likely at play. An aside, thanks for the EVT reference. Something new to learn.
- amjaeger 12y agoI didn't expect this to be an article about education. But it seems to make a lot of sense. I have always felt that bad teachers recognize that there is a problem with their classroom management, however the solutions they come up with aren't great. I also have seen that most bad teachers have common problems. Which would imply that with a pretty standard set of instructions a bad teacher could transform into something better with just a bit of work.
- Synaesthesia 12y agoYes halfway through this article could have been about anything, so broad was the application of the concept, but education was an interesting choice. There are surely many other fields that can be similarly improved. Just focusing not only on doing your job, but how you do it, the little details, and then having constant feedback and trying to improve constantly, it's an incredibly valuable concept.
- klenwell 12y agoReminds me of first Bush Treasury Secretary John O'Neill's emphasis on safety when he took over at Alcoa in the 80's. It was part of a broader strategy that he referred to as habitual excellence." I first came across it in Charles Duhigg's book, The Power of Habit: Why We Do What We Do in Life and Business, where he provides an interesting account of how it helped mend crippling mistrust between labor and management. Here's a newspaper article that quickly summarizes it: http://www.post-gazette.com/business/businessnews/2012/05/13/Habitual-excellence-The-workplace-according-to-Paul-O-Neill/stories/201205130249 http://www.post-gazette.com/business/businessnews/2012/05/13... We've done something like this at my workplace by moving to scrum (with regular retrospectives) and, more importantly, by adopting stricter coding standards together with regular code reviews (weekly as a group and by using pull requests with continuous integration.) I would have liked to see us extend this to something even more like O'Neill's approach with a greater focus on eliminating production bugs (especially with respect to our deployment practices where unexpected snags abound). But I haven't been able to get management support for that. (Our more critical business function is to keep existing infrastructure humming rather than develop new products so I feel it would make more sense for us than for, say, a startup, but I guess no one like admitting to themselves that their main reason-for-being is to maintain the status quo.) Nevertheless, all together, the changes have made a world of difference.
- hookey 12y agoToo meta.
- quickpost 12y agoReminds me a lot of the notion of Growth Mindset vs Fixed Mindset that Carol Dweck has popularized.
- mod 12y agoI found out about this via one of Aaron Swartz's blog posts: http://www.aaronsw.com/weblog/dweck http://www.aaronsw.com/weblog/dweck It's a good read.
- amelius 12y agoAnd how would this apply to hacking? Or entrepreneurship?
- bbcbasic 12y agoLook at your current url! What does YCombinator do?
- thewarrior 12y agoIs there any place where I can find a programming coach ?
- zo1 12y agoThe internet, my fellow programmer. Don't just go around copy-pasting SO answers, that won't improve your skill, but rather learn from those questions... An entire field of knowledge is available at your fingertips, use it. There are online tutorials, books, guides, discussions, and even programming coaches if you're so inclined. As I've come to learn, it's more about your attitude. It has to be one of wanting to constantly improve yourself, and to hold yourself up to higher standards than the ones around you, or close to the ones you admire / aspire to be.
- vinceguidry 12y agoGet a programming book. Read it, apply it to your programming, go back to the book after you try to apply it to find out what you missed, rinse, repeat until you feel like you understand the author/s. Then get another book and start the process all over. Deliberate practice is the very best approach to getting better at programming. A coach can only point you in the right direction, he can't actually make you practice any better. It has to be deliberate, you have to be trying to get better every time you sit down, you have to know specifically how you're trying to get better, and how to know whether you succeeded in getting better after you're done. It has to be practice, you have to be using the time to actually work on it, rather than getting distracted on other work stuff. I get a few hours of deliberate practice in at my job every day, because I'm good enough at the office politics to be able to stay on top of obligations without feeling stressed. I get a little bit better, and my ability to stay on top of changing demands only grows, giving me more time to practice and more leeway to incorporate the demands into practice rather than having relegate the practice to inferior side projects.
- Arcanum-XIII 12y agoThat's a question I'm interested in too, something I feel I missed the most... Not because I'm not working on improving, but because I often loose sights of my goal - or don't know how to reach them.
- 12y ago
- moab 12y agoThis distinction is already visible today in our field. Looking at my batch of CS grads, there's clear divide between people who took on riskier positions or joined startups and people who continued to do what they were already good at. A few years after graduation, and this divide is already fairly stark - with people in the former being exponentially better than when they left school, and people in the latter not growing significantly. The best people in CS are no different than the best workers/athletes in any field. The challenge for the next few decades will be to see how we can improve the pedagogy at Universities to help people learn to learn better.
- forgotpasswd3x 12y ago> there's clear divide between people who took on riskier positions or joined startups and people who continued to do what they were already good at. Not saying you're incorrect, but there might be some survivorship bias to this.
- moab 12y agoYou're probably right. I guess I'm looking at a visible divide in skill and knowledge occuring in my friends right now and trying to find some sort of casual factor. While casting people along the 'startup/big-company' variable gives some immediate separation, it's by no means the only factor.
- tacoman 12y agoWhen I do the same exercise, it seems to come down to not much more than hard work. The more skilled and knowledgeable people are those that generally work hard and persevere through difficult challenges.
- tokenadult 12y agoThis is a very good article. The reference to the newly published book Faster, Higher, Stronger: How Sports Science Is Creating a New Generation of Superathletes--and What We Can Learn from Them by Mark McClusky prompted me to request that book from my friendly public library. I like how the article looks at the absolute skill levels among professional competitors in chess and professional performers in orchestral music and shows that the skill level in those and many other domains has been steadily rising in my lifetime. There is still a lot of untapped potential in most individuals alive today that can be developed even at adult ages. As the article reports, "What we’re seeing is, in part, the mainstreaming of excellent habits. In the late nineteen-fifties, Raymond Berry, the great wide receiver for the Baltimore Colts, was famous for his attention to detail and his obsessive approach to the game: he took copious notes, he ate well, he studied film of his opponents, he simulated entire games by himself, and so on. But, as the journalist Mark Bowden observed, Berry was considered an oddball. The golfer Ben Hogan, who was said to have 'invented practice,' stood out at a time when most pro golfers practiced occasionally, if at all. Today, practicing six to eight hours a day is just the price of admission on the P.G.A. Tour. Everyone works hard. Everyone is really good." This kind of cultural change can still go a lot further in a lot of fields on human performance. A culture of continual efforts at self-improvement has hardly even begun in many occupations. The article's conclusion about improving the performance of elementary and secondary school teachers in the United States is thoughtful, and also refers to good new books, Building a Better Teacher by Elizabeth Green and The Teacher Wars by Dana Goldstein. Studies of educational effectiveness in the United States consistently show that the variance in teacher quality in any one school swamps the variance in school quality between one school and another, so any child in any school district is at risk of getting an ineffective teacher. (Although schools in poor neighborhoods of the United States, on the whole, have the greatest difficulty in hiring and retaining good teachers.) Anything that can help teachers learn to teach better before or after they began working in the classroom will have massive social benefits. An economist who has studied teacher effectiveness for years shows that the best teachers are almost literally worth their weight in gold, while the worst teachers have negative added value for their pupils.[1] Bringing a culture of continual self-improvement in America's schools is a project of crucial national importance. [1] http://hanushek.stanford.edu/publications/valuing-teachers-how-much-good-teacher-worth http://hanushek.stanford.edu/publications/valuing-teachers-h...
- corysama 12y agoHere's an example of a school applying Demming's/Toyota's/Lean's techniques to great success. http://www.youtube.com/watch?v=VGZHQnuZXj8 http://www.youtube.com/watch?v=VGZHQnuZXj8
- mlucero 12y agoThis is a great article but I wish it would have also included advancement in area of steroids. We live in an era where drugs fuel a significant part of professional sports. Top tier athletes also have top tier drug regimens and their "doctors" have found ways to 'hack' the testing. It's an area that the media isn't open about discussing but it is there with the millions of dollars at stake. I know I'm leaning heavy on the sports side of the article but this isn't all a result of refining the skills required for sport. They are also faster, stronger, and recover more quickly because of the drugs athletes take.
- laichzeit0 12y agoThe way you phrase it makes it sound like it's somehow wrong for athletes to improve in all areas of their sport except when it comes to using performance enhancing drugs? That's like saying a Vim user should not be allowed to use certain plugins, because: because we decided it's not allowed. End of conversation. The reason players 'hack' the testing is because they either (a) believe other players are doing the same, or (b) other players are _actually_ doing the same, so it's another variable that has to be taking into consideration if you want to 'be the best'.
- Mimu 12y agoIt seems like he's talking about doping, and there is a big difference between doping and using a plugin. Few years ago I heard someone (like doctor or someone related to the field) talking about it, and he said there are 3 conditions for a drugs to be considered as a doping product. The main one being "put the user's health at risk" (another being "enhance performance" and I don't remember the third one). I don't think you can die using a plugin.
- dhimes 12y agoI agree. A better comparison would be coders (or academics) who use Aderall or some similar 'brain doping' to achieve performance enhancements vs those who don't. There are whispers that it's an issue in academia, especially among those competing for tenure.
- lipnitsk 12y agoSince his name came up in the article, it is worth reading more about the ideas that W. Edwards Deming[1] lectured on. https://en.wikipedia.org/wiki/W._Edwards_Deming https://en.wikipedia.org/wiki/W._Edwards_Deming
- loso 12y agoI found it interesting that the story omitted the name of the person Kermit Washington punched and got suspended for. It was Rudy Tomjanovich. He went on to have a hall of fame coaching career. It was probably on purpose so that the main purpose of the story wasn't derailed but I find it interesting nonetheless.