
10x Engineer - decklin
https://medium.com/about-work/6aedba30ecfe
======
jandrewrogers
While the article correctly highlights the lack of rigorous scientific studies
on 10x engineers, it also generalizes a bit too much from anecdote to make the
argument that they are mythical creatures. A more reasonable argument is that
the hypothetical existence of 10x engineers explains little about the
productivity of most organizations.

Personally, in the couple decades I have been in this business working in
countless companies in Silicon Valley, I have met a few individuals that I
think could be accurately characterized as 10x engineers. An important point
is that they are not productive at just one type of development but genuine
computer science and software engineering polymaths. They are incredibly rare
but they do exist for all practical purposes. People that are 10x engineers
never seem to think of themselves that way, it is how the other engineers
think of them. It advertises itself; if you have to tell people you are a 10x
engineer, "ninja", "rockstar", etc then you probably are not.

I will add that none of the 10x engineers I worked with were burning the
candle at both ends. They did not work particularly hard compared to everyone
else, they were just extraordinarily effective and consistent at making
excellent choices in an engineering context _and_ always worked very well with
most engineering teams they needed to work with. I've never seen any of these
guys burn out, they've been doing it for decades.

I would also suggest that it takes quite a few years of diversified experience
before you can be a legit 10x engineer. Consistently making excellent choices
requires both breadth and depth of knowledge and experience that you simply
can't develop in less than a decade.

~~~
alexmayyasi
I would argue that the 10x engineer isn't a myth - the myth is that these 10x
more productive employees are unique to engineering whereas they can really be
found across industries.

My starting point is this study by biz school professors (unfortunately
paywalled) about how power law distributions define employees in sales,
scientific research, entertainment, and really much of skilled labor:
[http://onlinelibrary.wiley.com/doi/10.1111/peps.12054/abstra...](http://onlinelibrary.wiley.com/doi/10.1111/peps.12054/abstract)

In effect, it's common for 20% of employees to be responsible for 80% of a
company's productivity.

I'm a writer at Priceonomics, so you can read the blog post I wrote about the
research and the topic here: [http://priceonomics.com/whats-so-special-about-
star-engineer...](http://priceonomics.com/whats-so-special-about-star-
engineers/). I'd love to hear what HN thinks in the context of this thread.

It's a longread. I think the most important points are:

1) You find star performers in many industries

2) Star performers are not inherently more productive - context is important.
They are talented but also benefit from the system supporting them. In one
study, the performance of 10x Wall Street analysts crumbled when they switched
employers if their team did not come with them.

3) If you get obsessed with 10x employees and A players - and lose sight of
important points like the importance of team - you will become Enron. Really.
Enron lived and breathed the A players motto until their idolizing of "talent"
lost all connection to reality. You can find a link to a great Malcolm
Gladwell article on the topic in my post.

~~~
pjc50
_Star performers are not inherently more productive - context is important.
They are talented but also benefit from the system supporting them. In one
study, the performance of 10x Wall Street analysts crumbled when they switched
employers if their team did not come with them._

[http://en.wikipedia.org/wiki/Alexey_Stakhanov](http://en.wikipedia.org/wiki/Alexey_Stakhanov)

Stakhanov was held up as the >10x more productive coal miner; however, it's
now generally understood that this was the result of a propaganda effort, and
he had a team preparing and clearing for him.

This is a common risk in work-rate-measuring systems, how do you account for
worker A spending time which saves the time of worker B? Especially in
knowledge work, where the old guy/gal who does very little but carries all the
oral history of the company in their head can be more important than anyone
realises.

------
crazygringo
The 10x is a huge simplification, but it doesn't make it any less true.
Obviously there's a huge range.

I'd go so far as to say there are 100x engineers -- but it's not that they
_personally_ achieve 100x more than another programmer sitting in front of the
computer. It's that they have the vision and talent to set a project up the
right way from the start, so that the normal programmers can be productive.
They're the difference between a project being delivered in 2 mos with a new
batch of properly-working features coming 1 mo after, or a project taking 2
years with 8x more programmers, crashing half the time, and further features
becoming impossible.

And then there are -2x engineers, who mess up things in the code base so bad
that every hour of their work takes two hours for other programmers to fix or
undo.

Then there are engineers that accomplish things that other engineers simply
cannot. Call these infinity-x engineers.

No matter how much people want to call the 10x engineer a myth, there is a
truly gigantic variation in productivity levels, which is especially magnified
at architecture-level roles (where productivity can have a multiplier-effect
on other engineers, for better or worse).

~~~
georgemcbay
Even the 100x is a simplification, of course.

One example (out of an infinite set of them) would be if you need a software
system that deals with massive amounts of signal processing on a power
constrained real-time DSP chip. There are lots of people out there who are
"Senior Software Engineers" at whatever company they work at currently
(because they can create website solutions by stacking existing JavaScript
frameworks with some glue code) who may never be capable of delivering that
system to you. Not 10x later than someone who can, not 100x later than someone
who can, not 1000x later than someone who can, but not within their lifetime
and thus certainly not within a useful time-frame for your project.

And I don't mean to pick on web developers here, that's just used for example.
There are plenty of people out there doing web development who could adapt to
embedded system programming, or who already do both adeptly, but there are
also plenty of "web programmers" who are really actually designers or
glorified project management people with little to no aptitude for programming
at all.

Also, I don't think this is unique to programmers. I wouldn't expect a general
practitioner doctor to be able to perform neurosurgery and just have him take
10x longer to do it, he may just never have the "hands" for it.

~~~
chii
but the criteria to which you ascribe to is one of education and training.

A GP is certainly not a neurosurgeon, and therefore cannot possibly do the
same job. Ditto with embedded programming vs a "front-end" developer.

But, if you consider only embedded programmers, would there be a 100x
programmer out there?

~~~
georgemcbay
"A GP is certainly not a neurosurgeon, and therefore cannot possibly do the
same job. Ditto with embedded programming vs a "front-end" developer."

Cannot possibly do the same job? Really?

I've done embedded programming, front-end web programming, back-end web
programming, desktop app programming for Win32, Qt/Linux, game programming, OS
system level programming and currently do mobile app programming, among other
types of programming. And I'm not particularly special, I know quite a few
other people personally who have done various combinations of these jobs and
others at a high level of skill in each specialization. That's sort of my
basic point is that really good and flexible programmers are not fungible
products you can really ascribe any productively multiplier to.

~~~
chii
i didn't say a person can't be both a front-end and an embedded developer. I
merely said that a front-end developer (who is not trained in embedded
programming) cannot do it. That you (or that there exists people) who are both
doesn't have any relevance.

------
PhasmaFelis
One of the many problems with the 10x Engineer concept is that it imagines
that skill is a single dimension, when in fact it depends massively on
context, environment, and the specifics of individual experience and the
problem at hand.

I am definitely not a 10x anything, but my group once got handed a massive
data-processing task that my supervisors--better coders than me, to be sure--
believed was impossible to automate, and budgeted 200+ man-hours to do
manually. I asked them to hold off for a minute and successfully automated the
entire process in three days. That doesn't mean I'm an all-purpose supercoder;
it means I happen to be really damn good at analyzing patterns in data sets.
Give me work that I'm good at, but don't expect me to be that good at
everything.

~~~
ColinDabritz
Also related is the myth that "an engineer" is a fungible resource. They are
not. It's not one problem space. You can't swap engineers around like that,
you have to match skill sets and experience to the problems you're having, or
build new skills.

~~~
blah32497
There is a trade off. If you don't swap your people around then they become
very one dimensional. Sometimes it better to put someone less experienced in
an area on a project so that he gains perspective (ie. see all junior staff)

~~~
ColinDabritz
A good point. A better phrasing would be "you can't move engineers around like
that and expect them to be instantly productive". The problem is that
engineers are viewed as being one dimensional as in "amount of engineering".
Swapping for cross training, skill building, or just plain variety is quite
healthy.

------
gruseom
I just realized what was bugging me about this article. It points out that the
empirical support for 10x claims is shoddy. That's fair enough. But then it
switches to making a bunch of claims that have _no_ empirical support: 10x is
a myth, it's pernicious, it may lead to drug abuse, etc.

So which is it? If we're going to hold 10x up to the standards of rigorous
research and conclude that it's bullshit, then by the same logic the rest of
the article must be even more bullshit. (At least 10x has _some_ experiments
behind it.) By that standard, the only legitimate thing any of us can say on
the subject is "we don't know".

But if on the other hand we're going to grant some validity to the folklore,
then the most likely explanation for the persistence of 10x claims among
respected software veterans is that it's grounded in reality, even though it's
silly to take "10x" literally. (What the hell is "x"?)

~~~
azakai
Well said. Without objective evidence, we should be open to the possibility of
this being true or false.

However, as various people commented here, and I can attest as well, there are
engineers who are orders of magnitude better than others. It's plainly obvious
when you meet them and work with them for enough time to see.

So the interesting thing is why some people disbelieve their existence. If
they haven't met such engineers, that is fine - they should be skeptical until
they see evidence. But it is irrational for them to discount the eyewitness
evidence of others.

So the really interesting issue here is _why_ some people, like the article,
want to deny the existence of such engineers. Are they threatened by them or
something along those lines? I'm not sure.

(And of course "10x" is meaningless literally, etc. etc. But programming is a
human activity, and we can measure our fellow humans despite how complex we
are; for example we can say that some authors of fiction are hugely better
than the average, such a thing is not even debatable.)

------
philbo
Even if the 10x engineer were to exist, assuming a normal distribution, they
would be extremely rare and highly sought after. To optimise your business
around hiring such a precious unicorn would seem like a very foolhardy
strategy. For one, simple probability suggests that you probably won't find
one. And if you were to find one, could you be certain that it were a real
unicorn rather than a horse with a plastic cone stuck to its forehead? And
even then, what happens to the business you've built around it when your
prized unicorn is stolen or passes away?

There are probably no 10x engineers, but I'm quite sure there are 10x teams.
Better to focus on growing one of those than chasing a fairy tale.

~~~
craigyk
YES. What the 10X myth hurt most is probably hiring practices.

~~~
JimboOmega
The thing that always got me is that even if they do exist, the candidate
selection methods are, at best, a very unreliable way to identify them.

Still, it really fed into the "only hire the absolute best" mythos that has
spread in countless other harmful ways. Consider the aphorism "A players hire
A players, B players hire C players".

The general message of all of it has always been: "You must hire the very
best, even one merely good employee will poison the well and ruin everything".

Yet hiring practices are, as I said already, imprecise... which creates all
sorts of bizarre behavior in the attempt to snag the "very best".

~~~
craigyk
Yes, "only hire the best" hurts everyone. What they should have been doing is
hiring more and firing more. At least you'd have a better idea of how well a
person does in the context of your environment.

~~~
chii
i suppose this is what a probation period is.

------
gruseom
I spent Saturday digging out a basement with my son. The kid was a machine—for
sure he did an order of magnitude more than I did. There's your 10x right
there. If you can see it with picks, shovels, and a wheelbarrow, it's hardly
implausible that you would see it in software.

The research literature on programming productivity sucks, but not because 10x
is a myth. It sucks because we have no reliable way of measuring these things.

~~~
falcolas
Age, physique, motivation and balancing work with rest had nothing to do with
it?

I'm 10x more productive than my dad at physical labor, but a lot of that is
because he's 75 and I'm less than half his age. Doesn't mean I'm any kind of
physical labor "rockstar"...

~~~
gruseom
Of course those things have something to do with it! Who would ever say they
didn't?

------
bowlofpetunias
I thing part of the mythology about the 10x engineer stems from the very real
and shockingly widespread existence of the NNPP or the "Net Negative Producing
Programmer".

There are many environments in which NNPP's are pretty much the standard,
programmers that produce more problems and bugs than actual working and
sustainable solutions.

In such an environment any competent developer will quickly stand out and will
easily be labelled as a "x-times engineer", when all they actually are is just
good at their job where others fail miserably.

The 10x myth is a way to give a positive spin on the shockingly common
incompetence in our field.

~~~
nether
I like the way Mike Church put it in a Quora answer
([http://qr.ae/NHgRJ](http://qr.ae/NHgRJ)): employees are either multipliers,
adders (most common), subtracters, or dividers (fire immediately). Whether
multipliers are 5x or 10x more productive is a matter of nebulous metrics, but
there are obvious standouts whose presence brings a very nonlinear increase in
value to the team.

~~~
smacktoward
The four-types classification reminds me of a semi-famous saying by a German
general, Kurt von Hammerstein-Equord
([http://en.wikipedia.org/wiki/Kurt_von_Hammerstein-
Equord](http://en.wikipedia.org/wiki/Kurt_von_Hammerstein-Equord)):

 _I divide my officers into four groups. There are clever, diligent, stupid,
and lazy officers. Usually two characteristics are combined. Some are clever
and diligent -- their place is the General Staff. The next lot are stupid and
lazy -- they make up 90 percent of every army and are suited to routine
duties. Anyone who is both clever and lazy is qualified for the highest
leadership duties, because he possesses the intellectual clarity and the
composure necessary for difficult decisions. One must beware of anyone who is
stupid and diligent -- he must not be entrusted with any responsibility
because he will always cause only mischief._

~~~
ethnomusicolog
And yet if you look at high school students homework load, it seems bent on
producing stupid AND diligent people...

------
wavesounds
I remember when my boss told me I was a 'Rockstar' because I stayed up all
night finishing a project by an unrealistic deadline he had agreed to for a
customer. That was when I knew it was time to quit. Most of this is just ego
boosting trumped up by managers or VCs or MBAs to get 'brogrammers' to try to
compete to outdo each other with 'dedication' to the company. Sure some people
are better then others but if you buy into an idea that you are a 'rockstar'
or a 'ninja' or better then '10 other programmers combined', then I'm sorry to
say but you're probably really just a 'tool'.

~~~
bliti
You make a strong point. This may be used to get people to work harder for the
same (or even less) money. I have met talented
programmers/engineers/developers. They had that a natural instinct towards
computers. But they were not born as 10X. You can be highly talented, but
still not be very good. The thing is, people who are born talented gravitate
towards exploiting that talent. In computers, its the guys who are always
thinking, talking, and dreaming about systems. The ones who sometimes stay up
late because they just have to code. Or the ones who are obsessed over the
layout of a PCB.

It is the mix of talent, and dedication that puts some people above others (in
terms of skills). Not some myth or anything.

------
freyr
I don't know anything about 10x engineers.

I know about 1x engineers, maybe 1.5x engineers.

And I know about 0.1x and 0.5x engineers. They're the engineers who scraped by
in college, whose heart isn't in it, who clock in and out each day and just
try to stay under the radar. They're good at looking busy and getting nothing
done. They make the 1.5x engineers look really good.

~~~
Silhouette
Exactly. If you're going to talk about 10x engineers, the first question has
to be ten times _what_.

------
jiggy2011
There are probably a few real "10x developers" out there but the reality is
that there are so many lazy and under qualified developers out there that it's
not hard for anyone who has put concentrated effort into learning to program
to look like one.

~~~
eitland
Yep. I'm hardly a 10x engineer but time and time again people tell me I'm the
only one to solve basic questions.

As one person who hired me said: there are an awful lot of people who want to
have a fat programmer salary but very few who can tell me what design patterns
are good for.

Basically once you get past the recruiters there's very little competent
competition.

------
bjourne
10x might not be a good description. It is not specified at all what is
multiplied by ten. But I'm sure there are engineers that are capable of
performing at levels far, far beyond the average.

No one would bat an eye if you point out the huge skill differential between a
professional musician or a professional footballer and an amateur. If it could
be quantified, Yngwie would be at least 500x better electric guitar player
than me and Messi 9.37e8 better at football. I don't think software
development skill is all that different. In fact, it would be surprising if
the difference between average and elite was only 10x when it is so much
larger in other disciplines.

------
tdees40
I think the free market mostly answers this question. According to indeed.com,
the average software engineer salary is $91K. So obviously a company (assuming
they could properly identify them) would pay $910K/year to a 10x programmer.
Are there people out there making that for pure coding (i.e. not management)?
Maybe, but it seems doubtful. I would think that generally 99.9999% of
programmers make less than $400K if they're just doing programming (I'm
excluding things like options or equity in comp, which is mostly just a lotto
ticket anyway). So the market seems to think that even the absolute best are
3x-4x programmers.

~~~
CamperBob2
_So obviously a company (assuming they could properly identify them) would pay
$910K /year to a 10x programmer._

The 10x-100x engineers tend to have names like Carmack and Torvalds. So, yes,
they tend to get what they're worth, in the end.

~~~
chii
is Torvalds earning 900k/year? i dont know, but i have doubts that he is.

But using salary is a wrong metric, because a 100x programmer would be
founding their own company, and the value they gain is sometimes worth way
more than 100x the average salary had they remained a salaried employee.

------
debacle
People who don't believe in 10x programmers don't understand that they
themselves are probably 3x or 4x programmers, thus to them a 10x programmer is
probably only a 2.5x or 3x programmer relatively speaking.

There are a lot of 1x programmers out there. So many that it's very easy to be
an "above average" programmer.

I am not a 10x programmer, but I'm not a 1x programmer either. I've met people
who are 6-10x programmers, and they are incredibly good at what they do, to an
extent that's hard to describe. I think it requires an even balance of skill,
pragmatism, experience, and passion that allows someone to have that kind of
performance.

~~~
jasonlotito
What about 10.1947x programmers. Or 5.345x programmers?

And, do you average out the productivity, or is that the minimum or maximum? I
mean, if you go on vacation, you are a 0x programmer for that time you are
gone.

Basically, I think it's a silly thing that's been taken to far. Everyone is a
1x programmer compared to themselves, and a 10x programmer when compared to
the right person in the right context.

~~~
debacle
10.1947x programmers are a myth.

------
fatman
If I'm being generous, I'm a slightly above average engineer. Spot me 10X and
I'll outperform any engineer on the planet. Do I believe in the 2X engineer?
Definitely. 3X? Sure. 5X? Possibly, if their name is Ritchie or Torvalds or
the like. But 10X? What I do in a week, they'd only get 4 hours. What I do in
a year, they'd get 5 weeks. Doesn't exist.

~~~
strommen
The 10x "mythology" doesn't mean 10x productive as an above-average engineer.
It means 10x productive as the least-productive.

So think of somebody who would consider you a 3x. Now the engineer who is 3x
relative to you is just about 10x to them.

Now consider the developers with net-zero or net-negative productivity. The
10x rule wildly understates how much more valuable a good engineer is relative
to them.

~~~
craigyk
Then the mythology is worthless. The focus should then be on eliminating bad
engineers, not to go chasing after unicorns. Or even more importantly, figure
out why some "10X" become "0X", or vice versa.

~~~
svachalek
Yes. Remember this whole thing started over 40 years ago, when management
still had the mindset of large teams of factory workers and/or office paper
pushers. Some were clearly better than others but for the most part, employees
were supposed to be pin-compatible fully interchangeable parts, so the idea
that some people could be lagging so far behind the others without
management's notice was a new and novel concept. Today, not so much.

------
rumcajz
I always thought of 10x engineer not as one that writes 1000 LoC while others
write 100 LoC. Rather, as one that says, at an early stage of development
"let's do it this way" and the total amount of manyears spent on the project
(including maintenance etc.) happens to be 100 rather than 1000, which would
be the case if second best approach is pursued.

~~~
silverbax88
There's an old programmers joke about this, which I'm not going to try and re-
hash in entirety, but basically it's a listing of C++ code that starts off
small, then as the programmer gets experience and learns how to do it
'better', the code grows, and grows, and becomes a massive engine of code.
Then of course, as the years pass and the engineer gets more experience, the
code shrinks and shrinks until it's slightly smaller than the original.

~~~
marcosdumay
It's a hello world:
[http://www.ariel.com.au/jokes/The_Evolution_of_a_Programmer....](http://www.ariel.com.au/jokes/The_Evolution_of_a_Programmer.html)

And I digress. Every growing C programmer pass into a stage where he wants to
push that Seasoned professional code into the least amount of lines possible.
Even if nobody can read the lines.

------
JoeAltmaier
tl;dr: denial of the 10X productivity we all observe in practice in any large
group. Implies its not true until an 'official study' says its true,
regardless of vast empirical evidence that supports this obvious fact.

~~~
taybin
That's a misleading summary. No one is saying that all engineers are equal.

~~~
JoeAltmaier
Huh? The article repeatedly calls the 10x assertion 'mythology'. It
disingenuously tries to 'debunk' the history of this assertion while blithely
ignoring testimony from throughout the industry.

~~~
nandemo
Besides, OP challanges the 10x programmer notion on the basis that there are
methodological issues in the papers and books, and then goes on to list... a
series of tweets.

------
thethirdwheel
Any article that takes a body of peer reviewed scientific research, points out
some procedural problems, and then--without any supporting evidence--claims
that their competing perspective is correct is bullshit. Scientific claims
demand scientific refutals, not the agglomerated opinions of the twitter-
sphere. This is exactly the same tactic used by climate deniers.

------
com2kid
I have known developers who, given a moderately complex programming task, will
complete it within a reasonable amount of time. The code will be correct with
no more than the expected bugs, and the design will be OK as a stand alone
piece of code.

The design will not be ingenious. It will not take other parts of the system
into account. It will not have simple tweaks done in preparation of future
design change requests, tweaks that would make the code no more complicated,
but many times more flexible. The code will not be as eloquent or as simple as
it could be. A slight alteration to the initial design would have greatly
simplified the code and ensured against bugs.

Then there is the opposite side of things.

The programmer who understands the greater business needs of the product, and
writes code in anticipation of what is to come. Not entirely abstract to the
point of ridiculousness, but with proper hooks put in that will be needed
later. A software engineer who thinks past the most obvious implementation to
what sorts of implications different designs offer. A software engineer who
creates eloquent and understandable systems.

Yes one can argue that proper procedure and design reviews can enable the OK
developer to reach the level of the Software Engineer, but at what cost to
overhead? 2x? 3x? How many meetings, how many discussions?

There is a huge productivity difference between even experienced developers.
Denying that is purposeful blindness.

~~~
chris_mahan
YAGNI is a virtue. Make to code loosely coupled so the system can be modified
in-place when the time come rather than building features that may not be
needed in the future.

------
jakejake
This probably sounds arrogant, but I am pretty sure I'm a 10x programmer or at
least 5x. I don't consider myself all that smart, though, I just seem to have
a weird ability to get things done without much hassle. I feel like the 10x
guys have a mentality where they're able to break things down without getting
bogged down with the complexity of the whole thing. It's not that they're
necessarily geniuses at understanding complexity - it's that they're able to
break down complexity into simple parts.

Anyway, I kinda feel like just as there are 10x programmers, there are also
-10x programmers. I'd say, even -100x. It's crazy how much time one person on
the team can actually burn. One -10x person can suck up two 10x programmers'
entire day with support and still create an absolute mess that has to be re-
written. A piece of code that's solid will just run. A piece of junk can
introduce bizarre, intermittent bugs that the team will be fixing for months.

I've noticed that -10x guys have a crazy knack for hiding their errors too.
They'll figure out a way to get some botched code past unit tests and QA.
Sometimes there appears to be an incredible amount of labor that went into
circumventing every obstacle which was designed to prevent shooting themself
in the foot!

Anyway, not sure the point of my post. But, I do believe that the 10x guys are
out there and they can produce 10x without burning themselves out because they
just have a way of looking at things that make them more simple.

------
meshko
You can argue with anything if you reduce it to a ridiculously absolutist
statement. But the bottom line is that there is a significant gap between the
top 1% developer and average "let's see if I can google some code that does
that" developer. Is it 10X? Who knows, no sane person can claim to being able
to measure that exactly.

------
iyulaev
Have you ever taken compilers, operating systems, or some other project-heavy
class? If so I'm pretty sure you've noticed several individuals completing a
project with ease while the rest of the class, working in teams, struggles
with. You can visit any decent CS program, any semester, and see this happen.
It's no myth.

~~~
chii
It might be a failure of the teacher - some concepts are difficult to grasp
for some people due to the way their brains think. Some people think in
different shapes, different methods. If the method your brain happens to like
is the one that is being taught, then you might do reasonably well, by pure
chance. If your brain's method didn't fit with the method being taught, you
might not learn so well, and thus struggle.

This is evident even with something as simple as counting numbers - see this
video
[http://www.youtube.com/watch?feature=player_detailpage&v=UMk...](http://www.youtube.com/watch?feature=player_detailpage&v=UMk963QdShA#t=113)
, and that's just the concept of counting.

------
FatalBaboon
I think it's hard to measure productivity differences, especially in terms of
'x' (times), but it's definitely not constant.

However when it comes to whether they exist or not, here's an anecdote:

I was working for a TV channel and a piece of software needed to be
'actualized' (made over). By the time the other programmers told me the specs,
over the office space, and started debating how long many days it should take,
I was done (so roughly 1h).

Another point they make is that a group of people can generate compounded
productivity. I live the exact opposite. Right now I'm sitting in an office
with friendly people, and I roll my thumbs in boredom, but at night I work 1h
for select clients and do more than in a week at my day job.

The only problem is loneliness. I hardly ever met anyone who enjoys multiple
subjects (maths/physics/software/networks/biology/literature and capital
management for me mostly), in fact I mostly receive jealousy disguised as
mockery. Heck, I learned not to talk about seemingly arcane languages (Racket,
LUA and the like) otherwise I'm cataloged and have to fight ridiculous
prejudices. I found the best solution is to appear dumb.

Discrepancy between expectation of programmer productivity and the reality of
one programmer can be very deceiving.

------
clavalle
>It over-focuses on the role of the individual and individual contribution in
success, reinforcing Silicon Valley’s tendency towards hero worship, elitism
and destructive individualism while ignoring the context of situation and
privilege.

It correctly focuses on people that get stuff done. End of story. Some people
drift and others paddle, simple as that. It is valuable to be able to tell the
difference.

>It can provide a cover for destructive and abusive behavior by the “10x
engineer”

Whole. Separate. Issue. Being productive has zero to do with being a jerk or
not. People might tolerate jerks if they are productive, but that is a value
calculation. People also tolerate poor public speaking or being chronically
late or any number of other deficiencies for the same reason. If a person
creates value they have more leeway, in general. So what?

>It erases many of the essential team and cultural dynamics involved in true
productivity.

True productivity? As opposed to what? Productivity is productivity. This post
assumes people are too stupid to calculate the long term effects of behavior
and its relationship to productivity over time or to the output of the work
group.

I think this post is trying to create an argument where none exists.

------
tsax
More studies will definitely help. I have a 10X engineer in my larger group
and there's no question that he is one. Since I've seen this 'mythical'
creature, I would not agree with the piece. Of course memetic transmission of
the idea without critical evaluation can be harmful. However, color me
paranoid but I see the sentiment behind this as being egalitarian and not
meritocratic.

------
btilly
I find it sad that this article leaves out the (admittedly unpublished)
research on the 10x phenomena, which is described in _Peopleware_. They
consistently found 10x differences between experienced programmers on the same
task, with the same tools.

I find that particular research important for three reasons.

1\. The 10 fold difference was consistently demonstrated many times.

2\. Their research was conducted with professional programmers, in their
workplace.

3\. They were able to estimate the impact of a number of different factors,
and they found that the single biggest impacts were workplace factors.
(Ambient noise, dedicated office space, availability of white boards, etc.)

Admittedly they are unable to tease out why the connection exists between the
workplace and productivity. Do productive programmers choose good workplaces?
Or do good workplaces make programmers more productive? Probably a bit of
both.

BUT if you're an employer, go read that book. Then consider your office plan.
It is a lot easier to pay for a good workplace for an effective small team
than to pay for a less effective larger team. Office space is probably not
where you want to scrimp.

~~~
jacobian
How, exactly, is one supposed to cite unpublished research?

~~~
btilly
The authors of the book were the ones who did the research for their
consultancy. But you could easily cite _Peopleware_ itself for the research.

~~~
chii
tbh, qualitative research like this has no predictive power. It's just a (few)
case studies. The variables that are in these case studies cannot be
controlled for, nor tested and/or predicted. All it gives is some example
anecdotes. Unfortunately, a lot of social science research end up like this,
because of the complexity of the problem. Thus, i wouldn't cite peopleware as
research, but as anecdotal examples, or case studies.

------
altero
Lets put it other way. Why someone should produce 10x more work, even if
she/he could? Salary would be probably only 20% higher. And there is a huge
pile of disadvantages (no holidays, extra support...). It is also career
limiting move as someone becomes irreplaceable and can not get promoted.

~~~
chii
> becomes irreplaceable and can not get promoted.

if a company does this, the employee should threaten to quit. Either they end
up really quitting (good riddance - its probably a bad place!), or they
realize your value, and pay you extra. No need for "promotion" (to another
role/job).

I don't get why pay grade is tied to promotion.

------
contingencies
Let's face it: there's little to nothing that's new under the sun in software.
Experience means understanding old but newly recast problems faster, and if
you're lucky, solving their higher abstraction level equivalents the next time
for greater apparent effect to the lay observer. As widely understood, the
essential repetition of the solution act is something that bores good
programmers. I frequently explain programming to others as not entirely
dissimilar to floor sweeping. Who is the 10x engineer, then? Simple. They hit
those areas that are simultaneously the most trafficked and noticeable, but
perversely also the most ignored: the office fridge, the corporate atrium, the
stained carpet outside the front door under someone else's management.

------
kstop
I'd say it's more of a binary distinction. There are people I've worked with
who had no notion of their own limits AND had superior ability. Those people
would do surprising things as a matter of course, that others might be able to
do with time and planning, but most likely would never come up with on their
own.

When you find yourself greeted in the morning with things like "Hi, remember
we had that chat about how to store timeseries data? I added an arbitrary-
precision real type to the database last night and set it up", you are in the
presence of one of those people.

(The other thing I've found about these people is that they are usually the
opposite of rockstars. They tend to be quiet to the point of zen. Otherwise
there are no worthwhile demographic indicators.)

------
ianstallings
I've worked with a ton of programmers over my career and I know some that are
truly better than the rest. But I only know one guy that is the 10x guy. He is
filled with energy and cranks out good solid code every single day. This is
after he bikes 20+ miles to work. And then 20+ home. He is a machine and I've
never seen anyone like him since. That's one guy out of hundreds I've met. I
tend to think everyone wants to be the 10x guy, but more likely they're just
"good" programmers who want to be better. And that's not a terrible thing. Not
every pilot needs to be Chuck Yeager, some just have to fly freight around in
a way that doesn't get them or someone else killed.

------
islon
I don't think the author is saying that there's no difference between
productivity between engineers, it's exactly the opposite, there are so many
differences and nuances that it's almost impossible to measure all of them.
Your mood, chair, coworkers, boss, temperature, programming language, editor,
task, etc. all have some influence over your productivity. You can't say "all
things equal" because things are not equal in the real world. That's not to
say that performance measure is hopeless but that it's as complicated as
weather forecast: you have a huge ammount of variables.

------
sesm
Steps to become 10x engineer:

1\. Be one of the first in the project.

2\. Make project messy (for example, by practicing narcissistic design [1]).

3\. Don't do any kind of mentoring for newcomers, don't write any docs.

4\. Be an asshole to kill newcomers' confidence.

5\. When all other founding engineers leave, you will be 10x even by fair
metrics.

[1]
[https://github.com/stuarthalloway/presentations/wiki/Narciss...](https://github.com/stuarthalloway/presentations/wiki/Narcissistic-
Design)

------
jrs99
John Carmack was 10x.

~~~
craigyk
at building video game engines. Do you think he'd be 10X at building CRUD
application after CRUD application?

~~~
a3voices
Being 10X for a short duration is much easier than maintaining 10X over years.
And also, are these people successful in terms of personal fitness and health?
Is their home clean? Do they have good relationships with their family and
friends? Do they spend time socializing, or do they spend all their time
working? If being 10X is true, why haven't they figured out how to get rich
yet?

~~~
jrs99
If you're 10x, I don't think you're thinking about making money.

~~~
a3voices
I agree. The conscious focus of most 10X people is probably on specific
programming problems, rather than higher up things such as making money.

------
anandabits
It seems like Medium has become a magnet for articles that reference some
science and then go on to draw conclusions that simply do not follow from that
science, yet present the conclusions as if they do. The hollow icon article is
another good example: [https://medium.com/design-
ux/a93647e5a44b](https://medium.com/design-ux/a93647e5a44b).

------
henrik_w
Steve McConnell makes some good points regarding 10x SW engineers in "10x
Productivity Myths: Where’s the 10x Difference in Compensation?"
[http://www.construx.com/10x_Software_Development/10x_Product...](http://www.construx.com/10x_Software_Development/10x_Productivity_Myths__Where%E2%80%99s_the_10x_Difference_in_Compensation_/)

------
natmaster
I think the main problem with this concept is that everyone fits into two
categories.

As with any probability distribution of natural phenomena, there is a bell
curve. There aren't a handle of 10x programmers and and bunch of 1x ones.

Even if the variance is much lower than people think, there would still be
room for some number of 10x the productivity of some other person.

------
dpweb
The thinking that gave rise to this article is a mess. It's not a hypothesis,
but a FACT that someone can be 10x productive than other person.

You were likely once 10x less productive than you are now when you first
touched a new language.

Citing a number of reasons why someone may want to create this myth, does not
make it a myth. Pretty ridiculous.

------
danwiding
What are the units we are talking about here? Is productivity measured in
hours and if so hours of what?

~~~
tharris0101
I believe that was one of the points of the article. "10x Engineer" is being
thrown around as another euphemism for "Rockstar" or "Ninja" without any true
meaning.

------
danmaz74
For a given task, at a given time, there are for sure engineers that are 10x,
or even 100x, compared to some other engineers. But that doesn't make them
absolute "10x engineers", it's always relative to the task and the other
engineers.

------
duncanwilcox
Do you believe chess Grand Masters exist? They're blind to invalid moves, they
don't even see strategically penalizing moves.

"10x engineer" sounds like a requirement a recruiter would put in a boring
corporate job summary. Meh.

------
wishpishh
It's strange that she criticizes the research basis for the 10x claim, and yet
she's basing her claims about burnout and even alcoholism and drugs on a
couple of tweets she received? What happened to source criticism?

------
mahyarm
You need a 10x environment to be a 10x engineer. Any 10x engineer can be held
back by months or years of legacy and bad code cleanup to start getting to his
10x productivity level.

------
cocoadog
Of all the engineers you've worked with, if you can think of eleven such that
you'd rather hire one rather than the other ten, then that person is a 10x
engineer.

------
Tichy
Does this even need scientific validation? There seem to be people who can't
code at all, so if you can code, compared to them you are an infinity times
engineer.

------
tutacano
A 10x engineer is not an engineer who works 10x as hard or fast, but someone
who knows what to focus on and as result comes up with more elegant solutions.

~~~
pekk
Then why the magic number 10?

------
iblaine
I work with a '10x engineer'. He works from 8 AM to 11 PM, like clockwork,
every weekday. He is great to work with but I do not envy him.

------
lucidquiet
"Talent hits a target no one else can hit; Genius hits a target no one else
can see." \-- Arthur Schopenhauer

Enough said.

------
saltyknuckles
Off topic, I think its nice to see a pretty girl in the industry. Just saying.

~~~
joecorcoran
The writer's appearance has nothing to do with this conversation. Also, given
the amount of writing this particular writer has done on the topic of sexism
in the industry, I'm going to assume this is some straight up attempt at
trolling/derailing. Next time you feel the urge to "just say" something like
this, maybe don't bother.

------
gtirloni
Too many words. Very few points.

------
otikik
Ah, but 0.1x engineers do exist.

------
michaelkariv
My biggest problem with 10x is that it commonly misunderstood. The mythical
man month (MMM) book explained, an average developer is 3x the worst. the best
is 3x an average. So the dynamic range is 9x, but it isn't a math so who
cares. And if you are an normal developer with a friend who 3x faster, it is a
career guy in a company you would not touch with a long stick, that makes you
average and your friend 10xer. This misunderstanding makes people say 10xers
are rare. They are not. People who are 10x better than you are rare.

I am not that person. I am an average guy. I meet devs 3x my inferior, and 3x
my superior. So I do think 10x range that MMM talks about is possible.

My second problem with the article is unit of measurement question. It is very
clear what it is. A time to completion of a well defined task by an individual
developer, with predetermined level of quality of the result. The problem is
in the measurement. To measure you have to waste resources giving same task to
many. And quality measurements are imprecise. MMM book was all about the time
to completion. Obviously nobody counts lines of code. Why even bringing it up?

While I think 9x range is possible, I have never seen it in real life medium
size teams. (I am a short term projects freelancer, so I see two companies a
year over last 18 years) The reason being, my theory goes, a contextual one.
Start-ups ship buggy code fast. A fab automation company might test a released
code for a year before shipping. I believe it isn't the issue of A players
hiring A players and B players hiring C players. It's just the goals differ. I
was faster than most at a certain client of mine, but my code was less
reliable. That was fine for a specific task I was hired for, but not for most
what they do.

My third problem is that the article tries to fight the notion of importance
of hiring 10xers. In many cases individual performance meters less.
Imperfectly studied as it might be, 10x performance measurability beats other
metrics of what makes a good developer, and a good employee. How do you
measure ability to communicate, motivational power, leadership, and plain good
taste? So for established companies 10x hiring is not as critical. And yet, I
can clearly see why start-ups are focused on 10xers (ninjas etc). In start-ups
individual devs have more autonomy, by design. Winner-takes-most aspect
requires short time to market. Delivery times matter much more then quality.
That being the case, hiring an obnoxious jerk who codes like hell makes clear
if perhaps a temporary benefit.

So if you agree that for a startup time to market is a key, and individual
developer relative importance is high, a logical conclusion is makes sense to
search for (and overpay) the best. Just like it makes sense to fire 10xers
once startup gets traction and replace with normally paid, normally performing
guys that function great as a team.

------
a3voices
What's the point of being a 10X engineer somewhere, if you don't own the IP?
It sounds like a way to make someone else rich off your hard work.

~~~
hackula1
Consultants often make more than IP owners. Owning the IP and leveraging it is
only one viable business model.

