
I was a 10x engineer and I’m sorry - zdw
https://networkingnerd.net/2019/07/18/i-was-a-10x-engineer-and-im-sorry/
======
akavi
I'm not sure I understand why people are so eager to conflate the term "10x
engineer" with "an arrogant engineer who is only seemingly productive because
of either obfuscation or generation of technical debt".

It seems blindingly obvious that there are people out there who are just...
dramatically more effective programmers, in a holistic net-value-to-
organization/world sense. Fabrice Bellard and John Carmack, to name two that
jump to mind.

And while I've definitely never worked with programmers of _their_ caliber, I
have worked with people who truly were an order of magnitude more productive
than me, either in sheer quantity of quality output or by dint of their
efficacy at creating tooling/abstractions/apis that made other programmers
more effective.

~~~
freehunter
There is also a very thin difference between “technical debt” and “genius
programmer”. If I invented half the programming concepts Carmack did and wrote
it at the company I work for, it would be considered technical debt
immediately. No one else would be able to understand it and no one would be
able to fix it when it broke. But for various reasons (mostly since Carmack is
actually a programming genius), people stopped what they were doing to learn
from him and adopt some of his techniques. Fast inverse square root is genius
but it would just be way-too-clever technical debt if Carmack hadn’t written
it and others didn’t learn from him.

No one would take the time to learn from my way-too-clever code. They’d throw
it away for more obvious code in a heartbeat. Because I’m not famous, I don’t
work with other geniuses, and of course I’m not a genius so my way-too-clever
code would just be annoying and uncharacteristic.

~~~
whatshisface
Fast inverse square root delivered business value that couldn't be obtained
any other way, which means that it wasn't technical debt. It was a technical
price. What's bad is when programmers make the system complicated purely to
entertain themselves.

~~~
nazka
Agree, I will also add that technical debt != complexity.

As an example everybody uses an OS to code. An OS is incredibly complex. Maybe
one of the most complex piece of software. But it doesn't mean that you should
care about it. With the proper and clean interface it will have an abstraction
of this complexity to its user (in your company or not) and they will be able
to continue to code and never have to care about it.

So of course an OS - or like OP said anything creating value - doesn't mean
that it creates technical debt only because it's complex.

~~~
magduf
Exactly: you may not be able to fully understand the OS you're working with,
but you can abstract it away and use it anyway. This isn't "technical debt",
it's something you need to actually get your job done: without the OS, you
simply would not be able to actually create the thing you're making.

Similarly, whatever you're building likely uses a microprocessor somewhere.
You probably don't really understand how that works, and would not be able to
build one from scratch. But without that CPU, you wouldn't be doing your job
at all.

The phrase "standing on the shoulders of giants" comes to mind here.

------
heymijo
> Because I had special skills it meant that I was being relied upon more to
> do work that no one else could do.

This is a textbook example of a bad system with a single failure
point/bottleneck. One way to be considered "10x" is to be the only person with
the know-how to keep a critical function afloat.

We really don't learn from history. Eli Goldratt wrote about this in his book
The Goal--publication date 1984. Context was manufacturing but it's easy to
see the principles at work and consider them in other contexts.

Gene Kim, George Spafford, and Kevin Behr wrote about this in a DevOps context
in The Phoenix Project--publication date 2013.

These are just two examples of individuals who wrote books with mass market
appeal that read like novels to illustrate their points. Many, many other
people have thought and written about how to avoid building bad systems. And
yet still, in 2019, as this 10x discussion flares up again, it's a myopic view
of the individual without a scent or sight of talking about bottlenecks or
systems.

Sometimes I'm in awe of Startupland and Tech World's accomplishments. Other
times I'm in awe of what it doesn't even know it doesn't know.

[https://en.wikipedia.org/wiki/The_Goal_(novel)](https://en.wikipedia.org/wiki/The_Goal_\(novel\))

[https://www.goodreads.com/book/show/17255186-the-phoenix-
pro...](https://www.goodreads.com/book/show/17255186-the-phoenix-project)

~~~
ianbicking
> This is a textbook example of a bad system with a single failure
> point/bottleneck. One way to be considered "10x" is to be the only person
> with the know-how to keep a critical function afloat.

I think often (and in this article) an organization has zero people with the
know-how, and then someone struggles and figures things out, and now they have
one person. That one person might be someone who has figured out how to deal
with a difficult stack, or might be the person who has built that stack
themselves – either way, they've done something valuable because they are
handling something that is critical.

The next step – spreading that knowledge, or making the knowledge more
accessible, or making the system more usable – is important, but it's not
wrong that the organization has ended up this position. It's part of a
maturing process. And we shouldn't shit on the person who brought the
organization from zero to one, just because they aren't the person fully
equipped to bring the organization from one to many.

~~~
heymijo
> And we shouldn't shit on the person who brought the organization from zero
> to one

Very good point.

There's an underlying principle here that I didn't say. Management is
responsible for the system.

Dead simple when written out, yet infrequently shown through managerial
actions.

------
samschooler
For people who haven’t seen the twitter thread, context is needed here.

The thread was written by a VC on what he thought a “10x Engineer” to him was,
and he grossly summarized pretty much the opposite of that.
[https://twitter.com/skirani/status/1149302828420067328?s=21](https://twitter.com/skirani/status/1149302828420067328?s=21)

~~~
manishsharan
Wtf . how did this guy beocme a VC ? His entire twitter feed is so mundane --
except for the 10X post -- that shit was hilarious. Even funnier were
desperate founders who liked his post.

~~~
asdff
The only requirement to be a VC is to end up in control of a huge bag of money
and a checkbook.

~~~
su30mki117
I have no idea what it takes to be a VC, but having looked at the tweet
author's linkedin profile, he has a Master's in CS from one of the top schools
in India and a PhD in CS from a US university, also has a solid work
experience. People _usually_ do not magically reach positions of power in an
industry.

------
ThrowawayR2
No, that is not being a 10x engineer; maybe he managed the 10x part relative
to his colleagues but nothing about his tale (keeping info to himself, letting
himself become a single point of failure, etc.) says he behaved like an
engineering professional. If I had to label it, it would be "rockstar", with
all the positives but also negatives it implies.

------
jrockway
I agree with the other comments that say that this is not really what people
mean by "10x". 10x means you make the problem ten times simpler. 10x means you
build tools to make the rest of your team more productive. 10x means you sit
down with users and make sure that every bit of work you're doing on the
project matters to them.

It doesn't mean doing 400 hours of work a week, which isn't actually even
possible. It just means using your time so much more effectively than others
that it just seems like you're doing the job of 10 people.

~~~
PunchTornado
exactly, none of what he does describes 10x. he's just a guy who learned some
specific skills.

------
icheishvili
It's widely accepted that olympic swimmers are more talented a person you'd
randomly find at your community pool, but for some reason there's strong
resistance to the idea that across a large distribution of software engineers,
some outliers may indeed be much more productive than the mean.

~~~
ceejayoz
Is Michael Phelps _ten times_ faster than your average competitive swimmer,
though?

~~~
Wald76
No but he wins 10 times more often.

~~~
ceejayoz
A software development team probably shouldn't be a "one person wins, everyone
else loses" scenario, though.

~~~
chrisan
well to simplify it: if 2 competing companies with 1 programmer each were
trying to create $popular_app_or_website then the company with the more
productive developer would "win" more often

~~~
onefuncman
no, businesses win or lose based on sales & marketing, not how productive
their engineers are.

------
dkarl
This person did not shut out his colleagues and work in a bubble because of
personal shortcomings. This person was forced to work alone because his
company needed very specialized skills and relied on a single person for them.
No budget for hiring another person, no time allocated for training someone
else. What, is he supposed to make an executive decision to stop doing his
work and pull another engineer off _their_ work so he can train them? He was
an IT tech, a leaf in the org chart, and management had made the calculation
that they saved $X/month by relying solely on him, at the expense of some
short-term disruption when he inevitably left, and $X was big enough to win
out. The big ego he blames himself for was part of the solution they
engineered. The more important he felt, the harder he worked, the more money
he saved them.

Also, I think it's in poor taste to make this kind of "confession" or
"apology" because sincere apologies can have weight and meaning, and this
cheapens them. By arrogating the responsibility and the apology to themselves,
this person is protecting the people who created the situation. By blaming his
own personal deficiencies, he is obscuring the fact that the business chose
(probably intentionally) to benefit financially by relying on a single
overworked engineer instead of a team.

Yeah, yeah, I know we're all supposed to claim ownership and responsibility
for everything at all times, but sometimes it's appropriate to blame somebody
else.

------
beat
Makes me think of something I wrote a while back...

[https://hackernoon.com/10x-rockstar-ninja-wizard-
vampires-f5...](https://hackernoon.com/10x-rockstar-ninja-wizard-
vampires-f551c1f1411e)

"Ninjas are nameless, faceless mercenaries. The ninja’s job is to create
mayhem for the highest bidder. The ninja shows up in the dark of night, uses
mysterious powers and ruthless violence to create disaster, then disappears in
a puff of smoke.

Ninjas are nameless, faceless, heartless, merciless enemies.

Are you sure you want to hire them to work on your code?"

"what makes a wizard a wizard is that they use magic. And unless you’re born
with it (Harry Potter), or study ancient and mysterious tomes, you will not be
a wizard. Only wizards can understand what other wizards do. Unless your whole
team is wizards, you might want to reconsider the idea of using magic rather
than proven tech in your code."

------
sleepysysadmin
I was certainly 10x engineer. Probably closer to 20x at my last job.

My ex-employer was an abusive(msp) employer who couldn't hold onto senior
staff. The organization became so tremendously bottom heavy with people just
out of school; I would literally have people lined up in my office waiting to
talk to me to get help.

I was practically the only person who wrote documentation. I was literally the
only person who wrote how-tos. MYself and only 1 other person was the only
people to even push positivity. The place was so toxic that everyone was
looking for reasons to complain. I'd have people come into my office to hide
from dispatch/work.

Long story short, I reported harassment and got fired the next day. Over the
next 6 months that place shed over 20 people out of 30 staff.

The workload I took on doing 60 hour weeks and 24x7 on-call had to be given to
others. Everyone else said that was enough and found new jobs.

~~~
trm42
I can kind of relate to you. Not sure about the 10x but on the previous job I
ended up working as team lead, pm, janitor, process developer, architecture
guy, partially managing the infra, teaching the stuff to others etc. We had
quite good team spirit and the people were generally awesome but there were
management issues which broke our focus into pieces and we didn't get any real
progress on the important stuff. In the end I didn't even realise how burnt-
out I was (just trying to help and fix all the things for other devs so
somebody could get something meaningful done) until some headhunter tried to
recruit me and I started going through pros and cons. Switching to a job with
a real focus has helped a lot and I learned a lot from that experience but
happy to be somewhere else.

That company kind of imploded as there was about ten working when I left and
now there's three guys left trying to get the work done. Luckily their focus
has finally changed and tightened and there may be some good stuff brewing up
so I'm cheering for them. Still missing working with those guys, though.

~~~
sleepysysadmin
Basically the same idea, I was the team lead, DBA, PM, network admin,
sysadmin, linux admin, hardware, customer relations, all emergency work.

I had to babysit coworkers who were impossible to work with and had been
banned from multiple customers because they had temper tantrums toward the
client.

I got so tremendously burnt out and when I started realizing it and analyzed
what's going on, I had a guy harassing me, I wrote up an email detailing the
shit the guy was doing to me and the day after i report the harassment I got
fired.

------
sfblah
I don’t think the author understands what a 10x engineer is. It’s not down to
tons of research and work. It’s a matter of having a knack for it.

~~~
jdlshore
The author was responding to a specific (and ridiculous) definition of 10x
engineer provided by a VC on Twitter. He makes this clear in the first
paragraph of the article.

Take more time to understand the context before assuming a lack of
understanding.

~~~
PunchTornado
> As I reminisced I realized that I was, in fact, a 10x Engineer.

He doesn't understand what a 10x is. Not even from the tweets.

------
coldcode
I am more concerned about the 1/10x engineer. There are a lot more of these,
1/10 as effective as any average engineer.

------
marsdepinski
10x engineer = quiet working environment absent of distractions 2.6x * 2x the
number of productive hours by removing and shortening meetings * 2x
engineering ability and company culture with no obstacles to productivity

------
l0b0
I don't believe for a second that _actual_ 10x developers behave this way,
because there's nothing 10x about this behaviour. A real 10x developer would
be someone who enables their fellow team members to be 2x developers. Or who
creates a solution which is twice as X, twice as Y and 2.5x more Z — for any
useful metrics X, Y and Z — than an acceptable solution. Basically their
_impact_ is 10x, not in terms of code or features, but in terms of value
created in aggregate.

------
throwing838383
One lesson we can all learn from this: You don't hire a x10 engineer, you
nuture it. Year by year, as an engineer develops more and more of the skills
required, their productivity increases. A lot of engineers doing hiring, think
they can just get one of these engineers off the shelf by paying some
recruiter 50 grand to make one materialize. It doesn't work that way. x10
engineers are born of years of company specific specialized labor.

------
mikece
Acquiring knowledge that nobody else has in more than one critical system
isn't necessarily a 10x engineer, more like an engineer who is critical to the
business in (up to) 10 different systems or intersections of system.
Management should try to minimize situations where only one person knows how
to operate critical systems (see the character Brent in "The Phoenix Project")
but that's not what I understand 10x to be. To me (as a developer), a 10x is
someone who eats, breathes, and sleeps nothing but the job and can literally
crank out 10x the lines of code. Whether other can maintain or understand that
code is one problem with having a single person outperform their peers by so
much; it also means that if management doesn't recognize this as an aberration
then when that person hits the lottery/gets a better offer/gets bored and
quits/is hit by a bus you're in a position of trying to explain to senior
management why you're going to need to hire five people to replace the one 10x
person.

This isn't to crap on the raw ability and talent of a 10x -- I'm massively
envious of that ability! -- only to point out that with disproportionate
output comes consequences.

------
peter_d_sherman
Excerpt:

"I wasn’t just the most important cog in the machine – I was the machine.
Nothing went forward unless I was doing it. And that’s not scalable at all."

10x'er vs. Scalability of 10x'er (when/where/how 10x scales, when/where/how
10x does NOT scale, etc.)...

An interesting subject for future business thought leaders, is it not?

------
mrkstu
It's a fine line.

I've moved up to Network Architect and I'm working hard to replicate my
knowledge out to small network team so I don't have to work tickets anymore.

One of the reasons for the promotion is the understanding I have across
categories- firewall, voice, VPN, APIs, Proxy, MPLS, layer 2, and so forth.
Unfortunately, that really does make me more effective troubleshooting than
the specialists on the team, even fairly experienced ones. But it also makes
me most valuable at an architectural level. So I'm working hard to make sure
that everything is documented and their is 2 deep understanding of the things
I worked on so that I can be free to build up the future.

The irreplaceable man/woman can't ever get a real promotion because they'll be
stuck at whatever they are doing today. Being valuable and a 'bargain' at
almost any price is much better.

------
spyspy
Letting one engineer obtain so much domain knowledge that they become a single
point of failure in an organization strikes me as strictly a management
failure. His manager ignored the bus factor and then when he/she realized it
was an issue they just... did nothing? Because it'd be hard?

------
vincent-toups
I say this every time the mythical 10x engineer thing shows up.

I've _never_ heard of a 10x salary difference for engineers. If you are a 10x
engineer, that strongly suggests you're giving away free productivity to your
boss.

If you own your own company, great! Even better would be to give 2x of your
productivity to your boss, which is probably more than you're being
compensated for, and use the 8x leftover for your own enrichment.

But there is almost literally no way that you are being fairly compensated if
you really are 10 times as productive as your average engineer.

~~~
cloverich
> I've _never_ heard of a 10x salary difference for engineers.

A Netflix engineer was on HN the other day claiming they make 800k and work
from home.

> But there is almost literally no way that you are being fairly compensated
> if you really are 10 times as productive as your average engineer.

(Assuming they exist, of course) I'd wager if a 10x engineer was involved in a
mundane business, they would be 10x without giving 100% of their time. Or
rather, they'd give 100% of their time sometimes, and 20% of their time more
often.

------
bartwe
What is the term for being a bit too eager junior making some systems that
become business critical and then getting some second hand shame for making
something the existing team can't support.

------
grepgeek
This does not look like the description of "10x engineer" at all. An "immature
engineer"? Yes. But "10x engineer? No.

A true "10x engineer" would also care a great deal about documenting stuff,
communicating that to the team, and be wise to ensure that a good technology
system should not have a single point of failure (either technical or human).
The fact this so-called 10x engineer made himself a single point of failure
goes against the basic principles of engineering.

------
LaserToy
So, once I had a inspiration talk to a soon to be new grads. When I was
preparing a presentation, I realized, that 10x engineer is not necessarily the
one who does 10x more work, but the one who can empower /inspire others to do
much more work.

So, I put a funny slide - if any of you get inspired by my talk and do
something great, then you are looking right now on this unicorn 10x or maybe
100x eng.

The bottom line, helping others will make you 10x, not putting yourself as a
bottleneck everywhere.

------
writepub
Are we, as HN-ers, really going to accept self-certification of the 10X
moniker? What exactly makes this person a 10X engineer, leave alone a good
engineer.

He claims to have not been liked while a 10X-er, but pivots successfully into
founding an inter-personal-relationship heavy company, whose U.S.P. is
decidedly not engineering, and we're all to believe his self certification of
the 10X moniker, if such a thing even exists.

------
didip
I don't know about the actual "10x" label or how to even measure that
objectively. And I am not even gonna go discussing the weekend tweet storm.

But, programmers can tremendously improve their own efficiency/output by
building their own collection of libraries and toolkits.

Pretty much by now, we all have seen more or less the same things. So if we
have a vast archive of tools, our productivity can be crazy high.

------
aws_ls
When I started reading this, I thought, it may be a boast in disguise. But
this article is very well written and seems utmost sincere.

I almost feel like sending this to a "10x Engineer" in my team. (Its in
quotes, because I do believe in the 10x concept, minus the negative baggage
which it is associated with, and as the article shows, also can be true.

------
antirez
10x engineering is, for the most part, knowing how to avoid 90% of useless
efforts due to over-engineering solutions. It has nothing to do with being a
dick to work more or alike. I think that what makes all of us 10x sometimes in
our programming career is what we do when we are _not_ writing code, but
thinking at how to design it.

~~~
siwatanejo
overengineering, sure, but also underengineering

------
matchagaucho
Back in 2000 we used the term _10x Engineer_ primarily to mean _Full Stack
Engineer_.

In other words, you needed to hire 10 people with individual skill sets to
match one Generalist who understood the entire stack.

The term appears have morphed and skewed over the years. Regression toward the
mean has shifted the expectations for "average" programmers.

------
nunez
Back then, a "10x engineer" was something like what the OP described here:
technical skill several standard deviations from the mean in a variety of
areas.

Today, a "10x engineer" to me is someone that is very technically competent
but is _also_ competent with people and business needs.

The latter is much harder to find than the former, IMO.

------
triplee
This! Ten times this! Single dependencies like this are absolutely a risk
management issue.

I say this as someone who's both been a single point of failure at times (and
learned my lesson) and someone who's had to clean up after piles of "clever"
code that someone left behind when they got hired out somewhere else.

------
RickJWagner
Linus brought us Linux and Git. To me, he's probably the greatest programmer
of our time.

James Strachan brought us Camel and Groovy. That's pretty good.

Gavin King had Hibernate and Seam. Not too shabby, either.

There are definitely people who are very good. To me, having more than one
runaway hit is a good indicator.

But there are a very few of them.

~~~
vorg
Having a runaway hit isn't just about creating it, but also successfully
maintaining it. Strachan abandoned Apache Groovy only 2 years after creating
it so he doesn't really count. Unfortunately he let in someone without any
programming aptitude into the Codehaus despotry, and was eventually eased out
with stirred up conflicts like the one over builder syntax in Dec 2005. He
even had his commit privileges stripped from him afterwards.

------
bpizzi
This guy can't be a 10x engineer, because the first thing you learn when being
admitted in "Rule #1: you do not talk about 10x engineers" (I can, because I
wasn't invited myself and heard it via someone they dumped).

------
mikestew
_In order to truly become an insufferable 10x Engineering talent..._

Neither the author nor the toot thread that inspired the author seem to have
the first clue what the term means. And it would take, what, six words to
define it?

------
marktangotango
This article does not represent the same concept of 10x that Brooks proposed
in Mythical Man Month. The present article is about an arrogant jerk who was
managed exceptionally badly.

------
jes5199
wow, that site’s ads are so invasive I can barely read the content

~~~
NetworkingNerd
Sorry about that. Free Wordpress installations have a lot of ads. I need to do
something about that...

~~~
wlesieutre
You've got everyone's favorite "This One Vegetable Destroys You From The
Inside" and "No Diet Or Gym - Try This" advertising variety. They make your
site look much lower quality than it probably is.

When I opened it in IE to see it without my adblocker I also got an alert
about trying to download or run a javascript file. Probably incompetence on
the ad network's part (it doesn't look any more malicious than your average ad
network tracker), but prompting people to download random 3rd party js files
isn't a good look either.

[https://i.imgur.com/gIoJY7v.png](https://i.imgur.com/gIoJY7v.png)

------
otaviokz
"A 10x engineer is usually levitating, and farting out 1's and 0's as they
whiteboard a proof that P=NP. They stopped sleeping before they were born.
They are usually typing on two keyboards simultaneously."

------
JJMcJ
10x at one job - developed huge hunks of the infrastructure, not quite at Jeff
Dean level but extremely valuable, nice friendly colleague, well commented
clean code.

------
randyrand
I was a 20x engineer. I apologize as well.

------
Will_Parker
I've never understood the fake shame one is supposed to feel at being
productive, resourceful, and seeking to work with passion while removing speed
limits. I'm reminded of this article about three personalities and different
stages of a startup: [https://blog.codinghorror.com/commandos-infantry-and-
police/](https://blog.codinghorror.com/commandos-infantry-and-police/)

There's no shame in being a Commando, or even a Rick.
([https://www.freecodecamp.org/news/we-fired-our-top-talent-
be...](https://www.freecodecamp.org/news/we-fired-our-top-talent-best-
decision-we-ever-made-4c0a99728fde/)) And a business can certainly continue to
get high value out of these personality types.

If you are one, though, there are many practical things you need to learn.
First, you need to remove temper and emotions from your work personality. I
really recommend regular meditation for this. Also take vacations even when
you don't think you need it (stress is a sneaky beast). You need to let go of
some work you did that you hold dear, and realize that you will need to hand
off to people who will not do things as perfectly or with such attention to
detail, and may need structure and guardrails and speed limits that will
frustrate you to no end. (E.g. Scrum, story points, more rigidity around
testing, mandatory code review around trivial commits, security reviews.) The
commandos need to make way for those who are able to march in step.

My second piece of advice is, as a company grows you need to narrow your scope
to a point where you can still be the most productive version of yourself, but
you aren't carrying such a burden that you burn out. (Also my advice for
managers who find themselves with a Rick kind character.) The main skills you
need to learn for this are communication and diplomacy. If the company wants
to get into a new area, full of unblazed trails, with a very high amount of
risk and technical difficulty, as a commando this is perfect for you.

TLDR if you are a tiger, better to find an area where you thrive vs pretending
to be a mediocre wolf.

~~~
mikece
A 10x shouldn't be ashamed of their talent or try to be something else; the
biggest problem with 10x talent is that they are mismanaged in a way that
doesn't treat them as the benevolent freak that they are. In some cases other
folks are berated for not keeping up with the 10x; in others they drown in
trying to manage the technical debt being created by someone who produces an
order of magnitude more than them. When mismanaged, these effects on the rest
of the team lead to a drop in morale and turnover... which will likely lead to
management coaxing the 10x to deliver even more which only makes the problem
worse.

------
xt00
Being a 10X engineer at a small company I would say is both true and somewhat
different at the same time. In the author's case it sounds like these were
smaller companies? At every small company, there are people that are "super
important", but similarly many people in different non-engineering roles are
also "super important". My thinking at least on the 10X engineer concept was
more like somebody who shows up at a larger company like Google or Apple and
proceeds to make everybody there look like they are standing still while
he/she produces far more / greater quality stuff than the average person
there. In that case, if they left, sure the company would still keeping going,
but you are outside of the 1-2 quantization question around where somebody is
truly substantially more skilled than their peers. Big fish in a small pond
vs. Big fish in a bigg-ish pond on the engineering side. It doesn't mean that
you aren't necessarily a 10X engineer at a small company, but it just means
the frame of reference is super unclear whether you are talking about somebody
who is really hard to replace and super important to the company vs. somebody
who truly is just knocking it out of the park left and right.

