8 ms·
10x Engineer
- JoeAltmaier 13y agotl;dr: denial of the 10X productivity we all observe in practice in any large group. Implies its not true until an 'official study' says its true, regardless of vast empirical evidence that supports this obvious fact.
- taybin 13y agoThat's a misleading summary. No one is saying that all engineers are equal.
- JoeAltmaier 13y agoHuh? The article repeatedly calls the 10x assertion 'mythology'. It disingenuously tries to 'debunk' the history of this assertion while blithely ignoring testimony from throughout the industry.
- nandemo 13y agoBesides, OP challanges the 10x programmer notion on the basis that there are methodological issues in the papers and books, and then goes on to list... a series of tweets.
- fatman 13y agoIf I'm being generous, I'm a slightly above average engineer. Spot me 10X and I'll outperform any engineer on the planet. Do I believe in the 2X engineer? Definitely. 3X? Sure. 5X? Possibly, if their name is Ritchie or Torvalds or the like. But 10X? What I do in a week, they'd only get 4 hours. What I do in a year, they'd get 5 weeks. Doesn't exist.
- gnaritas 13y agoIt's possible they can do things you can't do at all or can't do in a reasonable amount of time so 10x is certainly possible simply because they could have far superior knowledge.
- craigyk 13y agoI think the danger of the myth arrives from the idea that one can label some engineers as consistently 10X better than their peers, regardless of the actual tasks, personal lives, health, etc.
- gnaritas 13y agoTrue, but honestly the 10x thing is only true because so many in the field are so bad that's it's not hard to do 10x more than they do. There are many copy/paste example and modify type programmers that can bang out work consistently yet do so very slowly and build very hard to maintain systems. Programmers who use virtually no abstraction and think it's fine to open a connection to the database and run some sql to get a result set and slap it on the screen and never once realize every method shouldn't duplicate the code to connect to the database and run some sql.
- john_fushi 13y agoI think the issue is that you compare the 10x programmers to the average programmer. The original source say that you can see an order of magnitude of difference between a good and a poor programmer. Haven't you ever done in a week what a poor programmer took a month to (poorly) do?
- strommen 13y agoThe 10x "mythology" doesn't mean 10x productive as an above-average engineer. It means 10x productive as the least-productive. So think of somebody who would consider you a 3x. Now the engineer who is 3x relative to you is just about 10x to them. Now consider the developers with net-zero or net-negative productivity. The 10x rule wildly understates how much more valuable a good engineer is relative to them.
- craigyk 13y agoThen the mythology is worthless. The focus should then be on eliminating bad engineers, not to go chasing after unicorns. Or even more importantly, figure out why some "10X" become "0X", or vice versa.
- svachalek 13y agoYes. Remember this whole thing started over 40 years ago, when management still had the mindset of large teams of factory workers and/or office paper pushers. Some were clearly better than others but for the most part, employees were supposed to be pin-compatible fully interchangeable parts, so the idea that some people could be lagging so far behind the others without management's notice was a new and novel concept. Today, not so much.
- deleted 13y ago[deleted]
- zimbatm 13y agoThere is speed of execution but also speed in recognizing that some work can be avoided. It's hard to measure how much work is spared by taking the right decisions.
- craigyk 13y agoI just finished reading the Mythical Man Month, and while it was certainly very good, the part of the book on 10X engineers struck me immediately as a gross oversimplification. Are there people that are 10X more productive than their worst peers? Absolutely. Are there people that are 10X more productive than the average peer? doubtful, or at least not consistently so, depending on their personal life and/or the nature of their workload. The OP's opening "I was a 10x engineer for 7 months and then I was a 0x engineer for a year and a half." pretty much sums it up. I think many of us have at least felt to be in both places at different points in our lives. A "10Xer" can be loaded down with dreary (or extremely challenging) tasks that can send their "productivity" off a cliff. Either they burn out, or the nature of their work requires more "breakthroughs". If they are wise enough to refuse always saying yes to their bosses, they can become a wet blanket, which can also seemingly affect their perceived productivity.
- asgard1024 13y agoOK, so there is an 5x engineer relative to you, and you're above average. And on the other side of the bell curve, there is an 0.2x engineer. This makes relative difference of 25x from the worst to the best - bang - QED.
- snowwrestler 13y agoHow are you measuring performance? The 10x concept contains not only the work but the decisions. Not just how to build something, but what to build. For example, people other than Linus Torvalds can code at the level needed to write and maintain git--as evidenced by the fact that other people do that now; he has handed the project off. But the creation of git included the conception of git--the many decisions about what he would build, and why it should be that way. Those decisions, coupled with solid coding, have resulted in a massive productivity multiplier for many thousands of people.
- dragonwriter 13y agoI don't think the idea is that a 10x engineer doesn't do the same thing a 1x engineer does at 10 times the speed, I think the idea is that a 10x engineer delivers 10 times the value that a 1x engineer does (or the same value at 1/10 the cost.) (IIRC seeing a study several years back which suggested a 10x increase in cost to address an issue for each step later in the "requirements -> development -> acceptance test -> production" sequence it was identified; even if that's not true in exact numbers, the basic trend of escalating costs is and a developer that, on a team, leads to the team doing substantially better at identifying problems up front might get the code they directly write through the process from requirements complete to ready to test at the same speed as other developers and still be a 10x developer.)
- chris_mahan 13y agoBrendan Eich wrote javascript in about a week. Could you write javascript in 10 weeks? Fabrice Bellard wrote (among many things) a linux emulator in javascript. (http://bellard.org/jslinux/ http://bellard.org/jslinux/) I don't know how long it took him to write, but knowing he's also doing other things (http://bellard.org/ http://bellard.org/) including FFMPEG, I don't think he spent his entire career on it.
- PhasmaFelis 13y agoOne of the many problems with the 10x Engineer concept is that it imagines that skill is a single dimension, when in fact it depends massively on context, environment, and the specifics of individual experience and the problem at hand. I am definitely not a 10x anything, but my group once got handed a massive data-processing task that my supervisors--better coders than me, to be sure--believed was impossible to automate, and budgeted 200+ man-hours to do manually. I asked them to hold off for a minute and successfully automated the entire process in three days. That doesn't mean I'm an all-purpose supercoder; it means I happen to be really damn good at analyzing patterns in data sets. Give me work that I'm good at, but don't expect me to be that good at everything.
- ColinDabritz 13y agoAlso related is the myth that "an engineer" is a fungible resource. They are not. It's not one problem space. You can't swap engineers around like that, you have to match skill sets and experience to the problems you're having, or build new skills.
- blah32497 13y agoThere is a trade off. If you don't swap your people around then they become very one dimensional. Sometimes it better to put someone less experienced in an area on a project so that he gains perspective (ie. see all junior staff)
- ColinDabritz 13y agoA good point. A better phrasing would be "you can't move engineers around like that and expect them to be instantly productive". The problem is that engineers are viewed as being one dimensional as in "amount of engineering". Swapping for cross training, skill building, or just plain variety is quite healthy.
- debacle 13y agoIn those three days, you were a 10x engineer - you accomplished 200 man-hours of work in ~24ish hours. '10x' is about measuring productivity, and nothing else. A 10x programmer when it comes to HTML form validation might be really amazing at what he does, however may still be worth less than a 1x database administrator.
- gruseom 13y agoI spent Saturday digging out a basement with my son. The kid was a machine—for sure he did an order of magnitude more than I did. There's your 10x right there. If you can see it with picks, shovels, and a wheelbarrow, it's hardly implausible that you would see it in software. The research literature on programming productivity sucks, but not because 10x is a myth. It sucks because we have no reliable way of measuring these things.
- falcolas 13y agoAge, physique, motivation and balancing work with rest had nothing to do with it? I'm 10x more productive than my dad at physical labor, but a lot of that is because he's 75 and I'm less than half his age. Doesn't mean I'm any kind of physical labor "rockstar"...
- gruseom 13y agoOf course those things have something to do with it! Who would ever say they didn't?
- alguemoi 13y agoMy mother thinks I'm 10X handsome.
- gruseom 13y agoIf you're accusing me of bias, my vanity would quite have preferred a different outcome :)
- danwiding 13y agoWhat are the units we are talking about here? Is productivity measured in hours and if so hours of what?
- a3voices 13y agoOne way to measure productivity is how fast you can create what the marketing people want. I can't think of any way better than that, and it's really ambiguous.
- tharris0101 13y agoI believe that was one of the points of the article. "10x Engineer" is being thrown around as another euphemism for "Rockstar" or "Ninja" without any true meaning.
- deleted 13y ago[deleted]
- a3voices 13y agoWhat's the point of being a 10X engineer somewhere, if you don't own the IP? It sounds like a way to make someone else rich off your hard work.
- hackula1 13y agoConsultants often make more than IP owners. Owning the IP and leveraging it is only one viable business model.
- ASpring 13y agoWhat if the same mindset that leads to an engineer being a "10x" engineer also lead them to be generally less capable of handling all the non-programming tasks on their own?
- deleted 13y ago[deleted]
- jrs99 13y agoJohn Carmack was 10x.
- craigyk 13y agoat building video game engines. Do you think he'd be 10X at building CRUD application after CRUD application?
- a3voices 13y agoBeing 10X for a short duration is much easier than maintaining 10X over years. And also, are these people successful in terms of personal fitness and health? Is their home clean? Do they have good relationships with their family and friends? Do they spend time socializing, or do they spend all their time working? If being 10X is true, why haven't they figured out how to get rich yet?
- jiggy2011 13y agoHe would probably figure out common patterns/requirements between them and build the best CRUD framework ever (possibly in Haskell), the only problem is that he would be the only person smart enough to use it.
- DannoHung 13y agoIf John Carmack is a 10x programmer, then trying to find 10x people for your organization is an absolute lost cause unless you're willing to shift your entire organization to be what he wants to do. Because there's only one Carmack and he does whatever the fuck he feels like.
- jandrewrogers 13y agoWhile the article correctly highlights the lack of rigorous scientific studies on 10x engineers, it also generalizes a bit too much from anecdote to make the argument that they are mythical creatures. A more reasonable argument is that the hypothetical existence of 10x engineers explains little about the productivity of most organizations. Personally, in the couple decades I have been in this business working in countless companies in Silicon Valley, I have met a few individuals that I think could be accurately characterized as 10x engineers. An important point is that they are not productive at just one type of development but genuine computer science and software engineering polymaths. They are incredibly rare but they do exist for all practical purposes. People that are 10x engineers never seem to think of themselves that way, it is how the other engineers think of them. It advertises itself; if you have to tell people you are a 10x engineer, "ninja", "rockstar", etc then you probably are not. I will add that none of the 10x engineers I worked with were burning the candle at both ends. They did not work particularly hard compared to everyone else, they were just extraordinarily effective and consistent at making excellent choices in an engineering context and always worked very well with most engineering teams they needed to work with. I've never seen any of these guys burn out, they've been doing it for decades. I would also suggest that it takes quite a few years of diversified experience before you can be a legit 10x engineer. Consistently making excellent choices requires both breadth and depth of knowledge and experience that you simply can't develop in less than a decade.
- deleted 13y ago[deleted]
- deleted 13y ago[deleted]
- ltcoleman 13y agoYour words are extremely accurate to me. There ARE 10x engineers but it takes a lot of experience to even have a chance at becoming one. A new grad ( even out of somewhere lik e Stanford ) has no chance to be a 10x engineer especially in a startup landscape (assuming a small startup with few extremely experienced engineers) without proper mentorship. The only people that i would say are 10x have worked at larger companies and have had multiple great mentors across many technologies ( once again the breadth and depth thing )
- philbo 13y agoEven if the 10x engineer were to exist, assuming a normal distribution, they would be extremely rare and highly sought after. To optimise your business around hiring such a precious unicorn would seem like a very foolhardy strategy. For one, simple probability suggests that you probably won't find one. And if you were to find one, could you be certain that it were a real unicorn rather than a horse with a plastic cone stuck to its forehead? And even then, what happens to the business you've built around it when your prized unicorn is stolen or passes away? There are probably no 10x engineers, but I'm quite sure there are 10x teams. Better to focus on growing one of those than chasing a fairy tale.
- craigyk 13y agoYES. What the 10X myth hurt most is probably hiring practices.
- JimboOmega 13y agoThe thing that always got me is that even if they do exist, the candidate selection methods are, at best, a very unreliable way to identify them. Still, it really fed into the "only hire the absolute best" mythos that has spread in countless other harmful ways. Consider the aphorism "A players hire A players, B players hire C players". The general message of all of it has always been: "You must hire the very best, even one merely good employee will poison the well and ruin everything". Yet hiring practices are, as I said already, imprecise... which creates all sorts of bizarre behavior in the attempt to snag the "very best".
- jiggy2011 13y agoThere are probably a few real "10x developers" out there but the reality is that there are so many lazy and under qualified developers out there that it's not hard for anyone who has put concentrated effort into learning to program to look like one.
- eitland 13y agoYep. I'm hardly a 10x engineer but time and time again people tell me I'm the only one to solve basic questions. As one person who hired me said: there are an awful lot of people who want to have a fat programmer salary but very few who can tell me what design patterns are good for. Basically once you get past the recruiters there's very little competent competition.
- wavesounds 13y agoI remember when my boss told me I was a 'Rockstar' because I stayed up all night finishing a project by an unrealistic deadline he had agreed to for a customer. That was when I knew it was time to quit. Most of this is just ego boosting trumped up by managers or VCs or MBAs to get 'brogrammers' to try to compete to outdo each other with 'dedication' to the company. Sure some people are better then others but if you buy into an idea that you are a 'rockstar' or a 'ninja' or better then '10 other programmers combined', then I'm sorry to say but you're probably really just a 'tool'.
- bliti 13y agoYou make a strong point. This may be used to get people to work harder for the same (or even less) money. I have met talented programmers/engineers/developers. They had that a natural instinct towards computers. But they were not born as 10X. You can be highly talented, but still not be very good. The thing is, people who are born talented gravitate towards exploiting that talent. In computers, its the guys who are always thinking, talking, and dreaming about systems. The ones who sometimes stay up late because they just have to code. Or the ones who are obsessed over the layout of a PCB. It is the mix of talent, and dedication that puts some people above others (in terms of skills). Not some myth or anything.
- rumcajz 13y agoI always thought of 10x engineer not as one that writes 1000 LoC while others write 100 LoC. Rather, as one that says, at an early stage of development "let's do it this way" and the total amount of manyears spent on the project (including maintenance etc.) happens to be 100 rather than 1000, which would be the case if second best approach is pursued.
- finnh 13y agoexactly. good engineers do less, not more.
- silverbax88 13y agoThere's an old programmers joke about this, which I'm not going to try and re-hash in entirety, but basically it's a listing of C++ code that starts off small, then as the programmer gets experience and learns how to do it 'better', the code grows, and grows, and becomes a massive engine of code. Then of course, as the years pass and the engineer gets more experience, the code shrinks and shrinks until it's slightly smaller than the original.
- marcosdumay 13y agoIt's a hello world: http://www.ariel.com.au/jokes/The_Evolution_of_a_Programmer.html http://www.ariel.com.au/jokes/The_Evolution_of_a_Programmer.... And I digress. Every growing C programmer pass into a stage where he wants to push that Seasoned professional code into the least amount of lines possible. Even if nobody can read the lines.
- kabouseng 13y agoThere's another programmers joke: With months of coding we can save ourselves a couple days of planning.
- mahyarm 13y agoYou need a 10x environment to be a 10x engineer. Any 10x engineer can be held back by months or years of legacy and bad code cleanup to start getting to his 10x productivity level.
- bjourne 13y ago10x might not be a good description. It is not specified at all what is multiplied by ten. But I'm sure there are engineers that are capable of performing at levels far, far beyond the average. No one would bat an eye if you point out the huge skill differential between a professional musician or a professional footballer and an amateur. If it could be quantified, Yngwie would be at least 500x better electric guitar player than me and Messi 9.37e8 better at football. I don't think software development skill is all that different. In fact, it would be surprising if the difference between average and elite was only 10x when it is so much larger in other disciplines.
- duncanwilcox 13y agoDo you believe chess Grand Masters exist? They're blind to invalid moves, they don't even see strategically penalizing moves. "10x engineer" sounds like a requirement a recruiter would put in a boring corporate job summary. Meh.
- tdees40 13y agoI think the free market mostly answers this question. According to indeed.com, the average software engineer salary is $91K. So obviously a company (assuming they could properly identify them) would pay $910K/year to a 10x programmer. Are there people out there making that for pure coding (i.e. not management)? Maybe, but it seems doubtful. I would think that generally 99.9999% of programmers make less than $400K if they're just doing programming (I'm excluding things like options or equity in comp, which is mostly just a lotto ticket anyway). So the market seems to think that even the absolute best are 3x-4x programmers.
- alguemoi 13y agoFollowing a Efficient Wage approach, productivity and wages don't grow linearly.
- cia_plant 13y agoAcqui-hires are basically, companies paying multiples of standard salary for exceptional programmers.
- umeshunni 13y agoOn the contrary, I've seen that options/equity is how the 10x programmers are compensated in most large companies. Everyone has a 100-200k base pay and the average programmers get 50k in options, whereas the 10x one gets 500k.
- CamperBob2 13y agoSo obviously a company (assuming they could properly identify them) would pay $910K/year to a 10x programmer. The 10x-100x engineers tend to have names like Carmack and Torvalds. So, yes, they tend to get what they're worth, in the end.
- chii 13y agois Torvalds earning 900k/year? i dont know, but i have doubts that he is. But using salary is a wrong metric, because a 100x programmer would be founding their own company, and the value they gain is sometimes worth way more than 100x the average salary had they remained a salaried employee.
- crazygringo 13y agoThe 10x is a huge simplification, but it doesn't make it any less true. Obviously there's a huge range. I'd go so far as to say there are 100x engineers -- but it's not that they personally achieve 100x more than another programmer sitting in front of the computer. It's that they have the vision and talent to set a project up the right way from the start, so that the normal programmers can be productive. They're the difference between a project being delivered in 2 mos with a new batch of properly-working features coming 1 mo after, or a project taking 2 years with 8x more programmers, crashing half the time, and further features becoming impossible. And then there are -2x engineers, who mess up things in the code base so bad that every hour of their work takes two hours for other programmers to fix or undo. Then there are engineers that accomplish things that other engineers simply cannot. Call these infinity-x engineers. No matter how much people want to call the 10x engineer a myth, there is a truly gigantic variation in productivity levels, which is especially magnified at architecture-level roles (where productivity can have a multiplier-effect on other engineers, for better or worse).
- georgemcbay 13y agoEven the 100x is a simplification, of course. One example (out of an infinite set of them) would be if you need a software system that deals with massive amounts of signal processing on a power constrained real-time DSP chip. There are lots of people out there who are "Senior Software Engineers" at whatever company they work at currently (because they can create website solutions by stacking existing JavaScript frameworks with some glue code) who may never be capable of delivering that system to you. Not 10x later than someone who can, not 100x later than someone who can, not 1000x later than someone who can, but not within their lifetime and thus certainly not within a useful time-frame for your project. And I don't mean to pick on web developers here, that's just used for example. There are plenty of people out there doing web development who could adapt to embedded system programming, or who already do both adeptly, but there are also plenty of "web programmers" who are really actually designers or glorified project management people with little to no aptitude for programming at all. Also, I don't think this is unique to programmers. I wouldn't expect a general practitioner doctor to be able to perform neurosurgery and just have him take 10x longer to do it, he may just never have the "hands" for it.
- debacle 13y agoPeople who don't believe in 10x programmers don't understand that they themselves are probably 3x or 4x programmers, thus to them a 10x programmer is probably only a 2.5x or 3x programmer relatively speaking. There are a lot of 1x programmers out there. So many that it's very easy to be an "above average" programmer. I am not a 10x programmer, but I'm not a 1x programmer either. I've met people who are 6-10x programmers, and they are incredibly good at what they do, to an extent that's hard to describe. I think it requires an even balance of skill, pragmatism, experience, and passion that allows someone to have that kind of performance.
- alguemoi 13y agoI think you don't know how to read.
- debacle 13y agoI don't know how to respond to that. What meaningful insights am I ignoring that I should be picking up on?
- alguemoi 13y agoThe myth, present in the referenced articles and books, isn't that exists different levels of engineers, but that exists a gap between 1x and 10x.
- Dylan16807 13y agoAre you sure? I've never heard that aspect to it.
- jasonlotito 13y agoWhat about 10.1947x programmers. Or 5.345x programmers? And, do you average out the productivity, or is that the minimum or maximum? I mean, if you go on vacation, you are a 0x programmer for that time you are gone. Basically, I think it's a silly thing that's been taken to far. Everyone is a 1x programmer compared to themselves, and a 10x programmer when compared to the right person in the right context.
- natmaster 13y agoI think the main problem with this concept is that everyone fits into two categories. As with any probability distribution of natural phenomena, there is a bell curve. There aren't a handle of 10x programmers and and bunch of 1x ones. Even if the variance is much lower than people think, there would still be room for some number of 10x the productivity of some other person.
- com2kid 13y agoI have known developers who, given a moderately complex programming task, will complete it within a reasonable amount of time. The code will be correct with no more than the expected bugs, and the design will be OK as a stand alone piece of code. The design will not be ingenious. It will not take other parts of the system into account. It will not have simple tweaks done in preparation of future design change requests, tweaks that would make the code no more complicated, but many times more flexible. The code will not be as eloquent or as simple as it could be. A slight alteration to the initial design would have greatly simplified the code and ensured against bugs. Then there is the opposite side of things. The programmer who understands the greater business needs of the product, and writes code in anticipation of what is to come. Not entirely abstract to the point of ridiculousness, but with proper hooks put in that will be needed later. A software engineer who thinks past the most obvious implementation to what sorts of implications different designs offer. A software engineer who creates eloquent and understandable systems. Yes one can argue that proper procedure and design reviews can enable the OK developer to reach the level of the Software Engineer, but at what cost to overhead? 2x? 3x? How many meetings, how many discussions? There is a huge productivity difference between even experienced developers. Denying that is purposeful blindness.
- silverbax88 13y agoThis is a valid thought, but I would piggyback on your comments and add that there are also engineers who put so much thought into their code - usually with the goal of eventual design expansion or reuse - that their code becomes over-engineered to the point that it, too, causes loss of overhead.
- chii 13y agoThere could be two explanations - one is that the engineer who "foresaw" the future requirement just got lucky. The other possible explanation is that they really had a black art in deciding what's needed, and what's not. And black art takes time, and experience, as well as some level of intuition (some might say its heuristic - but heuristic is just shortcuts for lots of gathered experience).
- bowlofpetunias 13y agoI thing part of the mythology about the 10x engineer stems from the very real and shockingly widespread existence of the NNPP or the "Net Negative Producing Programmer". There are many environments in which NNPP's are pretty much the standard, programmers that produce more problems and bugs than actual working and sustainable solutions. In such an environment any competent developer will quickly stand out and will easily be labelled as a "x-times engineer", when all they actually are is just good at their job where others fail miserably. The 10x myth is a way to give a positive spin on the shockingly common incompetence in our field.
- 3minus1 13y agoThis hits close to home currently working as an enterprise web dev.
- nether 13y agoI like the way Mike Church put it in a Quora answer (http://qr.ae/NHgRJ http://qr.ae/NHgRJ): employees are either multipliers, adders (most common), subtracters, or dividers (fire immediately). Whether multipliers are 5x or 10x more productive is a matter of nebulous metrics, but there are obvious standouts whose presence brings a very nonlinear increase in value to the team.
- smacktoward 13y agoThe four-types classification reminds me of a semi-famous saying by a German general, Kurt von Hammerstein-Equord (http://en.wikipedia.org/wiki/Kurt_von_Hammerstein-Equord http://en.wikipedia.org/wiki/Kurt_von_Hammerstein-Equord): I divide my officers into four groups. There are clever, diligent, stupid, and lazy officers. Usually two characteristics are combined. Some are clever and diligent -- their place is the General Staff. The next lot are stupid and lazy -- they make up 90 percent of every army and are suited to routine duties. Anyone who is both clever and lazy is qualified for the highest leadership duties, because he possesses the intellectual clarity and the composure necessary for difficult decisions. One must beware of anyone who is stupid and diligent -- he must not be entrusted with any responsibility because he will always cause only mischief.
- tutacano 13y agoA 10x engineer is not an engineer who works 10x as hard or fast, but someone who knows what to focus on and as result comes up with more elegant solutions.
- pekk 13y agoThen why the magic number 10?
- cocoadog 13y agoOf all the engineers you've worked with, if you can think of eleven such that you'd rather hire one rather than the other ten, then that person is a 10x engineer.
- Tichy 13y agoDoes this even need scientific validation? There seem to be people who can't code at all, so if you can code, compared to them you are an infinity times engineer.
- meshko 13y agoYou can argue with anything if you reduce it to a ridiculously absolutist statement. But the bottom line is that there is a significant gap between the top 1% developer and average "let's see if I can google some code that does that" developer. Is it 10X? Who knows, no sane person can claim to being able to measure that exactly.
- clavalle 13y ago>It over-focuses on the role of the individual and individual contribution in success, reinforcing Silicon Valley’s tendency towards hero worship, elitism and destructive individualism while ignoring the context of situation and privilege. It correctly focuses on people that get stuff done. End of story. Some people drift and others paddle, simple as that. It is valuable to be able to tell the difference. >It can provide a cover for destructive and abusive behavior by the “10x engineer” Whole. Separate. Issue. Being productive has zero to do with being a jerk or not. People might tolerate jerks if they are productive, but that is a value calculation. People also tolerate poor public speaking or being chronically late or any number of other deficiencies for the same reason. If a person creates value they have more leeway, in general. So what? >It erases many of the essential team and cultural dynamics involved in true productivity. True productivity? As opposed to what? Productivity is productivity. This post assumes people are too stupid to calculate the long term effects of behavior and its relationship to productivity over time or to the output of the work group. I think this post is trying to create an argument where none exists.
- otikik 13y agoAh, but 0.1x engineers do exist.
- freyr 13y agoI don't know anything about 10x engineers. I know about 1x engineers, maybe 1.5x engineers. And I know about 0.1x and 0.5x engineers. They're the engineers who scraped by in college, whose heart isn't in it, who clock in and out each day and just try to stay under the radar. They're good at looking busy and getting nothing done. They make the 1.5x engineers look really good.
- Silhouette 13y agoExactly. If you're going to talk about 10x engineers, the first question has to be ten times what.
- marcosdumay 13y agoI also know about -0.3x and -1.5x developers (we are talking about developers here, aren't we? Well, if not, replace with any other professional you want).
- thethirdwheel 13y agoAny article that takes a body of peer reviewed scientific research, points out some procedural problems, and then--without any supporting evidence--claims that their competing perspective is correct is bullshit. Scientific claims demand scientific refutals, not the agglomerated opinions of the twitter-sphere. This is exactly the same tactic used by climate deniers.
- iblaine 13y agoI work with a '10x engineer'. He works from 8 AM to 11 PM, like clockwork, every weekday. He is great to work with but I do not envy him.
- tsax 13y agoMore studies will definitely help. I have a 10X engineer in my larger group and there's no question that he is one. Since I've seen this 'mythical' creature, I would not agree with the piece. Of course memetic transmission of the idea without critical evaluation can be harmful. However, color me paranoid but I see the sentiment behind this as being egalitarian and not meritocratic.
- iyulaev 13y agoHave you ever taken compilers, operating systems, or some other project-heavy class? If so I'm pretty sure you've noticed several individuals completing a project with ease while the rest of the class, working in teams, struggles with. You can visit any decent CS program, any semester, and see this happen. It's no myth.
- chii 13y agoIt might be a failure of the teacher - some concepts are difficult to grasp for some people due to the way their brains think. Some people think in different shapes, different methods. If the method your brain happens to like is the one that is being taught, then you might do reasonably well, by pure chance. If your brain's method didn't fit with the method being taught, you might not learn so well, and thus struggle. This is evident even with something as simple as counting numbers - see this video http://www.youtube.com/watch?feature=player_detailpage&v=UMk963QdShA#t=113 http://www.youtube.com/watch?feature=player_detailpage&v=UMk... , and that's just the concept of counting.
- contingencies 13y agoLet's face it: there's little to nothing that's new under the sun in software. Experience means understanding old but newly recast problems faster, and if you're lucky, solving their higher abstraction level equivalents the next time for greater apparent effect to the lay observer. As widely understood, the essential repetition of the solution act is something that bores good programmers. I frequently explain programming to others as not entirely dissimilar to floor sweeping. Who is the 10x engineer, then? Simple. They hit those areas that are simultaneously the most trafficked and noticeable, but perversely also the most ignored: the office fridge, the corporate atrium, the stained carpet outside the front door under someone else's management.
- gruseom 13y agoI just realized what was bugging me about this article. It points out that the empirical support for 10x claims is shoddy. That's fair enough. But then it switches to making a bunch of claims that have no empirical support: 10x is a myth, it's pernicious, it may lead to drug abuse, etc. So which is it? If we're going to hold 10x up to the standards of rigorous research and conclude that it's bullshit, then by the same logic the rest of the article must be even more bullshit. (At least 10x has some experiments behind it.) By that standard, the only legitimate thing any of us can say on the subject is "we don't know". But if on the other hand we're going to grant some validity to the folklore, then the most likely explanation for the persistence of 10x claims among respected software veterans is that it's grounded in reality, even though it's silly to take "10x" literally. (What the hell is "x"?)
- azakai 13y agoWell said. Without objective evidence, we should be open to the possibility of this being true or false. However, as various people commented here, and I can attest as well, there are engineers who are orders of magnitude better than others. It's plainly obvious when you meet them and work with them for enough time to see. So the interesting thing is why some people disbelieve their existence. If they haven't met such engineers, that is fine - they should be skeptical until they see evidence. But it is irrational for them to discount the eyewitness evidence of others. So the really interesting issue here is why some people, like the article, want to deny the existence of such engineers. Are they threatened by them or something along those lines? I'm not sure. (And of course "10x" is meaningless literally, etc. etc. But programming is a human activity, and we can measure our fellow humans despite how complex we are; for example we can say that some authors of fiction are hugely better than the average, such a thing is not even debatable.)
- jakejake 13y agoThis probably sounds arrogant, but I am pretty sure I'm a 10x programmer or at least 5x. I don't consider myself all that smart, though, I just seem to have a weird ability to get things done without much hassle. I feel like the 10x guys have a mentality where they're able to break things down without getting bogged down with the complexity of the whole thing. It's not that they're necessarily geniuses at understanding complexity - it's that they're able to break down complexity into simple parts. Anyway, I kinda feel like just as there are 10x programmers, there are also -10x programmers. I'd say, even -100x. It's crazy how much time one person on the team can actually burn. One -10x person can suck up two 10x programmers' entire day with support and still create an absolute mess that has to be re-written. A piece of code that's solid will just run. A piece of junk can introduce bizarre, intermittent bugs that the team will be fixing for months. I've noticed that -10x guys have a crazy knack for hiding their errors too. They'll figure out a way to get some botched code past unit tests and QA. Sometimes there appears to be an incredible amount of labor that went into circumventing every obstacle which was designed to prevent shooting themself in the foot! Anyway, not sure the point of my post. But, I do believe that the 10x guys are out there and they can produce 10x without burning themselves out because they just have a way of looking at things that make them more simple.
- btilly 13y agoI find it sad that this article leaves out the (admittedly unpublished) research on the 10x phenomena, which is described in Peopleware. They consistently found 10x differences between experienced programmers on the same task, with the same tools. I find that particular research important for three reasons. 1. The 10 fold difference was consistently demonstrated many times. 2. Their research was conducted with professional programmers, in their workplace. 3. They were able to estimate the impact of a number of different factors, and they found that the single biggest impacts were workplace factors. (Ambient noise, dedicated office space, availability of white boards, etc.) Admittedly they are unable to tease out why the connection exists between the workplace and productivity. Do productive programmers choose good workplaces? Or do good workplaces make programmers more productive? Probably a bit of both. BUT if you're an employer, go read that book. Then consider your office plan. It is a lot easier to pay for a good workplace for an effective small team than to pay for a less effective larger team. Office space is probably not where you want to scrimp.
- jacobian 13y agoHow, exactly, is one supposed to cite unpublished research?
- btilly 13y agoThe authors of the book were the ones who did the research for their consultancy. But you could easily cite Peopleware itself for the research.
- chii 13y agotbh, qualitative research like this has no predictive power. It's just a (few) case studies. The variables that are in these case studies cannot be controlled for, nor tested and/or predicted. All it gives is some example anecdotes. Unfortunately, a lot of social science research end up like this, because of the complexity of the problem. Thus, i wouldn't cite peopleware as research, but as anecdotal examples, or case studies.
- 13y ago
- saltyknuckles 13y agoOff topic, I think its nice to see a pretty girl in the industry. Just saying.
- joecorcoran 13y agoThe writer's appearance has nothing to do with this conversation. Also, given the amount of writing this particular writer has done on the topic of sexism in the industry, I'm going to assume this is some straight up attempt at trolling/derailing. Next time you feel the urge to "just say" something like this, maybe don't bother.
- henrik_w 13y agoSteve McConnell makes some good points regarding 10x SW engineers in "10x Productivity Myths: Where’s the 10x Difference in Compensation?" http://www.construx.com/10x_Software_Development/10x_Productivity_Myths__Where%E2%80%99s_the_10x_Difference_in_Compensation_/ http://www.construx.com/10x_Software_Development/10x_Product...
- altero 13y agoLets put it other way. Why someone should produce 10x more work, even if she/he could? Salary would be probably only 20% higher. And there is a huge pile of disadvantages (no holidays, extra support...). It is also career limiting move as someone becomes irreplaceable and can not get promoted.
- chii 13y ago> becomes irreplaceable and can not get promoted. if a company does this, the employee should threaten to quit. Either they end up really quitting (good riddance - its probably a bad place!), or they realize your value, and pay you extra. No need for "promotion" (to another role/job). I don't get why pay grade is tied to promotion.
- danmaz74 13y agoFor a given task, at a given time, there are for sure engineers that are 10x, or even 100x, compared to some other engineers. But that doesn't make them absolute "10x engineers", it's always relative to the task and the other engineers.
- michaelkariv 13y agoMy biggest problem with 10x is that it commonly misunderstood. The mythical man month (MMM) book explained, an average developer is 3x the worst. the best is 3x an average. So the dynamic range is 9x, but it isn't a math so who cares. And if you are an normal developer with a friend who 3x faster, it is a career guy in a company you would not touch with a long stick, that makes you average and your friend 10xer. This misunderstanding makes people say 10xers are rare. They are not. People who are 10x better than you are rare. I am not that person. I am an average guy. I meet devs 3x my inferior, and 3x my superior. So I do think 10x range that MMM talks about is possible. My second problem with the article is unit of measurement question. It is very clear what it is. A time to completion of a well defined task by an individual developer, with predetermined level of quality of the result. The problem is in the measurement. To measure you have to waste resources giving same task to many. And quality measurements are imprecise. MMM book was all about the time to completion. Obviously nobody counts lines of code. Why even bringing it up? While I think 9x range is possible, I have never seen it in real life medium size teams. (I am a short term projects freelancer, so I see two companies a year over last 18 years) The reason being, my theory goes, a contextual one. Start-ups ship buggy code fast. A fab automation company might test a released code for a year before shipping. I believe it isn't the issue of A players hiring A players and B players hiring C players. It's just the goals differ. I was faster than most at a certain client of mine, but my code was less reliable. That was fine for a specific task I was hired for, but not for most what they do. My third problem is that the article tries to fight the notion of importance of hiring 10xers. In many cases individual performance meters less. Imperfectly studied as it might be, 10x performance measurability beats other metrics of what makes a good developer, and a good employee. How do you measure ability to communicate, motivational power, leadership, and plain good taste? So for established companies 10x hiring is not as critical. And yet, I can clearly see why start-ups are focused on 10xers (ninjas etc). In start-ups individual devs have more autonomy, by design. Winner-takes-most aspect requires short time to market. Delivery times matter much more then quality. That being the case, hiring an obnoxious jerk who codes like hell makes clear if perhaps a temporary benefit. So if you agree that for a startup time to market is a key, and individual developer relative importance is high, a logical conclusion is makes sense to search for (and overpay) the best. Just like it makes sense to fire 10xers once startup gets traction and replace with normally paid, normally performing guys that function great as a team.
- islon 13y agoI don't think the author is saying that there's no difference between productivity between engineers, it's exactly the opposite, there are so many differences and nuances that it's almost impossible to measure all of them. Your mood, chair, coworkers, boss, temperature, programming language, editor, task, etc. all have some influence over your productivity. You can't say "all things equal" because things are not equal in the real world. That's not to say that performance measure is hopeless but that it's as complicated as weather forecast: you have a huge ammount of variables.
- sesm 13y agoSteps to become 10x engineer: 1. Be one of the first in the project. 2. Make project messy (for example, by practicing narcissistic design [1]). 3. Don't do any kind of mentoring for newcomers, don't write any docs. 4. Be an asshole to kill newcomers' confidence. 5. When all other founding engineers leave, you will be 10x even by fair metrics. [1] https://github.com/stuarthalloway/presentations/wiki/Narcissistic-Design https://github.com/stuarthalloway/presentations/wiki/Narciss...
- wishpishh 13y agoIt's strange that she criticizes the research basis for the 10x claim, and yet she's basing her claims about burnout and even alcoholism and drugs on a couple of tweets she received? What happened to source criticism?
- FatalBaboon 13y agoI think it's hard to measure productivity differences, especially in terms of 'x' (times), but it's definitely not constant. However when it comes to whether they exist or not, here's an anecdote: I was working for a TV channel and a piece of software needed to be 'actualized' (made over). By the time the other programmers told me the specs, over the office space, and started debating how long many days it should take, I was done (so roughly 1h). Another point they make is that a group of people can generate compounded productivity. I live the exact opposite. Right now I'm sitting in an office with friendly people, and I roll my thumbs in boredom, but at night I work 1h for select clients and do more than in a week at my day job. The only problem is loneliness. I hardly ever met anyone who enjoys multiple subjects (maths/physics/software/networks/biology/literature and capital management for me mostly), in fact I mostly receive jealousy disguised as mockery. Heck, I learned not to talk about seemingly arcane languages (Racket, LUA and the like) otherwise I'm cataloged and have to fight ridiculous prejudices. I found the best solution is to appear dumb. Discrepancy between expectation of programmer productivity and the reality of one programmer can be very deceiving.
- kstop 13y agoI'd say it's more of a binary distinction. There are people I've worked with who had no notion of their own limits AND had superior ability. Those people would do surprising things as a matter of course, that others might be able to do with time and planning, but most likely would never come up with on their own. When you find yourself greeted in the morning with things like "Hi, remember we had that chat about how to store timeseries data? I added an arbitrary-precision real type to the database last night and set it up", you are in the presence of one of those people. (The other thing I've found about these people is that they are usually the opposite of rockstars. They tend to be quiet to the point of zen. Otherwise there are no worthwhile demographic indicators.)
- anandabits 13y agoIt seems like Medium has become a magnet for articles that reference some science and then go on to draw conclusions that simply do not follow from that science, yet present the conclusions as if they do. The hollow icon article is another good example: https://medium.com/design-ux/a93647e5a44b https://medium.com/design-ux/a93647e5a44b.
- lucidquiet 13y ago"Talent hits a target no one else can hit; Genius hits a target no one else can see." -- Arthur Schopenhauer Enough said.
- dpweb 13y agoThe thinking that gave rise to this article is a mess. It's not a hypothesis, but a FACT that someone can be 10x productive than other person. You were likely once 10x less productive than you are now when you first touched a new language. Citing a number of reasons why someone may want to create this myth, does not make it a myth. Pretty ridiculous.
- ianstallings 13y agoI've worked with a ton of programmers over my career and I know some that are truly better than the rest. But I only know one guy that is the 10x guy. He is filled with energy and cranks out good solid code every single day. This is after he bikes 20+ miles to work. And then 20+ home. He is a machine and I've never seen anyone like him since. That's one guy out of hundreds I've met. I tend to think everyone wants to be the 10x guy, but more likely they're just "good" programmers who want to be better. And that's not a terrible thing. Not every pilot needs to be Chuck Yeager, some just have to fly freight around in a way that doesn't get them or someone else killed.
- gtirloni 13y agoToo many words. Very few points.