Every now and again my Twitter blows up with tweets about 10x developers. I usually don’t engage because I find the topic way more complex than I can fit in (even extended) Twitter limits. But now - ha! - now I have a blog. What better way to make some immediate enemies? ;)
I first came across the concept of 10x-developer (or engineer) ages ago; back when, I think, it didn’t immediately invoke a hate reaction from a lot of people. When I first heard it, I knew quite a lot of developers I immensely appreciated and respected (still to this day some of them are my friends). When I first heard the term, I immediately thought of them. Incredibly talented and experienced folks, hugely dedicated to writing good code, to solving the right problem, in the right way - but also super friendly and helpful and respectful people. To me, “10x developer” term always brought to mind these qualities, and these people.
So to hear that now 10x developers are considered “something that doesn’t exist”, or almost an insult? I don’t know. I just don’t buy into this hate. Doesn’t it all depend on your definition of what a 10x developer is?
I mean… Do we truly want to say that all developers are equal? Did you truly never work with someone that was a terrible developer - either from technical/delivery perspective, creating chaos whatever they touched, or being a terrible human, or (the worst case) - both? Why do we have interviews when we hire? Is it not because we do implicitly admit that no, developers are not identical machines coming from a factory, some are better, some are worse, and most definitely some are better or worse for specific project/task at hand?
And if we admit that there are bad developers out there, if we admit that there are people we would never, ever want to work with again - doesn’t that lead to: there are people we would love to work with again? Are there any people that were so amazing, that you could easily imagine taking them into your team instead of 2 or 3 others?
And, in extreme case, can you not think of a single person (A) that you would much rather have on your team than 10 “instances” of a certain (terrible) person B? Does this not make person A a 10x B developer?
I feel that the backlash comes against the concept that churning out 10X code / features somehow makes someone a better developer by and of itself. To some people, developers with great technical skills can get away with being a terrible person. If it’s in this case that they are called a 10X developer, just because they are very smart, a lot of us (myself included!) do not feel comfortable with that.
However, I’m just not sure if fighting the concept of 10X developers is necessarily the best way to achieve the goal - which, I think, should be to make sure that we appreciate not only somebody’s technical skills, but also a whole lot of other characteristics, such as being kind and helpful and being able to make other people grow in their careers (and loads of other things). I feel that reacting with backlash at the 10X developer idea implies that there are no better and worse developers, everybody is equal - and this is not something I agree with.
What I’d much rather see is redefining, reclaiming of the term 10X developer. I’d prefer it clearly meant not just somebody’s technical ability, but a whole set of other things. I’d love it, for example, to include ability to help other people grow. As in: your X factor is composed of Y in your own technical skills + Z of how much other folks in your team learnt in your presence. Or: your X number is your personal output multiplied by how much output of other people increased thanks to your help. If we had a good definition of 10X developer, we could all try and aspire to become one - based on a sane set of goals and truly valuable characteristics.
So, if we were to reclaim the 10X developer - what would your definition be?
Top comments (4)
Thank you for this. I feel like a lot of people are just having a knee-jerk reaction to this, trying to completely destroy that thread and even the person who tweeted it. I don't see many people taking the time to think about this.
I think the term 10x engineer is not a good one. It has a very strong implication of someone worths 10 times more than someone other. This thought doesn't help any team or any organization. There used to be the 'rockstar', 'ninja', etc. expressions, they just sounded stupid I guess. Ideally I think a 10x engineer is a Senior engineer, but nowadays it's pretty easy to nab a senior title, so I guess the industry is inventing new ones?
Thanks! You're probably right that the implication "someone worth 10x as much" is why many people react in such an intense manner, and indeed the term is not the most fortunate one, and I'd also much prefer if some other catchy term came up. But it is out there, whether we like it or not - so I'm thinking maybe rather than trying to silence people like the chap on Twitter, or keep talking how there are no 10x/ninja/rockstar developers, it would serve us better to discuss what an actual 10x/rockstar/ninja (or whatever the term) developer would look like - because it sure as hell has nothing to do with having a dark theme in your IDE.
I don't mind people discussing it, but it's hard to come up with some checklist for a 10x engineer. And don't we all already know who are these people based on our experiences?
Anyways, here's a related post: dev.to/turnerj/the-10-points-that-...
Yes, I saw that thread, and that is exactly what I'd like to see more of, as well as the great post from Emma W very recently (101 tips).
I do think that we can always improve, and I like when this topic comes up because there are always things we maybe forgot or normally don't think about. I like having goals and things to aspire to, and grow, and improve myself - because there is always more.
Just FFS don't put "dark theme" as one of the checkboxes 🤣