The 10x developer never existed. You're telling me these people are doing a year's worth of work in 1.2 months? Seriously?! 10x?! In a year you can probably learn to program from scratch and participle if you're working 8hrs per day 5 days a week
We need to stop exaggerating so much. A 2x dev would be insane! A 1.5x dev does a year's work in 8. A 1.1x dev does it in 11. Saving a whole month itself is a massive amount of money saving. Our "10x" devs are really 1.1x and I'm not sure why we see that as anything less than wildly impressive.
The research referenced in Fred Brook's The Mythical Man Month found that there was a 10x difference in programming task completion time between the FASTEST and the SLOWEST developers, but only a ~2.5x increase from the median to the fastest.
This! I've worked with a few developers I would consider net negative to their team and product, in that their removal would have increased 3-4 other team members productivity by say 20% each. Coincidently these developers were almost exclusively Indian immigrants. In organisation with poor corporate culture and the ZIRP (Zero Interest Rate Policy) days of hiring to signal growth and managers hiring to increase the number of reports (to signal importance) compounded the problem
Of course they do. Have you literally never run into a problem that the average developer can not solve, but a expert can solve? That is infinity times more productive.
Even assuming that maybe the average developer could come to learn how to solve the problem you can easily see the gap between taking months to learn how to solve a problem versus already knowing how to solve it on short notice being over 10x.
Large productivity differences are mostly a function of differences in capability than differences of speed in solving rote problems easily within their capabilitys.
> Have you literally never run into a problem that the average developer can not solve, but a expert can solve?
In what time frame?
> Even assuming that maybe the average developer could come to learn ... already knowing how to solve it on short notice being over 10x.
10x? I'm not convinced. 10x is a pretty big increase, as illustrated above.
Clearly I understand the gap, I explicitly mentioned it. I mentioned a month's work is quite valuable. I'm not the one diminishing that value, you are.
I can totally buy instances of 10x improvement, but that's not what we're talking about and not how anyone is using the term. Everyone is talking about sustained output. No one gives a shit if you're 100x for five minutes but 0.5x the rest of the time.
Your critique isn't wrong, per say, but it is a non sequitur to the conversation.
I doubt even a staff level engineer is even a 10x above the junior. Will the staff level engineer write better code and faster? Hell yeah they will! But will it take a junior 10 years to write the same software a staff level does in a year? Maybe. But if it does I'm not convinced they're even trying, so not a fair comparison. 10 years is a lot of time. A lot of time to learn, refactor, or even build the damn thing from scratch a few dozen times.
Seriously, 10x improvements are actually wild.
But why dismiss a 10% gain as if it's nothing? Why is the smaller number bad?
Is the need for the number to go up so strong that we don't care how divorced from reality it is?
It doesn't mean more work it often means creativity.
For example when I was an EE I worked at a company that had spent nearly 8 months, 50k on consultants, and easily 3 peoples full time for a lot of effort plus the testing side.
I swapped that 800$ board out for essentially a lightbulb. Did identical work <50$ and was more reliable. That simple change was easily a 10x improvement if not more because the logistics of that one board was absurd.
I'm proud of that EE work but code is identical. I would never call myself a 10x developer but I've wiped entire code bases more than once.
Maybe I have "10x" moments? But to say this isn't a real phenomenon means you're in a super structured and political enviroment.
I probably had that kind of 10x moment yesterday. I spent 2.5 hours analysing a feature request and I eventually advised my customer to think very carefully about it: it might solve a problem but the implementation time is going to be long, even with an AI, because of actual development and the time we will spend in testing it. Furthermore the new infrastructure will have recurring costs higher than what it saves. My advice is not to proceed. 2.5 hours vs 25 or more. 10x.
My point is that these 10x moments aren't sustained. When we're talking about a "10xer" we're talking about someone over a longer period of time.
For "in the moment"s and short term projects, 10xers certainly exist. There's definitely things I can do in a week that would take juniors more than 10. But for bigger projects? Can I do in a month what a junior cannot in 10 months? Can I do in 6mo what a junior cannot do in 5 years? I'd really doubt the latter and the amount of things I can do in a month that a junior can't do in 10 are a whole lot smaller than what I can do in a week that they can't do in 10
> Can I do in a month what a junior cannot in 10 months? Can I do in 6mo what a junior cannot do in 5 years?
I briefly worked at an organisation where I was consistently and sustainably able to ship in two month blocks what other teams of 3-6 engineers at that organisation could not successfully deliver at all. I would consider myself around 75th percentile productive compared to the industry, but in that specific organisation I was at least 10x as productive as the median engineer - regardless of their seniority.
I think engineers tend to form clusters where everyone is roughly as intelligent/competent/productive as each other. Outliers tend not to join the cluster, or they leave quickly. I've seen this happen at the level of a company, but also in larger engineering orgs at the level of a team or group. High performers don't stick around when their median colleague is a low performer and vice versa.
Perhaps you've had the good fortune to work mainly in organisations with a high competency floor. Looking around, you may not see anyone who's 10x as productive as anyone else, but maybe you're ignoring that everyone is in the 90th percentile of the industry.
Once was part of a team where a mid level guy spent a year building/heavy maintenance of some catastrophe of a solution. They literally had the end users copy and pasting hundreds of commands from a generated excel sheet of a command per core (shudders). I spent ~2wks on a different architecture that was a massive improvement we abandoned their code base. He quit like 4 months later to join some faang. Granted that 2wks of work was on top of a distributed cloud infra that took me 6 months to build.
So yes, a skilled dev might skip entire months of work someone else would make.
What you seem to be describing is a companies skilled engineer designs something and passes down the spec. The guy making the spec is the 10x guy. For large projects it's even more pronounced. The article literally described someone who wasn't skilled they simply knew how to smooze the MBA's and a company with poor engineering leadership.
> a problem that the average developer can not solve, but a expert can solve?
Yes these exist. The rate at which they exist is grossly exaggerated. Every company likes to think that their problems are special snowflakes. Nothing could be further from the truth.
In these discussions we try to solve for a 0.00001% problem by claiming it's common to encounter.
I think the myth/claim of a 10x developer is true but only relative to said rockstar engineer's immediate environment.
Put simply, the 10x developer is a 10x because they've spent ~10x more time immersed in the problem domain than the average developer.
What they do is more sleight-of-hand than Tony Stark engineering his way out of a terrorist cell. If 10x engineer takes a weekend to solve a problem that has stumped the team for a month, it's because he's collected the necessary context to solve the problem over the course of their long career; doesn't mean the answer didn't need to be synthesized, but they already had the raw materials in their cupboard. They have a giants' shoulder to stand on because they bothered climbing. They didn't derive anything from first principles; no one prototyped an Iron Man suit from scrap contraband.
The implication being anyone can be a 10x engineer in the right environment.
---
Allow me to carry my own throne with an anecdote, believe what you will: once upon a time, Engineering Manager had the brilliant idea to create a modular system for our main product, the pitch being that we can outsource feature development to contractors while keeping team costs down as we only need to maintain a lean modular system. They tested the idea on a couple of easy scope projects which were successful.
Then came the big test. Three projects outsourced to a team of four contractors. These projects were far more complex than the first two: lots of state management and integration with other systems. In due time deadline neared and the contractors had a very pretty UI that just needed to be wired in. I got pulled in to see the projects home. It was supposed to be easy if not for the Pareto Principle. Relationship with the contractors soon soured as they bailed, showing us that they've technically already accomplished the project on their billable hours spreadsheet. We, the regular team, just needed to deploy the code they turned in but the deployment is none of their concern apparently.
That's when I had to roll-up my sleeves, got dirty with their spaghetti code. The way I see it, the contractors fell on the part where they had to integrate with other systems because said systems were legacy, i.e., created before the idea of the Lean Modular Main System. Honestly, even I didn't know exactly how to work with them but, crucially, I knew how to get answers when the going got tough. I knew how to quickly figure out what I didn't know because as a regular employee I knew things beyond first principles.
In the end, two out of the three projects deployed. They were only a couple weeks late. IIRC the third one only failed because it really ran out of time budget. Upper Management was not happy but Engineering Manager stuck out his neck for me, for which I am genuinely grateful. I didn't get exactly the coveted 10x wording out of him but he pointed out that I released 2/3 whereas a team of four couldn't even release one.
That's not entirely accurate of course. I could code you up a decent web frontend but I could not, for the life of me, get all those pretty UI animations to work even if it's my only way out of a terrorist cell.
> the 10x developer is a 10x because they've spent ~10x more time immersed in the problem domain than the average developer.
Your ratio is off. This doesn't grow linearly, it grows exponentially. It probably takes more than 10x the experience/time to get to 2x in performance.
> If 10x engineer takes a weekend to solve a problem that has stumped the team for a month
This is very rare in the real world. There are also alternative explanations you're ignoring:
1. Luck. Seriously, do not underestimate luck, it plays a major role in your life[0]
2. Fresh eyes: You're not burdened with all the noise of the past engineering[1]
3. Getting to leverage the existing work. You have a new prior, you know to not think through the problem like the rest of the team has been.
Those are two obvious explanations but there are more. The reality is that it is going to be some combination along with the experience that you suggested.
> I didn't get exactly the coveted 10x wording out of him
I do not want to imply in the least that you shouldn't be proud of your accomplishments. You absolutely should! But is this "10x" or actually smaller? A few weeks late you said, so how long do you think it would have taken had you not been so skilled? 20 weeks? More? If it really would have taken 20 weeks then yes, you are a 10xer and call me wildly impressed.
But mind you, I'm also saying that being a "2xer" is wildly impressive. I'm even saying that being a 1.1xer is impressive (because it is!). So I'm really not trying to diminish your accomplishments. The feeling of pride you should have for your accomplishments shouldn't be diminished because you aren't calling yourself a "10xer". That's not what's being said here.
Plus, my whole point is about sustained output. 10x and even 100x certainly exist in short tasks. I mean I can certainly produce a hello world program in python 100x faster than someone that doesn't know how to program. But over longer periods of time this gets to be much harder. Again, I don't want to diminish your pride, the story you explained is not a short task.
[0] That isn't to say that skill doesn't matter, it very much does. But luck is pretty far up there. It is behind skill in importance, but there's not a single (or even 2) factor that controls your life.
[1] This isn't luck, you can control this too. Stuck on a problem? Walk away. Go for a walk. But come back.
We need to stop exaggerating so much. A 2x dev would be insane! A 1.5x dev does a year's work in 8. A 1.1x dev does it in 11. Saving a whole month itself is a massive amount of money saving. Our "10x" devs are really 1.1x and I'm not sure why we see that as anything less than wildly impressive.
Can we stop exaggerating so much?