22 ms·
The myth of the myth of the 10x programmer (2020)
- cyco130 4y agoI'm a 10x developer for a few weeks a year and a 0.1x developer for the rest. It averages out to about 2/3 of a developer which ends up being good enough for my job.
- lioeters 4y agoI'm currently a 0x dev at rest, recovering from burnout. But when conditions are right (given autonomy and not micro-managed), I've been able to achieve even 1000x by writing tools that empower many devs and users all at once. I think most companies and managers don't know how to manage anomalies like this, and will underpay and overwork them until they're completely ineffective and unproductive.
- nevinera 4y agoIn my experience, people do not use "10x" as an actual output metric, but rather as a rough _replacement value_. You could give me 10 other engineers for a quarter or just that one, and I'll be on track for the release either way.
- andrewfromx 4y ago"I think 10x developers, like world-class athletes, musicians, and authors, absolutely do exist. You’re just not going to find them with a coding test." well there you go. exactly.
- wiseowise 4y agoTests are there to weed out 0.1x developers, not find 10x ones.
- twawaaay 4y agoThat's not exactly true. I use coding tests to observe whether the candidate understands what they are doing and have organised approach to the problem or they just throw stuff at the wall, recompile the code and see if it works. You can ask a carpenter to make a small, simple thing and you will see how competently they use their tools, how steady their moves, how efficient they are with the material. And use that information to understand if they will be good carpenters working on much larger project. But mostly my coding tests are there to weed out people who can talk but not actually program so that I can save time on the rest of the interviewing process or so that I don't have to fire them in 2 months for no results.
- smcl 4y agoWhat you've described sounds roughly like what wiseowise said, though. I think 10x/0.1x is a bit of an oversimplification - there's no ISO Standard 1x Developer you can compare to - but if someone says they're using tests to filter out "0.1x developers" that could be definitely be interpreted as them weeding out people who can talk but not actually program.
- Consultant32452 4y agoI use coding tests to weed out potential employers. As a general rule I'm barely willing to even interview. I can't remember the last time I spent more than 30 minutes "interviewing."
- twawaaay 4y agoThat's fine. Some people don't want to put any effort getting a job or are not willing to show if they know how to program. I respect your position. But understand, you are making it tough for me to know if you are good developer or just one of those people who are good at talking their way through interviews or need to go to a hundred interviews to get a job by accident. You will not get hired if I have anything to say about it. I don't need to hire every good developer. I just need to hire some. The interview is optimised to make it unlikely for a bad apple to come through because it just cost too much to deal with people who are unable to perform. It is very hard to tell if a developer is in fact a good developer but it is pretty easy to spot a person who can't program their way out of a paper bag -- just get them to write a piece of code while you are watching them do it and explain what they are doing. And I also prefer to work with people who are easy to work with -- like people who don't make demands that don't bring them any value. One definition of stupid is people who cost other people without any benefit for themselves. They are just drag on everything but don't benefit from it. If you come to an interview that I have designed and tuned and start making demands to change this or that derailing my plan and creating no advantage for yourself it is a sign of particular flavour of stupidity, in my view. Smart people try to find a way to benefit themselves and even smarter people try to find a way to benefit both themselves and others by trying to find a mutually beneficial solution to their problems.
- m0llusk 4y agoTests are there to make sure the focus is on people who like puzzles and not those who proceed slowly in order to keep key product features in mind while also composing plenty of tests and documentation and working with the team to be sure of direction and consensus.
- wiseowise 4y ago> and not those who proceed slowly in order to keep key product features in mind while also composing plenty of tests and documentation and working with the team to be sure of direction and consensus That’s why there’s a system design round.
- shapefrog 4y agoTests find the 0.1x developers that studied for the test.
- wiseowise 4y agoWhatever helps you sleep at night.
- nsb1 4y ago100% this. I've interviewed a great many candidates over the years, and the coding exercise has always been an incredibly valuable litmus test. It gives the interviewer a chance to see whether or not the potential employee has the knowledge of the language and skills needed to do the job. If a developer can't even figure out how to do a basic function on demand, how are they going to be able to contribute to the team? If a developer won't do a basic function on demand, then that's an instant disqualification. Anyone can say anything on a resume, and there needs to be a way to validate that it's not just a fabrication. To be clear, I am making the distinction between "coding exercise" and "brain-teaser". Brain-teasers are not useful in an interview context, and only result in adding stress to an already stressful situation. Simple tasks like "Write a function that rolls two dice and calculates the position of a game piece as it moves around the edge of a game board" are much better. I am not looking for the candidate to give me their masters thesis in a piece of code on demand, I am looking to weed out candidates that clearly don't have the skills to fill the position.
- nathias 4y agoI don't think this is really in good faith, what is meant by 10x programmers is exactly that they are 10x more productive in grinding jira tickets, not that some people know more and are wokring on harder problems, etc.
- philipswood 4y agoI think this touches the base of the disagreement about their existence: the unspoken definition being used. When I hear 10x programmer I definitely don't think "that they are 10x more productive in grinding jira tickets." I think there are programmers who can build something that would take ten or more other developers to replicate. And that's "easy" since some people can win by choosing the right game to compete in.
- onos 4y agoI think it’s means “there are coders out there who are consistently 10x more impactful than the average coder,” and this could be the result of simply speed or through other methods — finding better solutions etc.
- nathias 4y agothe most impactful are the architects, their bad decisions echo through eternity of code spaghetti
- BenFrantzDale 4y agoExactly this. I’ve seen architectural decisions that over time lead to exponential work to implement new features. An architectural fix can lead to a big-O difference in productivity, not just 10x (a constant factor).
- MrOwnPut 4y ago10x programmers aren't going to be good at grinding tickets. they'll procrastinate on them because they are boring and tedious and will go work a massive project instead because it's fun to them. they'll finish that massive project in the time everyone is fiddling their thumbs with the stupid back and forth of the meetings and whatnot of those "tasks". if you are lucky to get one of us, let us run free, we'll make you some really cool shit without any input. if you stifle us and try to fit us in a box, we won't make shit. we'll eventually get bored, pissed off, and leave. oh and don't touch our code, it's beautiful, and it's the only way it'll work, trust us! ideas welcome, code not! we don't like teams. one person, one thought, one architect, one vision, one program. source: am one, believe me or not idc, i prefer being mythical.
- samastur 4y agoAt the beginning of my career I worked in a team of 6 developers. Everyone except me was at least a competent developer. One of us did literally 80% of work. Company was paid by head so it didn't care about productivity of others and our client (HP) was happy. Hence I know that incredibly productive developers exist, but they are also rare since he was the only one that really qualified in more than 20 years of my career. Because they are rare I don't care how to test for them as it is very unlikely I'll cross path with any when searching for new team members (not sexy enough work) and just try to focus on finding competent reliable people.
- Zenst 4y agoI know few like that, had spell myself in my youth. Sadly, you learn in later life, you don't get compensated any more and worse, you set yourself up for burnout. Something I'm aware many did and, dare say, still do. Companies don't care, they'll take your blood but not good at giving it back or, indeed, slowing you down to the rate they pay you. Let alone, compensate for the efficiency (though that may have changed in the last decade or so in some places).
- twawaaay 4y agoThat's a good point. The fact is, if you are working for a corporation your salary is mostly dependant on your position and not on your output. Peoples outputs can be orders of magnitude different and they will still be earning roughly similar salaries. My advice to 10x-ers is: don't work for corporations. If you can be very productive you are selling yourself short.
- xyzzy4747 4y agoAgreed on this. If you are a true 10x’er or 100x’er you can do best by making your own company. A year and a half ago I actually did this and recently exited for a good sum. Made a lot more money than if I had kept my salaried position. The most productive engineers are not only good at coding, but also at identifying market value or customer need, and dealing with others to efficiently build everything required for the business.
- danabrams 4y agoMy experience is that you can find developers who are 10x as productive as their peers, but rarely at the same company. That is, the average engineer at company A is 10x as productive as the average at company B. I don’t have data on it—it could be hiring or compensation—but I suspect it’s simply systems of work that spend more time focusing on the right problems, in the right way, without slowing down the work.
- bayesian_horse 4y agoI've seen it at the same company. Different people have a vastly different likelihood of coming up with workable or even good solutions and execute them in a timely fashion. I'ts not just about systems.
- peepee1982 4y agoAll you need for the myth to be true are a few programmers who will take 10 times longer than necessary to complete a task. I'll happily sign up as a volunteer. Or in the words of Nelson ‘Big Head’ Bighetti: “Richard’s a 10x-er. I’m, like, barely an x-er. I kinda suck.”
- brianmcc 4y agoDo we really need to rehash this every couple of months? I mostly tend to enjoy the back and forth on it but even I am finding it something of a pantomime now :-(
- revskill 4y agoAutomation is key. Whoever could replace other's manual process by one time automation tool, it's 10x developer. It's not about your "super design pattern".
- hahamaster 4y agoIf only it were that simple. You can't automate IQ, experience and vision. 10x developers are regarded as such because of the quality of their output, not just sheer volume.
- revskill 4y agoIt's your choice: Or you keep repetitive manual work to get "boring job" done, or you get creative by automate them.
- sumtechguy 4y agoHad a project where the tedium work was cranked to 11. I automated that because I sure was not going to do that for every time I wanted to deploy some code. I also automated the semi complex task that you only do every 2-3 years. Because I sure was not going to remember the steps and I am 100% sure it would just get lost in our sea of documentation. Spinning a new env is mostly just running some scripts instead of days of filling in fields. Computers do the same over and over exactly the way you told them to. Use them. On the other side of that it is dead easy to over complicate something. I am dealing with a project like that now. 5 layers of indirection, model view, the testing framework is solid, the whole thing. It is a single form app with 3 buttons and 4 edit controls.
- adamgordonbell 4y agoWhat if you described linear algos as being 10x faster than quadratic ones? The 10X meme is both too extreme, by implying that Fabrice Bellard could kick out simple crud tasks at 10X the speed I do, and not extreme enough, suggesting that I could build ffmpeg and qemu the same as Fabrice if I was just given more time. And also, the 10x meme, and how it’s often used, implies that skills are interchangeable. Should a great database internals expert be able to build a great micro-services architecture? Earlier post: https://news.ycombinator.com/item?id=32600331 https://news.ycombinator.com/item?id=32600331
- jasode 4y ago>The 10X meme is both too extreme, by implying that Fabrice Bellard could kick out simple crud tasks at 10X the speed I do, and not extreme enough, I understand your point and I think it just reinforces the fact that the "10" in "10x" should not be literally parsed as a number. My previous comment about the common conversational usage of "10x" is just a synonym for "much smarter than average": https://news.ycombinator.com/item?id=13753178 https://news.ycombinator.com/item?id=13753178 Another example of a random comment where "10x" does not literally mean "mathematically multiplied 10 times": https://news.ycombinator.com/item?id=28784181 https://news.ycombinator.com/item?id=28784181 It was just another example of "10x" as a short way to type out "significantly better" and the "2x" as a synonym for "slightly better".
- adamgordonbell 4y agoThis is a good point. If people used 10x to just mean: 'this person has a different magnitude of skill in a game changing way' then the term makes sense. It clarifies that it doesn't mean that its 10x faster at tasks, like the original 10x study was about, but more just a shorthand for being of a different class of skill level.
- bee_rider 4y agoThis makes it sort of trivially true, though. Our scale of what skill looks like is naturally normalized to typical human capabilities, and “much” is a a point on that continuum. If we’re going to talk about talent on a scale that is normalized to typical human abilities, IMO it would be better to assume talent distributed on a Gaussian and talk about n-sigma talents. We’ll end up sounding like Jack Donaghy though I think.
- douglaswlance 4y agoEngineering ability probably fits a normal distribution.
- gadders 4y agoYeah. And I think 10x coders are probably as rare as professional sportsmen or members of a concert orchestra. They exist, but does your business need them? Of course it would be nice if coders that rare were paid like pro-athletes...
- krona 4y agoAt first I thought no it must be lognormal since productivity must be at least marginally more than zero, but then I realized that's definitely not true: I know developers who definitely have negative net productivity on the team. The -0.5x developer is not a myth.
- tmtvl 4y agoAs a 1/10th developer, I can confirm that net negative devs exist.
- sumtechguy 4y agoas a 1-2 (depending on proj). I try to bring them up and try to help them. But some people either do not gel into the group or they are hopeless. But I hold out the eternal flame I can help them be better!
- gampleman 4y agoMore likely a power law.
- chatgptgenbot 4y ago[flagged]
- yellow_lead 4y agoThe article even predates ChatGPT. Bad bot
- davikr 4y agoI'd rather have no bots intruding at all, yeah. It can be annoying browsing Reddit with all the sludge from bots trying to be funny or corrective.
- chatgptgenbot 4y agoOK I'm a human and it looked like a good Idea to start this bot. Will remove the bot and these comments. Sorry for the trouble/the interruption
- api 4y agoOf course 10X programmers exist. Nobody debates the existence of 10X athletes, writers, painters, etc. What I think people react against is the idea that it’s some magical intrinsic thing. It’s not. Like anything else it’s got a component of aptitude but the rest is lots and lots of learning and practice and “getting into the craft.”
- goethes_kind 4y ago10x exist in most fields. In academia there are definitely people who are heads and shoulders above others, for example. Then it is also a matter of interpretation, what is meant by somebody who is 10x: 1. There are people who are 10x better at working in one codebase simply because they have so much experience with it. 2. There are people who end up leading a great lab. The sum total of their circumstances end up making them 10x more productive than their colleagues in their field of research. 3. There are people who can be dropped into an unknown research/development environment and be productive 10x faster than others. I think people mostly mean 3. when they talk about the 10x programmer. Anyway, does any of this really matter? If you are a 10x programmer, then you should make sure you get compensated for it. And if you aren't, you really do not want to get confused for one as the pressure of expectations will make your life miserable. I personally believe most people reach their optimum lifestyle subconsciously. A 10x programmer gets there because (he (or she) is naturally talented) and he has enough interest, desire and willingness to commit his time to become 10x better. If you aren't a 10x you probably also do not really want to be a 10x, because you probably value spending your time elsewhere or just do not truly enjoy the stress that comes with such a role. Basically what I want to say with all of this is: 1. There are definitely some people who are heads and shoulders above others. 2. But in many cases a 10x is a 10x in their natural environment. If you remove them from their natural environment they won't replicate their success, even if their natural ability is also very much above average. We tend to attribute all the merit to the leader and forget all the people working under him. 3. You shouldn't concern yourself with how high you rank in this hierarchy. Do what you feel comfortable doing and enjoy life. You probably subconsciously chose the role that most accommodates your lifestyle, anyway. I think I might have veered a bit off-topic.
- YetAnotherNick 4y agoAcademia is not "most fields". Most field is Farmer, business, lawyer, plumber etc.
- brushfoot 4y agoGP never said it was: > In academia there are definitely people who are heads and shoulders above others, for example [my emphasis]. GP was providing support for their claim that 10xs exist in most fields. Academia was just one example of a field (or "field of fields"). The same could be said of farming and plumbing.
- gadders 4y agoCompanies: Don't be looking for 10x programmers, unless you're 10x-ing their salary as well.
- bigfishrunning 4y agoReally, you'll have a much more positive effect on your bottom line by avoiding the 0.1x programmers, which are shockingly common
- gadders 4y agoNothing ruins things faster than the wrong people.
- bazoom42 4y agoWhy would you do that? That would introduce major risk for no benefit.
- gadders 4y agoI mean maybe not 10x their salary, but don't be cheap. Pay them like your top salesman, not like an accountant.
- duxup 4y agoI don’t understand what people mean by 10x programmer. My first exposure to the term were meme type descriptions that seemed to describe 10x programmers as fast, but also implied a lot of negative qualities, anti social, no time for meetings / communication / documentation. I thought it was a joke meme making fun of very fast but ultimately flawed programmers…. but then I realized some people were serious and sorta glorifying the negative aspects as well.
- dagw 4y agoI think the term was, if not invented, then at least popularised by Joel Spolsky in one of his blog posts. Initially the term was purely positive and did not imply any negative traits. The core argument of the blog post was that focusing on things like scrum vs agile and different testing methodologies and programming languages etc doesn't matter anywhere near as much as the actual programmers you hire. Hiring the right programmer will have 10x impact on your overall productivity compared to choosing the right project management or testing methodology.
- adamgordonbell 4y agoI believe the term comes from a study done my Tom Demarco, and was about developer performance across companies, on an equal task, with a somewhat controlled level of experience. It def wasn't about some guy on my team rocks, but about this company over here does better work. That meaning isn't really how its used now though. The study was "Programmer Performance and the Effects of the Workplace"
- Izkata 4y agoBuried in the comments here someone posted the quote it came from: https://news.ycombinator.com/item?id=34453110 https://news.ycombinator.com/item?id=34453110 It's older than the study you're referring to ( https://dl.acm.org/doi/10.5555/319568.319651 https://dl.acm.org/doi/10.5555/319568.319651 )
- 4y ago
- ChrisMarshallNY 4y ago> I think 10x developers, like world-class athletes, musicians, and authors, absolutely do exist. You’re just not going to find them with a coding test. I can confirm. I have no idea, whether or not I'm a "10X" programmer, but I do tend to work quickly. So quickly, in fact, that I often piss off the people I'm working with, because the job is done, before they have had a chance to interfere with^h^h^h^h^h^h^h^h^h^h^h^h^h^h^h contribute to the project.
- Consultant32452 4y agoI consciously reduce my output to be at about the 70th percentile of whatever team I'm on, with short bursts of max productivity when I subjectively feel like it will help the team get out of a pinch. People like me a lot more this way.
- shapefrog 4y agoBeing seen to be labouring away also becomes important. Punching out 3x others, while working regular hours against visibly "harder working" people - leads to a reputation of being lazy.
- Consultant32452 4y agoOnly accepting remote work positions has fixed this problem for me.
- TheRealDunkirk 4y agoI concur. I've demonstrated that I'm a 10x+ full-stack programmer several times in my career, but I've met at least a few people who could bang out code better than me. I can design complicated systems with many moving parts to solve difficult business problems, and hand them off to someone else to manage with minimal maintenance. I've done it many times. However, I worked with one young guy who understood Ruby better at age 25 than I ever will. But then it came time to log into the server and do something, and he didn't even know how to open a terminal and SSH into the box! So, no, I don't believe a simple coding test will find people who are "10x" in software development. There's a lot more to it than just writing lines of code.
- TheOtherHobbes 4y agoThere's confusion about different kinds of value. There are people who can kick out an impressive volume of relatively routine work. And there are people who have exceptional structural insight and can use them to make projects simpler, cleaner, faster, and more reliable. There are also really smart people who complicate projects unnecessarily. And people who are 10X politicians who appear to be doing a lot of work but are actually doing very little. Any of these could be labelled a 10X developer. But only two are genuinely valuable.
- deleted 4y ago[deleted]
- k__ 4y agoCarmac or Torvalds are 10x. But they won't work for your company. So, stop talking about it in your interviews.
- daviddever23box 4y agoThere seems to be a convergence of largely orthogonal skill sets here, which may create confusion about what the most useful components of a 10x are. For example - I see optimization abstraction as a core skill, searching for the best performance given the least amount of resources (whether developmental or computational) and what seems to be a familiar pattern. Tooling agility may be another, i.e., how quickly can one re-create a cookiecutter build environment with observability, tests and release signing given a blank slate. Package creation might also be a thing, though it is an example of optimization abstraction. Troubleshooting skill sets follow from experience and understanding, and, frankly, some creatures are better than others in this regard. Lines of code (LoC) used to be a measure, two decades ago; these days, compactness, certitude and conciseness may be the golden ticket.
- gampleman 4y agoI wonder if the study this cites is powerful enough to find a 10x developer. Generally you find the biggest jumps in ability on the far right of the distribution graph, so I would expect a genuine 10x programmer to be much rarer than the 99th percentile, which seems about the limit the study is able to reasonably talk about with ~400 participants. I'd be betting more like 99.9th or even 99.99th percentile would be more like it.
- afpx 4y agoI'm only a slightly above average programmer, but I'm probably 5x when it comes to finding better, faster, more efficient ways of doing things. I'm more of a gordian knot cutter than a programmer.
- pharmakom 4y agoWe need to talk about infinity X developers. I don’t care if someone is 10x faster than average at building a CRUD app, but there are developers who come up with solutions that an average dev would never come up with, even given a lifetime. I’m talking about innovations like Lisp, Deep Learning, React framework, the first 3D engines, CRDTs, Git version control, Bitcoin, etc…
- 83457 4y agoIf we are starting to talk about infinity X developers then we need to talk about savants.
- deleted 4y ago[deleted]
- brushfoot 4y agoNot to mention the devs who can look at a problem and say, "Software isn't the right solution for this. Let me give so-and-so a call and we'll have this ironed out in 5 minutes."
- bob1029 4y agoThis is a much more meaningful litmus test for extreme capability. Building something like a 3D engine requires incredible mastery across multiple domains. The hardest part of these innovations isn't the software. It's developing an abstract mental model for the problem - repeatedly until it fits into an actual computer. When I work on my most extreme projects, I find the hardest stuff happens while I'm sitting around the house or scribbling on the whiteboard. Anyone who uses lines or hours of code as some statistic for capability can be instantly flagged as charlatan in my book. React is another good example. Absolutely nothing about it is a super deep pool of incredible innovation. The reason it's a thing is because someone had a very coherent vision in their mind for what the developer experience would be like. Then, they whacked at the workpiece until it approximated that idea. 10x is more about idea management than raw output.
- notatoad 4y agoi think the difference is that most of us actually have a shot at working with or hiring a 10x engineeer, so it's a useful thing to consider. the infinitely-better engineer is probably not going to be working at your company building CRUD apps.
- bazoom42 4y agoWe can keep discussing this forever and get nowhere if nobody defines what is meant with 10x. Ten times what compared to what under what circumstances? Is the baseline the average developer worldwide or the average developer in any particular team? Are we measuring jira tickets fixed or net profit produced for the business, or the impossible-to-measure “productivity”? Are we measuring a single task or consistent performance over years? The anecdote in the OP is about a developer solving a task in a tenth of the estimated time. Great, but this seem more like an issue with the estimation process which presumably didn’t involve the devloper. Would an unrealistically low estimate mean they were a 0.1x developer?
- stared 4y agoFor simple work, sometimes you can only optimize a little, let alone - 10x. For advanced stuff, the difference is not 10x. It is infinite. Some people would do it well, some poorly, and order(s) of magnitude longer, most - not at all, even if they put decades into that. Think: how long would a regular software developer take to do John Carmack's work on Wolfenstein and Doom?
- ithkuil 4y ago0.2x developers and 2x developers
- littlestymaar 4y ago> I think 10x developers, like world-class athletes, musicians, and authors, absolutely do exist. Most of the issue with the 10x developer as a concept is (involuntarily) summarized in this quote: 10x developers don't exist, merely because 10 times is a lot! World-class athlete don't run ten times faster than anyone, and a F1 can't drive ten time faster than a cheap car. In most competitive situations being just 10% better than the competition will make you win most races and earn most of the awards. Do 2x programmer exist, probably, but that's about it. Or you can call then 10x if you want, in binary ;)
- bigfishrunning 4y ago10x programmers exist because the average programmer has very little productivity. A high-performing marathon runner can complete a marathon in about 2.5 hours -- if the average person ran a marathon in 25 hours, then that would be a 10x marathon time. This is the situation we find ourselves in with software, the bar is very very low.
- littlestymaar 4y agoBut the same way no one ever runs a marathon in 20 hours, the average developer isn't 10 times slower than the most efficient ones either. The situation we find ourselves with software has very little to do with the actual developer effectiveness: I've never witnessed a project that was slow to deliver because one developer was too slow, it's almost always organizational and management issues that slow down development teams. A poor developer in a functional team with good leadership will outperform a rock-star in a dysfunctional organization any day.
- samsquire 4y agoAn idea I had was professional appraisal website Where one developer can evaluate the skills of another developer and how effective they would be working with them. Rather than leetcode tests you can review the technical skills of your peers. I want it to be richer than endorsement on LinkedIn but a proper evaluation of the achievements of a peer. If you don't use GitHub it might be a struggle but I would love to be evaluated by other developers.
- epups 4y agoI'm not sure people who are 10x more productive than me exist, but certainly there are people earning 1000x more than me.
- disruptiveink 4y agoWas this blog compromised in some way? "Idea" in the second paragraph links to to an obvious content farm/spam site for no particular reason. Strangely enough, there doesn't appear to more instances of this from a cursory glance.
- 1xdevnet 4y agoThere are instances in other articles, including the latest one from December. It's a WordPress site and the links are baked into the HTML so yes, it's likely running a compromised plugin.
- febeling 4y ago10x you become when you‘ve solved all components of the problem before.
- LarsDu88 4y agoI think folks miss the point when thinking about 10x devs. The point is that there are some folks out there that can do the work of entire teams or entire companies. When you have a team you have hours long sync meetings, communication lag, and middle managers. A single capable individual doesn't need any of that. The tradeoff is that the resulting code might be unmaintainable in practice. Minecraft is a great example. Notch wrote the complete game largely by himself (with one or two other folks), but now that it's managed by a team and owned by a megacorp, it's effectively rewritten. With 100x more people is it 100x better? Probably not
- deleted 4y ago[deleted]
- ozim 4y agoI am sorry but I just get annoyed reading opinions on what 10x means. See for yourself by how much you miss. Read the quote from Fred Brooks work: *Programming managers have long recognized wide productivity variations between good programmers and poor ones. But the actual measured magnitudes have astounded all of us. In one of their studies, Sackman, Erikson, and Grant were measuring perfor- mances of a group of experienced programmers. Within just this group the ratios between best and worst performances averaged about 10:1 on productivity measurements and an amazing 5:1 on program speed and space measurements! In short the $20,000/year programmer may well be 10 times as productive as the $10,000/year one. The converse may be true, too. The data showed no correlation whatsoever between experience and per- formance. (I doubt if that is universally true.)*
- Ensorceled 4y ago> I am sorry but I just get annoyed reading opinions on what 10x means. There are literally people redefining it in this thread: > 10x = It takes 10 people to clear the mess they left behind. > All you need for the myth to be true are a few programmers who will take 10 times longer than necessary to complete a task.
- fhd2 4y agoThat's what's described in The Mythical Man Month at some lengths. No matter what the process, there's communication overhead that increases somewhat exponentially with team size, which means you get diminishing returns from adding more devs at some point. A solo developer is in my experience always insanely productive compared to a team, as long as it's not a junior at least. But there's still a team size at which the larger team breaks even and can be more productive - plus you have a better bus factor. If you want to go fast, do it alone. If you want to go far, do it together. Unfortunately, I've seen a number of self proclaimed 10x programmers act completely uncollaborative to put themselves in the solo developer situation, outperforming teams of ~5. If management can't recognise what's happening there - they pay someone more than the others to effectively hurt the company.
- jackcviers3 4y agoIf you are measuring productivity, the authors of significantly popular programming languages are 10x via their programs enabling the users of the programming languages to develop software and the economic value that software provides. The same can be said of tooling and major OS programmers. The work of devs like Guido van Rossum created, Linus Torvalds, Ken Thompson David Moon ,Richard Stallman and many others is so multiplicative in terms of economic value output that a single order of magnitude doesn't come close to describing it. It's probably more like two or three orders of magnitude.
- popcorncowboy 4y agoCode is commodity. It's brick laying. It's the modern blue collar job. The "10x" myth can be hotly debated precisely because there's only so fast you can lay bricks, and thus extreme productivity variance seems implausible at that level. However, as others in this thread point out, the "10x"+ god-mode developer isn't laying bricks faster or with more panache. Their multiplier is in knowing where to not lay bricks, the shape, the structures, the architectures, the pitfalls, the elegant designs. Solving problems in one, that a team might take several shots at and never solve. As @adamgordonbell pointed out, paraphrased, a "1x" dev is not simply a slower Fabrice Bellard.
- turtleyacht 4y agoOh! So we have to see if we are referring to a nominal or ordinal measurement: a nominal one like Mohs, where hardness is relative, or ordinal where it is scaled. For ordinal, we could have homogenous quantity, like meters, so "10X" is really ten times (or the ten means "an order of magnitude by") more productive. Or it's ordinal in that it's numeric in some other sense. If ordinal, we would have to establish a baseline measurement of what a unit 1X programmer would be. And we know this would vary wildly based on environment, context, and even age. We (the folks in this thread) may agree--other than by personal experience or the Siemans experiment, etc--that there are many confounding factors to just such a measurement. I think the lowest common denominator we can agree on then would be that there are programmers who are at at least an order of magnitude more <something> (productive) than what we would normally perceive; therefore, 10X programmers certainly exist. Yet the context of that interpretation depends on the individual, and even by snapshot (maintenance costs did not increase 100X, great docs, mentoring, attitude, etc).
- deleted 4y ago[deleted]
- LastTrain 4y ago10x programmers exist but are so rare you can’t hope to staff your team with them. More common is the self-described 10x programmer who doesn’t communicate, doesn’t document and leaves a mountain of unmaintainable code in their wake, then move on to the next project leaving you holding the bag.
- throwawaaarrgh 4y ago10x compared to the worst programmer definitely exists. but there is no average programmer. that's like saying "average sports player". pocket billiards and Olympic lifting are both sports.
- bryanrasmussen 4y agoIf I remember the quote has to do with programmers who are worth 10X more, which most programmers tend to think of as being 10X better programmers. Not sure what would make them 'worth' more in Jobs' view, but it might not be just their ability to program. That said he worked with Steve Wozniak - I guess that guy might count as a 10X programmer for just about anyone.
- osrec 4y ago10x programmers, and dare I say, 100x programmers exist. I believe one works in my team. It's not the speed at which they write code, but the intuition and motivation with which they write it. The code is as solid as houses, yet as flexible as a piece of plasticine.
- LastTrain 4y agoChatGPT?
- osrec 4y agoNot yet, but maybe in the future?
- LastTrain 4y agoI meant your reply, was it generated by AI?
- Applejinx 4y agoCould be. That same user says they used to use MacOS and hated how the UI got in the way, and now they use Linux, and like it, but that the Mac UI is 'more beautiful'. Those are all common opinions one might have, but it's unusual to see someone driven to Linux by Mac UI getting in the way, saying it's 'beautiful' when it's the thing that drove them away. AI's a heck of a thing but it sure doesn't pin down a definable position very often. Much like with that parent comment, there's this noncommittal quality.
- osrec 4y agoWell, I'm definitely not ChataGPT. The fact that you thought I was made me chuckle though!
- robocat 4y agoI think it is insulting to insinuate that someone’s writing is similar to ChatGPT. Firstly, do a basic check using https://openai-openai-detector.hf.space/ https://openai-openai-detector.hf.space/ - it isn’t always correct but it is a strong indicator. Secondly, it is entirely normal that some real people will have a style that reminds you of ChatGPT. After all, ChatGPT reflects an “average” writing style of real people. Finally, perhaps reread https://news.ycombinator.com/newsguidelines.html https://news.ycombinator.com/newsguidelines.html . One word comments are usually a sign of particularly poor form, and many of your comments are a single sentence. That can be a sign of deep insight, but usually isn’t.
- chiefalchemist 4y ago10x is only an positive if she / he makes others more effective as well. If they detract - and we've all seen'em - then the metric is the delta between the 10x and the affects on the rest of the team. Since 10x'ers (by defintion) are rare, most leaders / managers should be trying to build 10x teams. That is, the whole is better than the sum of the parts. For example, a team of 5. As team members, at any given moment three rise to 3x, one to 1x and the fifth is neutral. Something like that.
- golondon 4y ago10x = It takes 10 people to clear the mess they left behind. In my 15 years of career, all people I have seen who were referred as 10x were the people who took terrible shortcuts to deliver whatevs they try to deliver and when it comes to building on top of that thing everyone who touched that hot mess had a miserable life.
- fargle 4y agothat's not a real 10x. that's a 0.1x who heard about it and tried to emulate it. it's not 10x in SLOC or whatever, it's total, long term, value. and yet it does exist. it's like arguing that Michael Jordan doesn't exist because everyone you've ever played with was only about as good as you.
- user3939382 4y agoFabrice Bellard truly is a myth.
- sambapa 4y agoA fabrication, you could say
- Waterluvian 4y agoFrom my perspective, the entire problem is just semantics. People are debating things like "10x isn't actually always 10 times the output" and "it depends what the context is and what the short- and long-term goals are when deciding if this person is doing miracle work or just making a mess for the future." If we said, "there exists people who are, in many contexts, just naturally very fast to come up to speed and stay up at speed" I don't think there'd be a debate. We aren't labelling a specific context or speed, but we all know people like this exist, by very nature that not every human is equally as good as every other human at everything, and outliers exist.
- nintendo1889 4y agoThis is woke thinking. See what the inventor of Direct-X says about recruiting Alex St Johns - someone who has _actually_ recruited people.
- scarface74 4y agoEven if I were theoretically a 10x developer, why would I do 10x work if more than likely I would get nowhere near 10x pay?
- Ensorceled 4y agoWe gave the 10x developer who worked on one of my teams a VP level equity and bonus position in addition to being paid the same as me.
- scarface74 4y ago“Equity” in a private company is statistically meaningless. You might as well have said you gave them Monopoly money. I can’t pay my bills with “equity”, investors get first preference, dilution etc. I see you didn’t say “we gave them money that they could put in their bank account that they could use to support their addiction to food and shelter.” Yes, RSUs in public company can lose value. But at least I can and do sell every six months at vesting a diversify. And only 1 out of 10 startups “succeed” and by “success” that means the investors get their money back, it says nothing about how the employees fare.
- Ensorceled 4y ago> I see you didn’t say “we gave them money that they could put in their bank account that they could use to support their addiction to food and shelter.” I LITERALLY said "bonus position in addition to being paid the same as me" .. so yes, I did say "we gave them money they could put in their bank account". Take this rant somewhere else.
- scarface74 4y ago“A bonus position” could have meant “a bonus title”, higher up equity position, etc. Giving them “a raise” or even “a large one time bonus” would have been “literal”. I have no idea who you are “being paid the same as you” could literally mean anything. Was that a 10% raise? Is he getting 10x more than the average developer? How does his “equity” compare to the founders? The investors? “Getting paid the same as you” also could mean he gets paid less than the average SWE II at any major tech company. “literally” your reply doesn’t say anything. I’ve been contacted twice about a “CTO” position in the last three years by sone unknown startup that was offering me less compensation than I make as a mid level cloud consultant working remotely at $BigTech. (I have a great network locally). I have no illusions of being “10x”
- fnordpiglet 4y agoThey caveat it with “well defined programming problem.” That’s the myth. In my 30 years I’ve both been the 10x and managed 10x programmers. Their skill isn’t in programming, it’s in reducing ambiguity rapidly and advancing efforts through complexity rapidly. It’s in taking the initiative and in developing a depth and breadth in what “Right” looks like and knowing how to achieve it. It’s in having mastered not the ability to write code, but to read other peoples code and improve on it rapidly. It’s the ability to spot a defect or bug and know the solution instantly for a normal bug, and know how to successfully debug an extraordinarily difficult bug. Saying these people don’t exist is absurd. Saying that in any practical sense our career is solving “well defined programming problems” is doubly so. Edit: I’ll also add, 10x programmers don’t make everyone else less valuable on the team. First, they make everyone on the team more valuable. But there’s also an incredible importance in being able to take a direction and methodically work it to conclusion. These are the workhorse programmers. You only need one 10x programmer. Their force multiplication doesn’t work on each other. They also can’t do everything alone. So while they’re valuable, they’re not valuable without the team around them. And in my experience they can’t stand not having a team around them. Part of their ability is their empathy for their peers and their internal necessity to help people solve their problems faster.
- acedTrex 4y agoYa i think this comment nails what i consider to be a 10x programmer. They aren't people who solve things quickly. They are people that solve things quickly and also enable their team to solve things quickly. They feel a need to not only be efficient themselves but enhance the efficiency of their teammates through mentorship, teaching and team awareness/empathy.
- thrashh 4y ago10x programmers are like living reference books They Know Their Shit. They won't remember details necessarily off their head but they don't need to look up notes. When you talk to them, it's like they just pulled up the Complete Lego Block Reference in their head and are snapping the pieces together. They can't tell you the exact size of a piece but they have a hunch that some piece A probably exists that probably snaps to a B piece to deliver what you need.
- lvl102 4y ago10x and 100x are not myths. They exist. Once you work with them you will know right away. You will walk away in awe and in shame of knowing that you will never ever be that good.
- xrd 4y agoIt feels like we always defined 10x programmers as those that "make" things 10x as fast. But, the true cost of software is in the maintenance. Building the software is 10% of the cost, 90% is the cost of keeping it running and fixing it over the life of the software. Certain programmers will "make" software that might be only, say, 0.7 times as fast as the next. But, the way they made their software will lead to 10x more software maintenance. IMHO, this would be a developer with poor design patterns, no regard for automated testing, and no regard for how their work can be used and modified by others. It'll work, and it'll get "done" within the sprint, but the true cost will be seen in the years that follow. Those 10x developers are causing the maintenance costs to go up by 10x. If you believe the numbers around 10% to build, and 90% to maintain, then that means one of those developers will make your project cost almost 9x as much over the life of the software. That's the 10x programmer you should be watching out for.
- ilyt 4y agoI call those -1x developers. Knew 2 of them, in both cases entirety of the code they done ended up being replaced for bug/bad design reasons. I think the peak was implementing cracklib based password strength checker that... just returned that password is strong if cracklib was not installed, and didn't tell ops to install it on servers or add any check that would alert if it is not installed. > Those 10x developers are causing the maintenance costs to go up by 10x. If you believe the numbers around 10% to build, and 90% to maintain, then that means one of those developers will make your project cost almost 9x as much over the life of the software. On flip side, developer making right architectural and maintenance decisions might just be 10x in grand scale of project, even if they don't write code all that much better or faster than coworkers
- JoeAltmaier 4y ago10x skills are everywhere. My brother's car kept going into paroxysms where the engine would stutter and want to die, at random times. He'd pump the gas etc and it would go away. Never happened when he was at the shop, so the guy said "If it does it and you're anywhere around, drive right in and show me!" Kind of a long shot but what could he do? So one day it happened around 5 and he was close so he pulled in. They shop guy listened a moment, said "don't do anything!" and ran and got a vise-grips. He shimmied underneath the car, clamped the fuel line. Waited until it almost died, then released. The problem disappeared! It purred like a kitten. "It's almost 5, I want to go home, but bring it in Monday and I'll take care of it." "You have to explain that!" "A piece of grit got into your needle valve (fuel rate control). Starving the engine made the valve fully open, and the grit passed through. I'll replace your fuel line and filter, problem should go away."
- gitfan86 4y agoThe big difference is that the Mechanic has to manually do that for every single customer, where a software 10xer identifies a crazy hard bug once and fixes it for all 10000 customers at once. And that is where the finances come in. Why pay a 10x mechanic 300k/year if he is only going to generate 40k more in revenue than someone who would work for 90k/year. Where a 10x SRE/Cloud Operations person could actually save you 300k/year
- setgree 4y agoAnd a person who designs cars can eliminate the flaw that caused the problem.
- turtleyacht 4y agoMechanics would have to file tickets with the car design team :) In software, we don't yet have a profession of Maintenance Engineers who can put up a shingle and strace/kernel debug opaque software experiences as a regular "practice." --- Upon reflection, I realize free and open-source software fills this slot in a sense.
- 4y ago
- jsvaughan 4y agoThis is not a question of someone being 10x what you are. In our industry there are plenty of very weak developers, I bet you have worked with someone who is 0.1x of someone reasonably good, even someone who makes a net negative contribution.
- projectramo 4y agoThe myth of the myth of the myth of the 10x programmers. This is just argument by assertion. You would still hope someone would demonstrate the existence of 10x programmers. A lot of these one-off anecdotes in the comments are closer to 1.3x to be honest.
- twodave 4y agoI think my coworkers mostly think of me as a 10x programmer, and I think this is due to a few factors: - I am familiar with almost all the code at our business and can pretty much jump in anywhere and start working. Most developers try and get themselves comfortable with some small piece and become the master of that piece, but I've pretty actively avoided that. Early it was to keep myself from getting pigeon-holed, but by now I've seen so many different things that I recognize a lot of patterns most people don't, so I can pretty comfortably work on whatever and be productive quickly. - I leave lots of comments whenever I'm not sure of something so the next person won't be afraid to throw my code away, especially when I'm working outside of my usual area (which nowadays is pretty much all the time). So there are little bits of my thought process spread all throughout our organization. - I moonlight on side projects regularly and gain experience with other toolchains that way. Because of that I often come up with solutions that are outside the usual ideas that others would normally gravitate towards. - Once I've got a solution in my head I can really slam some code out. - In most of my life I'm fairly disorganized, but VERY organized when it comes to structuring my work. I think this catches people off guard. - I'm routinely the guy who gets tagged to work on struggling projects, and those projects typically have a lot of the same obvious problems to fix. So it looks like I'm being very productive (and relatively speaking, I am), but I'm doing things that are basically routine habit for me that the team in question obviously has not been doing. So it looks like magic. I don't think any of those things make me special or more able than anybody else. I think it's just a product of the choices I made early in my career to gain as much exposure as I have.
- 0x445442 4y agoIf 2X-10X programmers exist then swaths of middle managers should be fired for mismanaging capital.
- fargle 4y agoyes they do and yes they should
- Ensorceled 4y agoI think the Myth of the Myth has two sources: a) They have never worked with a 10x developer but have worked with terrible people that others described as 10x. If you actually work with a 10x developer, you know what they are. For me 10x is Patrick or Simon or Wendy. They are people I've met and worked with. b) They can't believe that someone else is 10x better than they are, or their ego won't let them believe that. I believe I'm better than average, but I'm not 10x. I'm not Patrick or Simon or Wendy and that only bothers me at the same level as not being as good at karate as my Sensei.
- agentultra 4y agoI’m not sure I see a difference between this 10x engineer and somebody who had a good idea. Having a good idea isn’t a skill. You can try to cultivate good ideas. But it’s not like we’re going to see the 100m dash of good ideas. Most of them only turn out to be good ideas in hindsight. A good number of times you might be sitting on a good idea and everyone around you will be telling you what a bad idea it is. Only time tells. Take the Infocom example from the article. Who knew, at the time, that Z-Machine was going to be a good idea? Did Berez and Blank have a crystal ball that could see the future of the company? They might have only been able to develop the Z-Machine because the company was only a handful of people and they didn't need to work too hard to convince anyone. It wasn't a big company. How does that make any of them 10x more productive than "regular" programmers? With what few empirical studies we have it doesn’t seem likely that there are, “some who are simply gifted.”
- lee 4y agoIf you've been in the industry long enough to experience working on a variety of different projects and teams it's an easy sell to understand the concept of a 10x programmer, but the 10x programmer also isn't as exciting or "sexy" as we make them to be. They aren't mythically smart and intelligent and can recite api features off the top of their heads. No, the 10x programmers I've mostly encountered are "boring": * They write solid code that's maintainable and relatively bug free. Fixing bugs is an incredibly time consuming activity. A developer who can reduce their bug rate is incredibly efficient not just for themselves but for the entire team and project. * They aren't going to prematurely optimize in terms of code or design. How many of us have seen development grind to a halt due to an incorrect use of a design or architectural pattern? The worst grievances I've seen are using Microservices when it's not needed...leading to huge slowdowns of productivity due to overhead costs. And that's just one example. * They understand the value of good software engineering practices that lead to long term success of the product/project/team. Many of those practices are "boring" but are necessary such as writing effective automated tests. I guess another way to put it, many of the 10x developers I've seen are ten times more effective because they can avoid common mistakes that the average developer makes.
- deafpolygon 4y ago"The Myth of the Myth of the Myth of the 10x Programmer" 10x does not exist. It is overblown. Yes, there are extremely gifted people- no, they are not 10x their peers.
- defaultname 4y ago[dead]
- jleyank 4y agoThe only way somebody is 10x the average person is when the average person lacks the skills to participate in the domain in question. Unless you really mean 10x the typical competent field-members, and such people are staggeringly few in number. Like a literal handful. And such people are going to be really bored unless you’re out solving unsolvable problems.
- a_square_peg 4y agoBuilding software is like building a house - a 10x general labourer, who can lift 10x the weight and do things without a break is great, but it really won't get the house built much quicker. For any project that's sufficiently large, say more than 20 people, what one needs is someone who's contribution helps to make everyone's work just by a bit - say 1.1x programmer, but where the 'x' is the productivity of the entire team. They would do this by making correct & timely decisions on architecture, clearifying interface requirements and identifying gaps & errors early in the project.
- JohnBooty 4y agoMy anecdotal experience is consistent with [CMU's] research: I don’t know anyone 10x faster than their peers in solving well-defined programming problems. But this data highlights why the debate continues: highly productive developers (10x or otherwise) are problem-solving at a much higher level. Their productivity won’t be apparent from a narrow test, any more than the overall skill of a world-class football player would be apparent from (say) how fast they could run the 100m dash. I've been anywhere from a 0.1x to a 10x programmer. Possibly even 0.01x to 100x we you count the years-long impact that architecture decisions can have. It wasn't my IQ, talent, or my work ethic that changed. Rather it was the opportunity. Note the example cited in the article. This was essentially a greenfield development opportunity for the author, and he implemented an extremely clever and effective solution. He had both the ability and the opportunity. 10x, indeed! The problem is that those opportunities are hard to come by. Most "software engineering" is just "hey, fix this bug in a big old tech-debt-ridden codebase" or "hey, implement a new feature in this big old tech-debt-ridden codebase." You can take the most talented and motivated developer in the world and they won't be 10x in a situation like that.
- childintime 4y agoMost people are actually 10x programmers, 10x before they get it right. If they get there. Then there are the 1x, first-time-right, fearless programmers... Fearless as in https://thorstenball.com/blog/2022/05/17/professional-programming-the-first-10-years/ https://thorstenball.com/blog/2022/05/17/professional-progra...
- halfdeadcat 4y agoThe premise of this blog was this: the author budgeted 6-8 weeks to tackle a problem that he finished in 3 days. That doesn't make him 10x as productive as someone else. It just means he is really bad at estimating how long it will take to solve a problem. Estimating how long it will take to figure something out is a devilishly tricky problem.
- martin_drapeau 4y agoI like the sports analogy to explain a 10x programmer. A 10x programmer is the product of talent, discipline and environment. Same as a professional athlete. The environment is what differs. In professional sports, the athlete has a team supporting them to maximize output (coach, doctor, assisant, etc). They are free to focus on their art. Talent and discipline then make the difference. In software the programmer is at the mercy of the product manager, other developers, management, etc. Because software is more than code, the time they spend on improving their talent is interrupted by meetings, compromise and whatnot. In my experience, 10x programmers are usually entrepreneurs in startups or intrapreneurs in larger companies. They are supported by their environment to allow them to shine. This allows them to focus on their talent and frees their time to code, learn and improve relentlessly over time.
- golemotron 4y agoInnate ability might be normally distributed but as people interact with the environment over time and realize gains in skill, ability becomes more like a power law.
- hajile 4y agoPrice's square root law states that half of the literature on a subject will be contributed by the square root of the total number of authors publishing in that area. It seems to play out well in the teams I've been with too. If you have 9 people on your team, 3 will be responsible for half the work. If you have 25 people, then 5 will be carrying half the weight. Extrapolated out, on a team of 100 people, 10 will do half of the work. That would mean 1 of those 10 will be doing 5% of the total project while 1 of the remaining 90 will be doing 0.5% of the total project. Thus, I believe you can say that 10x developers exist, but only at the large team scale.
- bayesian_horse 4y agoI've certainly seen 1/10x Programmers.
- eschneider 4y agoThe best folks to work with are the 10x programmers who just make things flow for the folks around them. I've absolutely worked with folks who by being the oil that made their teams flow turned everyone around them into a 2 or 3x programmer. If you're ever on a team like that, it's just a joy.
- commandlinefan 4y ago> I think 10x developers, like world-class athletes, musicians, and authors, absolutely do exist. You’re just not going to find them with a coding test. I'd like to see some data on how many of them have a backlog of 18 poorly-specified JIRA tickets per 2-week sprint and daily one-hour standup meetings along with two-hour weekly "retrospectives".
- moloch-hai 4y agoI know an objectively-measured 500x engineer. This happened because Siemens AG and Ericsson entered a joint venture called Ellemtel. It was required to produce a software product in 6 months. Each sent 500 engineers. At the end of the (successful) project, fully half the code was found to be authored by one engineer. The contract was such that, without delivery by deadline, Ellemtel would not be paid. Without that one engineer, the project would have failed. Details... He was responsible for assigning tasks. Tasks were two weeks. If a task was not done by the two-week deadline, he did it himself over the following weekend. They took blood samples, periodically, to measure stress hormone levels. Stress rose as the deadline approached. It took 2 years to return to normal. (I.e. burnout is objective.) The 500x's stress level did not increase. (On a later project, involving an OS kernel he wrote, he did have stress. Also, for English-speakers: Siemens is pronounced "Zeemanss".)
- jononomo 4y agoIt has always been obvious to me that 10x programmers exist and I've been bemused by the backlash against the idea of the 10x programmer. I've worked with two different people whom I would consider 10x programmers and I might even go so far as to say they were 100x or even infinityx programmers because they just created solutions that a team of normal programmers wouldn't be able to come up with even if they were given the rest of their lives. Similarly, 10x people exist in other fields. For example, there was outrage at Fusion (a journalism outlet) in 2017 when it was revealed that Felix Salmon was being paid $400,000 as a financial journalist, whereas other journalists at Fusion were being paid $60-80,000. People made comments like "Fusion could have hired four Harvard graduates with degrees in Economics for the money that they're paying Felix" -- but neglected to consider the fact that Felix Salmon has such a profound grasp on the way markets work and is such an original, grounded, intuitive, and counter-intuitive thinker that you could not replace him with ten thousand Harvard graduates. He simply has singular insight.
- rhacker 4y agoI feel like I was a 10x when we did monoliths. With "fake team microservices" - which is extremely prevalent these days, I feel like a 1x developer. The second I have to open another repo and do something - pull, yarn, build, and start updating, push, go back and update. I just lose all want to do anything for this company. "Fake team microservices" is when you have say like 7-10 devs in the company, and 50 libraries and 15 microservices. The microservices are real, but the team "size" is faked. People moved on from monoliths way to quickly and it's ruined my productivity. I actually thought my brain was slow and I was getting stupid recently. Then I did a programming test (interview). I burned through it so fast that I realized most of my mental blocks are NOT wanting to work for the company I am currently employed. My wife just nodded in complete agreement when I came to that realization. I want to be a 10x again and I realized when companies focus on the wrong things, that breaks the 10x.
- MikeDelta 4y agoMotivation and passion are very much underestimated in performance. I hope you manage to rekindle your passion somewhere else and run at 10x the speed again!
- cynusx 4y agoExactly, microservices make things unnecessarily complex and are often just a poor way for a team to avoid implementing design patterns, namespacing in a codebase. That's assuming good intent, worse intent is that devs want to experiment with different languages or generally want to avoid learning what everything is in the codebase or they are unable to use their editor properly to navigate large codebases efficiently. There is absolutely no reason to split the codebase and subsequently the test-suite ever. You can always take a monolith codebase and deploy it differently with the configuration driven by environment variables. (e.g. external vs. internal API's). This way your test-suite remains unified and can test the entire application.
- simplotek 4y ago> Exactly, microservices make things unnecessarily complex and are often just a poor way for a team to avoid implementing design patterns, namespacing in a codebase. This is simply not true. Microservices are a solution primarily to an organizational problem and secondarily to the problem of allocating and managing computational resources. The organizational problem is solved by the hard boundaries and loose coupling imposed by operating and consuming independent services. Allowing a team to own and operate their services allows them to have more control over all aspects of a their life cycle, reducing the scope of other stakeholders to what contract their interfaces need to comply with. Those who naively shit on microservices seem to be totally oblivious to what it would be like if all we had were monoliths. We tried that already. It's awful, and we learned from that mistake. Well, some of us did.
- jononomo 4y agoOne guy I worked with whom I would describe as a 10x programmer was not only unbelievably productive as a software engineer, but he had a fantastic attitude. He was the antithesis of arrogance and was universally beloved. He was both a leader and a genius, but the first word anyone would use to describe him was "humble" (and not in a self-conscious or ostentatious way). He was enthusiastic, open to new ideas, intensely curious, and was also notable for how much he wanted to see other people succeed. I've never met anyone else like him.
- bena 4y agoI can't wait until we get "The myth of the myth of the myth of the 10x programmer", "10x programmer myths all programmers believe", "10x programmer myth considered harmful", etc. Like can we all just accept that people have different capabilities and move on. That despite vast differences in abilities among people, for most tasks, there is an acceptable minimum ability that a lot of people reach. So the question is less "Do 10x programmers exists?" and more like "Do we even need a 10x programmer?"
- dagss 4y agoAgree a lot with this. The test (quoted below) has absolutely nothing to do with the skills that a 10x developer possess. A 10x developer is the one to identify that the stories don't need to be done at all, if one just deletes some codr elsewhere. Connect the pieces and find better overall architectures. Solve the REAL business problem with a small script instead of 3 new microservices required if one wish to provide enough tasks to work on for 10 devs. And so on. The test mentioned here is just too low level, a lot of the problem space is already resolved at the start of the test and limited potential for a 10x developer. Also, because of all the overhead in communication and the breakdown of speed once more than 1 head is involved, it is enough to do "the job of 3" to become "10x", since tasks that need 3 regular devs end up taking a lot longer due to the communiciation effort. Again, in this test it seems the meetings and communication that slows everyone down by being multiple participants are already completed, assuming everyone did the task alone.. Relevant quote: "[..] each solution involved simple input, output, modularization, and the use of control and loop logic. Each was the size of one or two small Agile user stories requiring two or more hours to implement. The student recorded time on the major activities needed to complete a solution that passed all required tests, including planning, design, coding, testing, and personal reviews."
- EVa5I7bHFq9mnYK 4y agoWhen I was young, I worked in a factory. Each worker had to make 2000 parts per shift [numbers approximate]. I did 3000 every day for a month. At the end of the month, I received a bonus from the management, but the quota for everyone was increased to 2500. I barely escaped from the crowd of angry workers. Since then, I tried not to be the 10x programmer.
- gerbilly 4y agoI know 10x programmers exist cause I am one. I guess you'll have to take my word for it. For years I worked as a contract consultant. I'd usually only get called in when projects were in crisis. I'd get into town, solve the problem, explain the problem and get out of town. I've worked in more than 20 workplaces so far in this way. But... It requires incredible focus and being constantly in crisis mode led me to burn out more than once. So now I work as a 1 or 2x and just take it easier and no one complains. You could say that I'm retired from my 10x life. I do sometimes fall back into the 10x mode, cos honestly the rush was exciting and it fed my ego, but I'm trying to no let my ego lead me down the path to burnout anymore.
- ablatt89 4y ago10x engineers unfortunately seem to never make it up the management chain, as they are threats to management and management just wants them to output things. Ironically 10x engineers can do architecting, project planning, and run sprints without managers and do it better, but will never be even offered a low level management position. Bonuses might be good but long term career prospects for any company seem pretty low if there's intent to "move up", unless maybe for a startup or making their own business.
- acedTrex 4y agoThis is where a good IC track at companies that have it are a thing
- nawgz 4y agoIs this really true? I joined a small team in 2017 and carried them to success by building many applications at high speed. Now my team has tripled in size since then, and I have had multiple promotions and have around 5 reports on average I find it unlikely that I'm the only person who knows the simple tactic "I will quit if you can't meet this demand", so do you have any more materials to back this up? Or is it simply a feeling (don't get me wrong, clearly that's what I'm operating off too in this arena)
- firsttimebigboy 4y ago
- deleted 4y ago[deleted]
- kgr 4y agoI would say that the best programmers don't change the multiplier, but the exponent, so that the factor by which they're better than the average increases with the size of the problem. This is why you might not see as much of a big difference with a test lasting a few hours, as you would with one lasting weeks, months or years. I explain this a bit by means of a simulation in this video: https://www.youtube.com/watch?v=3Ea3pkTCYx4 https://www.youtube.com/watch?v=3Ea3pkTCYx4
- thefaux 4y agoSchopenhauer touches on this in his distinction between genius and talent: talent is the ability to hit a target others cannot hit; genius is the ability to hit a target others cannot see. Whether or not we want to elevate them to the category of genius, there are clearly programmers in many organizations who fall into the latter category relative to their peers in the organization.
- jamesgill 4y ago>highly productive developer I will never understand the specious metric that we call 'productivity'. Outside of a production line, what the hell is a 'productive' developer? Yes, I know you can choose many options for measuring that, but therein lies the problem.
- thescriptkiddie 4y agoEveryone wants to imagine themselves as a 10x engineer, but by definition most of us are 1x engineers. Hell, a lot of us are 0.6x engineers, and that's just fine. Nobody can will themselves into being superhuman, and even superman can't keep it up forever without a break.
- tomxor 4y ago> I don’t know anyone 10x faster than their peers in solving well-defined programming problems Does anyone else find this statement triggering?... I feel like 90% of the things I solve that others can't or struggle with are not "well defined problems" which is why they are hard to figure out.
- stjohnswarts 4y agoI have met a few in my life. They are exceedingly rare and I have seen them burn out because of their intensity. Some problems require a particularly acute mind, others you can actually "throw programmers at" and get results, it depends on the problem at hand (quantity of work vs. innovation of work).
- Nifty3929 4y agoThe main takeaway for me is that a 10x person is thinking at a higher level - about real objectives, but is flexible about how to achieve them. From TFA, the dev interpreted the goal as "have all the tests" rather than "write all the tests." And then determined that it would be faster to meet this goal by building a tool to write them, rather than writing them individually by hand.
- nomendos 4y agoThere are multiple types of 10x programmer of which I was each at some point in time and shall be when things align. 1st type is "expert" with accumulated memorized domain and code base knowledge as well as organically used tools enabling to scale productivity. 2nd is autocode/reduce-ambiguity which is sweet. 3rd is smart out of the box quiet lazy type to point the right angle at the right time/space to save and this type is the sweetest :-)
- thisisbrians 4y ago"10x" is just the wrong paradigm to explain the phenomenon. The person is not working at a throughput ten times higher than another person. It's more of an exponent that compounds over time. The best tech people can save a rapidly growing firm dozens of hires (or more) over time through better architecture, documentation, processes, communication strategy, etc. There's no way to suss this out entirely from an interview, but a smart interviewer can certainly get an idea if they ask the right questions.
- GeorgeTirebiter 4y agoI like this 'exponent' argument. Bill Joy used to say that the # of smart, effective people in an organization = log (total # of people at organization), AND the only thing Management can do is slightly adjust the base of that logarithm.
- dudeinhawaii 4y agoThe problem with 10x programmers, and I say this as a 10x programmer, is that once you realize that you're 10x as efficient and effective as your colleagues it can lead to cynicism. You quickly realize that everyone around you is also making big bucks working at FANG while they work on their handful of items each sprint. Rather than destroy yourself, you can outperform everyone by operating at 2x efficiency. Perhaps this is a combination of cynicism and age. That said, I think most of the time the difference between 1x and 2x-5x is putting in a tiny fraction of additional effort. That can be as simple as taking the time to sit down and read all the docs and whitepapers you might get inundated with on a new project as opposed to skimming through and then later complaining about everything being so complex like most engineers seem to do. At a financial firm I worked at, I spent the first few weeks mapping the code out class by class on a notepad. It was extremely tedious but by the end of the second week I could speak intelligently about how the components interacted (on a massive trading system). For most engineers on the team, there was no sense of intellectual curiosity in this regard. Instead, most engineers I've ever met are very siloed and concerned about their small (relative) slice of the stack -- whether that's a feature, system, or product. The key to being 10x is your methodology and mindset and that carries over to any experience. I've been 10x at finance, at FANG, in low level dev, and even measurably 5x on a language/stack I had never used professionally and had to learn from scratch (not easy, C++). I think the key to executing at 5-10x is a careful protection of your most valuable asset, time. By examining how you structure your work, how you approach problems, how you approach "getting stuck" and reaching into areas of a problem that are unknown, as well as how you get distracted, you can find areas that are time sinks. But in the end, I don't think being 10x is worth it unless it's for your own startup. There's a point in life where, as I said earlier, you get a bit of cynicism and realize you can work at 2x and get just as many accolades. You grow a family and a life outside of work and suddenly 2x is plenty and you can spend the rest on yourself or the people you care about.
- noisenotsignal 4y agoI somewhat agree with the demotivation aspect, but you don’t need to change your process. 10x is a descriptor of productivity not time spent. You can still do what made you a 10x (e.g. read docs from scratch to get an understanding of everything). Even if you only spend 4 hours a day on it instead of 8, odds are you’ll still end of ahead of the 1x sooner or later even if you don’t have results immediately. To me the intellectual curiosity is inherent, and I don’t think I can, should, or want to tone that down. The best way to protect your time and remain recognized is to work less hours at the same efficiency/capacity, not to reduce the efficiency/capacity. It also helps to have management that is good and has trust in you. This way you can work your 10x style but deliver at a 3x timeline (or whatever x < 10 but greater than expectation) without the pressure to deliver at 10x all the time.
- l0b0 4y agoThis myth (not necessarily this article) feels like the "no true Scotsman" fallacy, or motte and bailey. Basically, given certain constraints, like well-defined problems, of course they exist. Given others, of course they don't.
- eldritch_4ier 4y agoIt blows my mind that this is so contentious and the only reason why seems to be that programmers think their job is unique or something. Are there people who are 10x better than others at a skill? Obviously. This is blatantly true in every human pursuit to ever exist. Why is the idea that som individuals are 10x better at this one skill than other individuals so mind blowing? Programming isn't unique, it isn't special, its just a skill like anything else, and like anything else there is a variety of skill levels.
- sdiupIGPWEfh 4y agoWould it be anywhere near as contentious if folks weren't either constantly misinterpreting the scale of the original study involved or else going No True Scotsman to death on the definition? Would anyone care as much if the job interview process in our industry wasn't also infamously infuriating? Or if enough of us weren't familiar with egotistic assholes whose productivity wasn't necessarily the result of any particular innate skill? There are a lot of confounding factors for any given anecdote. Whether there's any fundamental truth doesn't much matter, everyone wants to bend the idea to fit their own agenda.
- StellarScience 4y agoIndeed the experiment conducted by the CMU SEI seemed as if it were designed with the specific intent to disprove the 10X factor that multiple other studies had shown. They first taught all the developers to follow the CMU SEI "Personal Software Process". I am thankful for the CMU SEI PSP, because it's so bad that we've been able to hire great developers who fled from companies that instituted it. The process forces developers to record all their time "on the major activities needed to complete a solution that passed all required tests, including planning, design, coding, testing, and personal reviews" during development. Clearly handicapping developers with ineffective bureaucratic processes up front will add a large constant to everyone's time, which then decreases the ratio of their times. Furthermore they tested in an academic environment on simple assignments designed to take an hour or two. It's impossible to do all the required steps in 6-12 minutes, so this experiment could never show a 10X disparity.
- DonHopkins 4y agoI've worked with a -5x programmer who was so terrible the damage they did required another 5x programmer just to neutralize their backwards progress.
- noloblo 4y agoHaskell erlang elixir golang lisp ocaml enable a 10x programmer tame complexity using fp techniques
- 0xbeefeed 4y agoSeeing so many people calling THEMSELVES 10x here is both sad and funny.
- htkibar 4y agoTests tend to exist so that you can be rejected. Let's not kid ourselves - most of the time people hire based on feelings; and not only about you but also about how they feel at that specific moment.
- kazinator 4y agoThe myth isn't "there are no 10X programmers" but that "there are programmers who are consistently 10X, task after task, all career long".