3 ms·
My take on this is, 10X what? What is the metric for code that we're comparing? Is it correctness? Speed? Reliability? Fault tolerance? Readability? Intu
by randcraw 7y ago
My take on this is, 10X what? What is the metric for code that we're comparing? Is it correctness? Speed? Reliability? Fault tolerance? Readability? Intuitiveness of design? Fast development? Someone easy to collaborate with? Excellence at debugging/fixing/refactoring code?
The best programmers I know are 10x better at no more than a couple of these metrics, while every coder expresses a different spectrum of credits/debits across the skill areas than the 'norm'.
Successful code itself seldom serves more than a couple of these metrics well. Fast code is almost never fault tolerant. Or readable. Or easy to refactor.
What's more, the creator of one 10x code is unlikely to easily shift his/her skill set ideally well to produce 10x code on a different project with very different priorities. What's more likely is that the 10x coder's next project will be implemented much like his/her last, regardless of whether the project's design criteria demanded otherwise. So across different projects, the same 10x coder won't deliver 10x results on all, even if s/he performs equally well on the same metrics -- because the design requirements have changed.
Like writers, programmers aren't good at adopting different writing styles for different roles or domains. The skills needed to design and write 10x code for an operating system or math library do not extend to a 10x user interface or social media app.
We really need to stop judging complex systems using single metrics. Oversimplification sucks.