What 10x engineer means?

stereobooster - Jul 14 '19 - - Dev Community

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

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .