Yeah, there are plenty of fake 10x engineers out there, or temporary 10x-ers who are only doing well because of their working environment.<p>But I have worked with a few people who were clear 10x engineers. Everything they worked on they did better and faster and cleaner. They could often solve problems that other skilled people couldn't even get started on. Yes, they usually picked important and impactful things to work on, but even when just assigned tasks from the grab bag of team tasks, they were still 10x faster.<p>Somehow these individuals were also 10x nicer too.<p>The only downside of working with them is going home and looking in the mirror and wondering why you can't match their pace. Oh well, I would trade the hit to my ego for getting to work in their codebase any day of the week.
I contend that the only reason their existence is debated or controversial, is because the concept hurts the <i>pride</i> of those who like to think of themselves as best-of-the-best engineers, but are afraid they're really not.<p>I've worked with 10x engineers maybe 2-3 times in 20 years. One single-handedly wrote 85% of <extremely popular and complex app you've used> and another wrote most of the internal libraries at <company you've heard of>. They would regularly take tasks that most people would take a month+ to do, and just knock it out in a couple of days -- over and over.
I have no idea why this is so contentious in the engineering discipline like it’s some unique question.<p>When you were in school, weren’t their students just far more capable than others? When you look at sports, aren’t there just players far more capable than everyone else (any pro player vs any non pro)? When you look at art, aren’t there just artists so much better than others (professional artists vs a hobbyist)? Salespersons? Dog trainers? Snowboarders? Etc<p>Every discipline has a bell curve of skill, and there are engineers who are just significantly better than others and it’s not even close (like any profession). There are limits, but software engineering isn’t anything special here where the idea of outliers warrants this much controversy.<p>Yes there are “10x engineers”, obviously, because every domain has skill levels spanning magnitudes. It seems like the only thing preventing recognition of this fact is ego (and to be clear, I don’t think I’m a 10x engineer at all)
I have found the one distinction of 10x engineers is originality. They can write an original solution to a problem and be done. They don’t need a 1000 different tools to do their job for them, which has second and third order consequences.<p>That also means not having a petrified terror of failure.<p>Yes, there are 10x developers and this is measurable. It’s a progression of the Pareto Distribution. People scared shitless of originality, most people, cannot see this because their life goal is to crush it with internal processes.
A 2nd edition of Peopleware summarises it; the 10x programmer is not a myth, but it's comparing the best to the worst; NOT best to median. It's also not about programming specifically; it's simply a common distribution in many metrics of performance.<p>The rule of thumb Peopleware states is that you can rely on the best outperforming the worst by a factor of 10, and you can rely on the best outperforming the median by a factor of 2.5. This of course indicates that a median developer, middle of the pack, is a 4x developer. Obviously, this is a statistical rule, and if you've got a tiny sample size or some kind of singular outlier or other such; well, we're all adults and we understand how statistics and distributions work.<p>Peopleware uses Boehn (1981), Sackman (1968), Augustine (1979) and Lawrence (1981) as its sources. [ "Peopleware", DeMarco and Lister, 1987, p45 ]
Comparison is the thief of joy.<p>The notion of context is exceptionally important because it relates to Price's law ( <a href="https://en.wikipedia.org/wiki/Derek_J._de_Solla_Price" rel="nofollow">https://en.wikipedia.org/wiki/Derek_J._de_Solla_Price</a> ). You see this in big tech like crazy where most engineers are trying to get a few things done in a massive code base, and then many decisions come from on-high via principal engineers. As a former senior principal engineer, I've been there, seen it, and enjoyed it.<p>The question that haunted me was how to help more people grow into higher roles, and the problem is a lack of scope. This lack of scope is oppressive as there are only so many creative needs and the volume of toil is hard to avoid.<p>So, yes, if you have the right context, then you can do great.<p>However, we also can't dismiss intelligence, memory, or experience as multipliers. The unfortunate fact is that these are not uniformly shared, so there are a bunch of people talking over each other.<p>Worst yet, we don't have a common way of thinking about experience, and here Price's Law reveals an ugly truth: deep experience is rare.
Ffs, the claim is that the great engineers are 10x better than the worst engineers. Stop asking if 10x engineers exist and ask if some engineers are only 1x of the best. I've worked with people who spend months on a story that I can do in 3 days. I've seen engineers so bad that they provide negative value with all the time they suck from others. 10x is an understatement.
The difference between exceptional and average programmers is not something special. It can been seen in all creative fields.<p>The important factor is not speed but output.<p>Some people can do things that almost everyone else would consider impossible.<p>Having even a single one of those in your company can be the most important factor of success.<p>Fabrice Bellard <a href="https://bellard.org/" rel="nofollow">https://bellard.org/</a> and Justine Tunney <a href="https://justine.lol/" rel="nofollow">https://justine.lol/</a> are good examples of this kind of people, but there are of course many others.
I'm not sure I really "got distracted" by building those tools. Building the tools was kind of the point for me and the class was simply a good way to focus the tools on a concrete effort. I acknowledge that it ended up occasionally getting me in trouble when forward progress on class projects was stalled on seemingly unrelated tooling and I got an appropriate admonition about it at the end of the year from the professor, but on the other hand, doing the class this way was way more impactful long-term. A lot of that tooling is still in active use across the Julia ecosystem, while the actual code it was used for at the time never got touched again after the end of the semester.<p>That's pretty much my general philosophy when it comes to writing software though. Whenever possible, figure out what tooling would have made the task easy and then build that and solve the problem simultaneously. You're probably gonna have to throw away the latter code, but at least the next time it'll be easier, because you now have the tooling. Even better if you happen to be in a position like mine where you already build tools for others, because that way other people will end up benefiting too.<p>Anyway, does it still occasionally get me in trouble? Yes. I not infrequently end up in situations where the software is essentially done, but I have to write a compiler pass to make it actually work, because I decided to write the code in a way that I thought it should be written, rather than a way that would be performant out of the box. But hey, at least I'm aware of it (<a href="https://twitter.com/KenoFischer/status/1529814861693259777" rel="nofollow">https://twitter.com/KenoFischer/status/1529814861693259777</a>) ;).
It benefits nobody to be a 10x engineer unless they are making 10x salary. In fact, once you have the job, the absolute best play is to do as little as possible and not get fired. We are businesses ourselves, don’t forget that. You work for money, and once you have the money, there is no reason to ever give more value than you are getting.<p>Want more money? Study for an interview and then return to your minimal effort process. Believing that you need to give more is the company winning. Treat yourself like a shrewd startup business.
The flipside of the 10x engineer is the 1/10 engineer, generally "codemonkeys" that learned to "program" at a bootcamp.<p>Their skills are limited to the particular framework and tools they used at their bootcamp, and they have less ability to learn new tools and languages than the average designer or marketing person. Despite their poor skills, 1/10 engineers generally think that they are the best, smartest, and most productive programmers at whatever company is unfortunate/dumb enough to employ them. Mostly because they take so much time to do everything, and they think that time spent is equivalent to productivity. But their code is so brittle, it can only handle limited scenarios and tends to fall apart under load. The 1/10 engineers frequently get into arguments related to tech issues into which they have no knowledge or insight, because they assume that being able to code makes them omniscient gods (this afflictions also affects many 1x programmers as well).<p>1/10 engineers are the reason so many LA tech companies (my employer included) no longer hire bootcamp graduates.
I'm not quite sold on the first bullet point that if the impact of your company/project is 10x, then you are a 10x engineer.<p>Here is my case. In my previous (small) company we achieved a yearly revenue of ~1M eur. I was super proud that I directly contributed 10% of that revenue.<p>My current team in Big Tech generates millions of revenue per month. I could do a small improvement in a week and generate more than 100k in value.<p>Does that mean that I am 100x because my impact is 100x? is it even my achievement at all?<p>It's true that high performing engineers perform high leverage activities, but if we take it at face value then excellent engineers stuck in low value companies/products would be much worse than mediocre engineers working in high impact products.<p>Surely the answer is somewhere in between. Great engineers do the best with what they have available. Sometimes they might influence their environment to increase leverage but this isn't a given.
Dealing with this right now actually. We (a start-up) got bought. The product was split into two teams - we originally did BOTH HW and SW. Their HW team was pretty good so we let them do the HW and we did the SW. The problem can from the HW actually being HW + FW (a form of SW) and turns out they are mediocre at best FW and digital design and that's become a problem (we have to hook into what they are doing).<p>We (the original startup crew) finally figured out what the problem was: their commitment to ANYTHING (our HW project but also every other product they've ever worked on) is exactly the same as how most people treat school and homework, namely, how much can get away with NOT thinking and doing about it and still get a passing grade.<p>They can't be "fixed" because that's how deep the problem is: they've been trained for this attitude since they were children and they wouldn't know how to break out if their lives depended on it; they are not dumb or low-IQ. But they've been trained to achieve the lowest-common-denominator of anything they design or engineer.<p>This has never been how any of us have approached anything in life. For us, it's:<p>1. Do the best job regardless of what you could get away with<p>2. Focus on the big picture and little picture integration<p>3. Know who actually makes the product a success: the customer and the market<p>Significantly IMO I went to elite schools on merit rather than legacy/money while my co-founder was home-schooled and didn't actually finish his BS but he has more drive and commitment than 99 out of 100 BS EE or CS degree holders I've ever met or worked with.<p>Most people mouth the words but either don't actually know what they mean or do not mean what they are saying when they say them. This may not be sufficient but I think it's a necessary difference between normie engineers and 10x engineers.
I feel like we discuss this once a week/month and it always breaks down to the same things bc of the number 10.<p>- Yes, some engs write code faster than others. 10x seems really high, so therefore 10x engs don't exist.<p>- Yes, some engs are more productive / pick better problems to solve / force multiply their teammates, but 10x seems pretty high, so 10x engs don't exist.<p>If we hadn't anchored on 10, we wouldn't be disputing that some people are more productive or faster, so I find proving or disproving the 10x eng to be pretty tired.<p>Good article though on the context for why some people are faster or more productive.
One needs to be careful of that term in general.<p>Once upon a time, I was tasked with creating a new social media api based off of existing work by our "rockstar engineer." This is a guy who spend every single free second reading Code Complete and Code and Programming Pearls and seemed to have injected Design Patterns directly into his veins.<p>The last time he created a new API based off of his existing work, it took him about 2 days. I had zero experience with it, so it took me a little over 3. He was a person who was very proud of his work and declared that there was no reason for me to take that long to implement the new code.<p>The code review process at the company has a lot to be desired, and he being the "rockstar," basically got his code handwaved through by our CTO, who was filling in as our last manager had taken another position. Deciding I had enough, I went to the new manager who had no inkling of this dev's reputation and asked him to code review the original commit to the base social API with me for real this time. I asked him to keep in mind that other devs were going to have to build their work based off of this base system. It was a convoluted, entirely over-engineered pile of crap. A wankfest masquerading as code.<p>See, I read and was familiar with all of the books that sat proudly displayed in his cubicle. But there's a time and a place for everything, and the only 10x about this guy was the amount of unnecessary code he produced in order to do something as simple as interfacing with Facebook.
I hate that term "10x", because it assumes there is a known quantifiable metric to find these people. (A skepticism appreciated in this article, though I don't know that it really comes to a clear conclusion either on the "reality".)<p>There are definitely people of a certain caliber who can solve problems others cannot, or way faster, from soup to nuts.<p>But when it comes to a large preexisting code base, solving prohlems in code can be done in different valid ways, which reflects our thinking patterns. Each of these ways then has corollaries about how the next set of problems is better solved in it. When one developer who has been with the company longer, given more clout for some reason, lucked out to be the green fields guy, or maybe really was <i>somewhat</i> better than the others gets to have his thinking pattern become the first principles of the major feature set, he may <i>seem</i> like he's 10x, but I'm not so sure with a different set of initial conditions that it would be so. And I think a lot of the measurements are taken on code bases in this gray area: not solving code interview problems.<p>Then there's the question of speed to full execution vs. maintainability, quality of the solution to deal with the next set of business demands, etc... I'm just not so sure it's that easily measurable.
I know an objectively-measured 500x engineer.<p>On a 6-month crash project with 1000 engineers assigned, at the end, fully half the code delivered was his. You can't get any more objective than that.<p>To be clear: this was a project where, if not delivered on the 6-month mark, the company would not be paid. It is hard to see how, without his work, the project could have delivered on time.<p>I have worked with a few others of similar ability. I have never had a bad experience with one.
There’s 10x in almost every profession, why is engineering different?<p>If you take physicists with Ph.D. plus 3 years of post-doc as the baseline, of course top physicists are 10x the baseline. And don't interpret the 10x in a superficial silly way which makes post-docs stronger than Einstein.<p>This goes the same in sports, arts, academics, etc. As long as the field has enough depth for growth, the top players can easily be 10x compare to the majority.
Often overlooked is just the breadth of experience and insight aka 'Technical Wisdom'.<p>It took 5 years of various clusterf**s with Unicode, but now whenever I approach it, I have an intuition for the cost of string manipulation, UTF8 v 16, what's pragmatic, what is needed, what is 'overdoing it'.<p>It's like building a deck - after you build 100 of them 'all the little details' become instinct.<p>So if you can do that across all sorts of technologies ... then you just walk through stuff like butter.<p>Whenever I see someone whip through something, I'm not amazed so much by talent or genius, but how they 'know so much'.<p>It's like the academic who's read literally 1000 books and remembers a lot of it.<p>Whether they are 10x or not really depends.<p>Some architectural decisions make a 10x difference.<p>Some business related decisions also make a difference.<p>Sometimes it's not apparent until later, or never apparent.<p>And sometimes it doesn't matter that much.<p>Finally - I'll say that 'speed of execution' is not remotely the issue. If someone can saunter along at a reasonable pace but actually produce the 'correct thing' - that's worth it's weight in gold right there.
Software industry would really benefit once we grow out of discussing this 10x notion - it's the same level of juvenile (high-school/undergrad) discussion as whether geniuses and gifted people really exist (they do) but in professional settings, it matters very little.
It is just a matter of the frame of reference. In an organization with a large number of 0.1x developers, skilled developers may look like 10x.<p>The 0.1x ones don't really understand the problem they are working on, nor can they write even a few lines of coherent code, often with only a minimalistic understanding of the language they are using. Spotting them is easy: Watching them use the editor of their choice to work on code feels like watching a toddler learning to walk.<p>Different organizations happen to hire different kind of people.
For some organizations hiring skilled developers is a matter of luck. The skilled ones they manage to hire are outliers, easily perceived as 10x.
Other organization manage to hire mostly skilled developers and PIP the rest. In that kind of environment 10x does not exist.<p>That's the perfect base for an argument. Depending on the individuals background it is very obvious that 10x exists / does not exist.
The concept of the "10x engineer" has vastly outlived its usefulness. Remember, it originally was a response to clueless non-technical management who thought that programmers were completely fungible—the type of thinking that led to early waves of offshoring based on headcount costs, and a willful ignorance that the details that technical staff spend their time working on actually matter.<p>But once you get past the pointy-hairs, all this framing does is set up a falsely quantitative comparison between broad swathes of engineers whose work can not and should not be compared in this way. Is it really any surprise that a meme created for the bean counters is going to draw ire and vitriol from passionate, diligent and opinionated software professionals?<p>There is absolutely no point in the general debate about what "10x engineer" is (or whether it really exists). Yes, people have vastly different skills. Yes, there are things which some engineers can do which others could never do. Yes, there are Dunning-Kruger cases without the chops, humility or awareness to acknowledge this. Trying to quantify and strictly define those things though? Pointless.
i mean there are so many factors to this equation, writing code is the least of my problems. i try to focus more on enabling my teammates to avoid making bigger mistakes and growing them to be decent engineers, rather than optimizing my own work by a few percent. After all software engineering is a team effort for most of the times. What does it matter if i am 10x more productive and crank out all the solutions and code and the rest are all juniors and i have a bus factor of 1?<p>sometime it feels like people have to show-off or be the shining knights how save the day and want to be padded on the back constantly for that.
I never understood why this is controversial. I'd say the majority of engineers I've worked with have been 10x engineers.<p>Maybe I've just been incredibly lucky with the teams I've ended up on.
This is very subjective. ( obviously ) You can go 10x speed in a direction that is pointless. Not all work equates to value. The best product is the simplest that makes the most money. Duct tape and hacks make money. There is zero value in going beyond that. Over-engineering is an epidemic. “cool” means nothing. Engineering is a tool for a job, it’s not a product in itself. If your internal parser fails when you see a comment in code with bad grammar and you strive to fix it, that is you being neurotic not useful. Engineers love to build kingdoms in the details that nobody gives a fuck about.
Just take a look at big tech salaries on levels.fyi. Very senior engineers (L8/L9) easily make 10x the salary of entry to mid-level engineers (L3/L4/L5). For a lot of tech companies, L5 is a terminal level meaning most engineers will spend the rest of their careers there. Clearly the market thinks 10x engineers exist.
They must exist. If IQ can range from 80 to 200 and IQ correlates with programming ability then of course there are engineers out there at the far end of the spectrum.
I've talked to some of these people in depth and analyzed them.<p>The difference with these people is incredible lack of brain fog. Everything is utterly clear for them. If you're a 10xer then this post characterizes the difference between you and others. It's not that other people are stupider, but there's a sort of brain fog that prevents people from seeing a solution. We sort of have to wander through a fog and look things up to arrive at a solution.<p>What you will find is that this brain fog is independent of creativity. There are many 10xers who aren't that creative.
Why does this 10x meme exist about software engineers and no other profession? It's because the CEOs and VCs who spread this are preying on tech bro macho-ness so they can squeeze as much labor and "productivity" out of us as possible.<p>Let's stop with this juvenile dick measuring contest. We are not machines that have a speed that can be so easily measured like a new CPU in the bosses computer.
There are talented engineers all over the place.<p>But, the thing that makes "10x" engineers is rarely their own work, its mostly luck of being in the right place at the right time. The big problem is that most people cannot reliably differentiate a "10x" engineer from a gobshite.<p>The reason why the "myth" is so tedious is that people mistake volume(of code/self aggrandising/speaking in meetings) for being _good_. Just because someone ported code from one language to another, doesn't mean it was useful to the business, or humanity.