The thing that so many “10x” type memes miss is that growth and seniority are increasingly less about the code you write and more about the impact you have on colleagues.
I have enough experience banging out web apps that I can do a lot of common things really quickly. But I spend very little of my time at work actually doing that – instead my job is more about making it easier for other people to do, via tooling and documentation and establishing patterns and examples and sitting in planning meetings and so on. Which means that, measured by delivered number of application features, I am absolutely not a “10x” and probably often not even maintaining par with my colleagues. But that’s because the number of features delivered (or amount of code written or whatever) is the wrong metric for more senior developers.
Perhaps being a senior developer is the difference between a personal “10x” and a team “10x” - as a senior, you can prevent more junior colleagues from going off on wild goose chases that won’t lead anywhere, and design an architecture that will make the important things easier to implement for everyone.
I wrote this, and (as I heard on reddit) it is a bit pedantic, but I don’t think talking about developer multipliers is a helpful way to talk about skills. We can be more specific about people’s strengths and weaknesses and not pretend they always correlate with raw throughput under all conditions.
The 10X meme is both too extreme, by implying that Fabrice Bellard4 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.
I thought this was brilliant, but you ended the article abruptly after that and suggest we call them “experts” instead. Which is in my opinion, even worse.
I didn’t have the same response… The “10x dev” notion is harmful because the idea of being “10x productive” is not a parameter of an individual, but (maybe) of an individual in a context. I feel like the upshot of TFA is that we should call explicit attention to the context (“expert in video encoding”). If you did that, then (IMO) even the term “10x” isn’t as harmful (“10x CRUD developer” is not seen to be equivalent to “10x QEMU developer”)… Though I think the connotations of the word “expert” lead one to ask “expert in what?” more than you’d ask “10x in what?”.
You did made your point very clearly. I was just eager to find better ways to phrase it. Like you promised in the beginning of the article.
I think “expert” suffers from same inacuracy as is asserts or at least suggests abnormally high abilities.
As others mention, it is a combination of a skilled person, placed in the right job and in optimal conditions. This is not straight forward to communicate.
I think “expert” suffers from same inacuracy as is asserts or at least suggests abnormally high abilities.
To me, an expert has a lot of experience and (through that), hard to come by knowledge. Doesn’t necessarily mean they’re more efficient/faster than a non-expert.
I often feel weird when I read posts like this because of the Streisand Effect. Telling people not to think of something in a particular way often merely perpetuates it. An alternative would be to find a completely different framing and push it without mentioning the one you don’t like.
There’s a lot of cognitive research to back this up. One I can recall off-hand is a study that showed that telling someone something false and then telling them later that it is false does not undo the initial perception that it is true. It’s just the way the mind works.
I don’t believe in 10x developers, but I do believe in 10x developer-project opportunities.
Ask me to build you a PostgreSQL-backed Django website for crowdsourced analysis of documents and I will 10x out-perform almost anyone else on the planet - because I’ve built that exact kind of project multiple times before.
Ask me to build you an Android app and I will most definitely not 10x anything.
Yeah, but you have to also weight a couple things in that ‘10x’ ratio. I’ve met highly productive engineers that were brilliant… and some that were too brilliant for their own good, kept solving problems that already have off-the-shelve solutions, spent inordinate amounts of time focusing on optimizing the wrong thing, used the wrong tool for a job because they didn’t fully understand there are different tools with similar but not equal use cases, and generally wrote tons of shitty code.
Those people are super good at getting something up and running, but their output is hell for anyone else to extend, maintain or debug.
I wanted to phrase the same myself, see the elephant in the room.
The point and fact is, there are highly productive engineers and we want to identify them somehow. Terminology is just byline, doesn’t really matter how we call them, 10x/cheetah/expert, whatever.
Remove the context: get together randomly selected 100 backend engineers who have 5 years experience doing REST APIs with Spring Boot. Give them the specification and watch how they preform on the task. You’ll spot the 10x without doubt. Since this scenario is less likely to be organized for a particular job opening, we stuck at estimating throughput and naming it “ten times faster”, “ten times productive”, etc (it should have some ground, though).
Problem with estimation is that it is affected by a lot of factors, as mentioned in other comments, therefore the “10x” can be easily dissected and criticized, but that was never the point.
Totally agreed that productivity is highly context-dependent and that the “10x developer” idea obscures the fact that specialization and experience matter a lot.
However, I think there’s also danger in going too far in the other direction and suggesting that experience is all that matters, and that anyone can be as productive as anyone else given sufficient training and opportunities. Maybe other people have had a different experience, but over the course of my career I’ve repeatedly observed productivity differences between people with the same amount of experience in the same specialty.
A lot of people started working in 3D graphics at the same time as John Carmack, but most of them couldn’t have written “DOOM.”
Oof, I didn’t realize Tom Demarco was the progenitor of the 10x developer meme. He was one of the coauthors of “Peopleware”, one of my favorite books about software organizations…
The thing that so many “10x” type memes miss is that growth and seniority are increasingly less about the code you write and more about the impact you have on colleagues.
I have enough experience banging out web apps that I can do a lot of common things really quickly. But I spend very little of my time at work actually doing that – instead my job is more about making it easier for other people to do, via tooling and documentation and establishing patterns and examples and sitting in planning meetings and so on. Which means that, measured by delivered number of application features, I am absolutely not a “10x” and probably often not even maintaining par with my colleagues. But that’s because the number of features delivered (or amount of code written or whatever) is the wrong metric for more senior developers.
Perhaps being a senior developer is the difference between a personal “10x” and a team “10x” - as a senior, you can prevent more junior colleagues from going off on wild goose chases that won’t lead anywhere, and design an architecture that will make the important things easier to implement for everyone.
I wrote this, and (as I heard on reddit) it is a bit pedantic, but I don’t think talking about developer multipliers is a helpful way to talk about skills. We can be more specific about people’s strengths and weaknesses and not pretend they always correlate with raw throughput under all conditions.
I thought this was brilliant, but you ended the article abruptly after that and suggest we call them “experts” instead. Which is in my opinion, even worse.
I didn’t have the same response… The “10x dev” notion is harmful because the idea of being “10x productive” is not a parameter of an individual, but (maybe) of an individual in a context. I feel like the upshot of TFA is that we should call explicit attention to the context (“expert in video encoding”). If you did that, then (IMO) even the term “10x” isn’t as harmful (“10x CRUD developer” is not seen to be equivalent to “10x QEMU developer”)… Though I think the connotations of the word “expert” lead one to ask “expert in what?” more than you’d ask “10x in what?”.
Thanks, I mean I guess I felt like a had made my point but maybe I hadn’t?
Happy to find some better terminology if you have ideas.
You did made your point very clearly. I was just eager to find better ways to phrase it. Like you promised in the beginning of the article.
I think “expert” suffers from same inacuracy as is asserts or at least suggests abnormally high abilities.
As others mention, it is a combination of a skilled person, placed in the right job and in optimal conditions. This is not straight forward to communicate.
To me, an expert has a lot of experience and (through that), hard to come by knowledge. Doesn’t necessarily mean they’re more efficient/faster than a non-expert.
I often feel weird when I read posts like this because of the Streisand Effect. Telling people not to think of something in a particular way often merely perpetuates it. An alternative would be to find a completely different framing and push it without mentioning the one you don’t like.
There’s a lot of cognitive research to back this up. One I can recall off-hand is a study that showed that telling someone something false and then telling them later that it is false does not undo the initial perception that it is true. It’s just the way the mind works.
Yeah exactly, I was going to say that I have never actually heard anyone use the 10x dev concept. I’ve only heard people rebutting it
I even googled for the tweet mentioned in the article, and I found it, but meh I wouldn’t have seen it otherwise
I disagree. 10x developer is a great resource for making memes and posting it to r/programmingcirclejerk.
/s
I don’t believe in 10x developers, but I do believe in 10x developer-project opportunities.
Ask me to build you a PostgreSQL-backed Django website for crowdsourced analysis of documents and I will 10x out-perform almost anyone else on the planet - because I’ve built that exact kind of project multiple times before.
Ask me to build you an Android app and I will most definitely not 10x anything.
OK but also how about this: stop taking literally anything that is written on twitter dot com seriously.
Is this a Lobstersable link?
Highly productive engineers is a thing.
“10x” is just the colloquialism.
Yeah, but you have to also weight a couple things in that ‘10x’ ratio. I’ve met highly productive engineers that were brilliant… and some that were too brilliant for their own good, kept solving problems that already have off-the-shelve solutions, spent inordinate amounts of time focusing on optimizing the wrong thing, used the wrong tool for a job because they didn’t fully understand there are different tools with similar but not equal use cases, and generally wrote tons of shitty code.
Those people are super good at getting something up and running, but their output is hell for anyone else to extend, maintain or debug.
I wanted to phrase the same myself, see the elephant in the room.
The point and fact is, there are highly productive engineers and we want to identify them somehow. Terminology is just byline, doesn’t really matter how we call them, 10x/cheetah/expert, whatever.
Remove the context: get together randomly selected 100 backend engineers who have 5 years experience doing REST APIs with Spring Boot. Give them the specification and watch how they preform on the task. You’ll spot the 10x without doubt. Since this scenario is less likely to be organized for a particular job opening, we stuck at estimating throughput and naming it “ten times faster”, “ten times productive”, etc (it should have some ground, though).
Problem with estimation is that it is affected by a lot of factors, as mentioned in other comments, therefore the “10x” can be easily dissected and criticized, but that was never the point.
In Peopleware, DeMarco and Lister write:
What nearly everyone who has read that remembers is the following:
Spot a difference?
Totally agreed that productivity is highly context-dependent and that the “10x developer” idea obscures the fact that specialization and experience matter a lot.
However, I think there’s also danger in going too far in the other direction and suggesting that experience is all that matters, and that anyone can be as productive as anyone else given sufficient training and opportunities. Maybe other people have had a different experience, but over the course of my career I’ve repeatedly observed productivity differences between people with the same amount of experience in the same specialty.
A lot of people started working in 3D graphics at the same time as John Carmack, but most of them couldn’t have written “DOOM.”
It’s kind of a nature vs. nurture question.
I like to think that I’m a 10x developer about 10% of the time. I’m pretty “bursty.”
Worth checking Gergely Orosz’s article about the same, he phrased an alternative even: https://blog.pragmaticengineer.com/the-cheetah-software-engineer/
Haven’t heard the term in years, earnestly.
Oof, I didn’t realize Tom Demarco was the progenitor of the 10x developer meme. He was one of the coauthors of “Peopleware”, one of my favorite books about software organizations…
This. More of this. Thank you!