DEV Community

Cover image for What 10x engineer means?
stereobooster
stereobooster

Posted on • Updated on

What 10x engineer means?

Twitter is on fire because of some thread on 10x engineer. People started to post sites (1x.engineer, 10x.engineer), blog posts (1, 2).

What 10x means?

I guess 10x means somebody who provides 10x throughput (10x more effective). Right? For example, average coal miner mines 50kg per shift, then 10x miner would produce 500kg per shift.

How would you measure the effectiveness of an engineer?

Is it lines of code (LoC)? I guess we all know the answer (it is not).

Is it a number of features? But features have different complexity like one thing is to be able to edit the document (simple CRUD) and absolutely different thing is to be able to collaboratively edit the document, like Google docs (for this you will need to read about CRDTs or similar approach). How do you compare the complexity of features quantitively?

Code is not the only one activity developers do. What about code reviews? Should we count number or quality? How you define the quality of code review?

What about bug reports? What is a better big number of small bug reports or reports about complex hard to catch bugs?

Developer activity goes beyond developing: you need to discuss the feature with product people (requirements analysis), see if it feasible if it contradicts previous features, plan it out, create tickets (for yourself or colleagues), sometimes the problem is so complex that you need to pause before writing code and write some kind of proposal (RFC) and then discuss with colleagues, then you write code, tests, test manually or write integration tests, write documentation, review colleague's PRs, communicate with open source authors, write bug reports, fix bugs, help you, colleagues, if they stack with something (even if you play role of rubber duck), and many more... Which of those do we count and how we measure it to quantify 10x factor?

What about specialization?

Let's assume we have a team of backend or full-stack "10x" developers, but they kind of suck in CSS, they are super smart about everything else database, distributed systems, algorithms, networks, DevOps, etc. They will struggle without at least one 1x CSS developer.

What about soft skills?

Should we compare only hard skills or soft skills? If we will compare soft skills, how would we measure that?

Good and bad days

We all have good and bad days. Sometimes you don't perform as good as regularly. If you would get measure performance, what would be a statistically significant sample?

PS

You for sure can compare developers: developer which started a career 3 months ago, would be slower than somebody who started 3 years ago. But can you quantify this comparison? Can you compare developers, beyond some point?

How you can tell somebody is 10 times better, not just better but exactly 10 times better? If it would be a hand-wavy comparison, how you make sure it is unbiased?

Photo by James Lee on Unsplash

Top comments (15)

Collapse
 
karataev profile image
Eugene Karataev

10x engineer writes 80% of code while others are busy on meetings discussing the project.
After that 1x engineers rewrite his code to meet actual project goals instead of goals in 10x engineer's head. They also make the code documented and maintainable instead of spaghetti mess after 10x engineer.

Collapse
 
avalander profile image
Avalander

They had us in the first half, not gonna lie

Collapse
 
scottshipp profile image
scottshipp

10x engineer idea was based on bad science. It was purely subjective impression. The people surveyed claimed that some of their devs seemed to have 10x more output. There was no scientific definition of what that meant. It's rubbish we should forget about.

Collapse
 
stereobooster profile image
stereobooster

Yeah I found that paper later after I published the article

Collapse
 
karlredman profile image
Karl N. Redman

Please edit your article to reference the the basis for this discussion. That would be very helpful for people reading it. Otherwise, nice commentary article.

Collapse
 
johnfound profile image
johnfound

"10x" in Internet usually means "thanks".

Collapse
 
stereobooster profile image
stereobooster • Edited

I'm not sure if this intentional pun or not. Is this the case of "good satire indistinguishable from reality"?

Collapse
 
cheetah100 profile image
Peter Harrison

The 10x engineer is actually a product of a healthy development environment which gives developers the latitude to explore and take ownership. The real successes do not result from developers having their story point counts micro managed. Real success is about breeding a development culture which cares about pleasing the customer, who has an empathy for what the problem is and the pragmatic skills to solve it. The idea that there is something magical about some developers is toxic; if you wrap developers in a environment which gives them responsibility and ownership, along with the support and environment to perform you can develop these star performers.

Collapse
 
krippy2k profile image
Gerald Fishel

I would never use the term “10x engineer” in earnest, but I have a decent idea of what it is. It’s definitely not quantifiable, it just is what it is. When you’ve been around enough developers you know the ones that stand out, that are just exceptionally competent. They will quickly have a better grasp of the system under development than anybody else, including those who have been around a lot longer. If there is a bug that other developers are struggling with, you know who to call to figure it out and unblock them. They’re the ones that aren’t going to come up with cockamamie theories about why something is not working and make a fix with nothing to back it up and hope it works, they’re going to quickly zero in on how to reproduce it and isolate the source of the problem and surgically resolve it. They’re the ones that you always want in your architecture discussion even when they loathe the title of architect. Instead of wasting time on repetitive tasks, they build tools, even if it means doing it on their own time. They’re always looking for ways to improve the system and improve their own skills and know where to draw the line between bringing value and wasting time.

Collapse
 
sampathbalivada profile image
Sai Sampath Kumar

Don't we read 10 in Binary? That makes it 2x Engineer in Decimal.

Collapse
 
guitarino profile image
Kirill Shestakov

Maybe it just means "a good engineer". The term is just an exaggeration and isn't necessarily meant to be taken literally. We all know good VS bad software developers, and it's more based on intuition rather than a metric.

Collapse
 
ohryan profile image
Ryan • Edited

🤔🤔🤔
🤔🤔🤔

Collapse
 
stereobooster profile image
stereobooster

No worries. I got you

Collapse
 
stereobooster profile image
stereobooster

About the origin of the term: jasoncrawford.org/10x-engineers

Some comments may only be visible to logged-in visitors. Sign in to view all comments.