Vermeer, Beethoven and Shakespeare are masters of their crafts. The same word we use for skilled tradesmen. Why can't we call them master programmers?
A master craftsman will solve a problem quickly, efficiently, and elegantly, combining insightful attention to detail with speed and effectiveness.
A master creator will produce work of lasting relevance and power. The metric is quality and impact, not speed and efficiency.
Occasionally you get people like Mozart who combine elements of both, but they're exceptionally rare. And they work best in a relatively limited context which they have mastered completely. They're not perpetually chasing the latest shiny. (Mozart basically knew one style. Even he would struggle to master all the languages and genres that are common today.)
Turing would likely have made a poor backend developer, but he produced work that had lasting impact.
A typical 10X developer will be more like a master builder than a master computer scientist.
I don't find the labelling offensive, because it's clearly realistic. Some people are just very, very good. They produce clean, tight, code at speed, far more quickly than muddlers who produce reams of mediocre code which creaks along, breaks when you look at it, and doesn't actually solve the problem.
But a 10Xer isn't going to be good at everything. If they mostly do backend, they're not going to go toe to toe with game devs. Etc.
In the programming industry, there's likely a bias more toward younger people, and hiring offices ask for the world. They'd like a whole staff of masters and rockstars. Though that doesn't preclude "older" people from being known as masters either. Take John Carmack or Jonathan Blow, for example.
Something else than thirty years ago, because presumably he has developed since then.
I think that was why GP suggested "journeyman" for younger people, because otherwise there's nothing to differentiate young "masters" from masters honed by thirty years of additional experience -- except adding the whole phrase "with thirty years of experience", which is pretty clumsy.
How many times faster is a developer who can write a compiler over one who can not?
We are at least consistent; I rather frequently see programmers claiming a "105 times faster!" benchmark that was actually the result of a fundamental complexity change.
Not everything is on a linear scale.
Yes but I think the underlying issue is that some people really Really don't like to acknowledge (or are unaware) there's a small set of elite programmers that can do things average coders can't. But any label we use to describe them (i.e. "10x", "rockstar", "ninja", etc) will be psychologically distasteful. I previously commented about that effect:
- https://news.ycombinator.com/item?id=13753178
- https://news.ycombinator.com/item?id=24753594
To see that hidden psychology driving the narrative... look at how the author constructed his comparison with extra qualifiers of "competent" & "similarly experienced" : ">The idea that someone can produce in 1 day what another competent, hard working, similarly experienced programmer can produce in 2 weeks is silly."
In other words, if we artificially construct the comparison by a priori assuming both programmers are equal, then the 10x difference is a myth. Well yes, that's tautology. If you invent a sentence to "prove" a point, you can set any conditions in the artificial universe in your favor that seems to support it.
However in the real world, the stack of resumes will have a candidates with wildly different skill levels. Some struggle with Fizz Buzz. Some can write a 3d game from scratch. But it's impossible to create a label to describe that wide gap which also doesn't invite bikeshedding on that label.
EDIT reply to: >"Why can't we call them master programmers?"
Because we'd still have endless bikeshedding of the label "master" as in "Master programmers are a myth..."