
10x engineers take long naps - geekuillaume
https://medium.com/@rudyrigot/10x-engineers-take-long-naps-ed2ca00a953
======
dukoid
Two extreme cases that happened to me:

\- "I have to get this done today, no matter how long it will take" ->
procrastinate the whole day, waste the night to do the stuff in low quality,
using "it's late now" as an excuse.

\- "I have to leave early today" -> productive focuessed work to get some
stuff done before the time runs out

~~~
Roybot
Case 1 happens to me when I don't completely understand the problem so I don't
know where to start. This leads me to procrastinate. I lack a sense of
direction in those cases.

~~~
RugnirViking
I'll agree, but also add that taking the time to understand the problem is
half of the work. If someone just said 'type this in' and gave you the code
already formed, it would take a fraction of the time

------
dfsegoat
Sorry, I read over the piece and have zero idea what 'naps' have to do with
this - it's only mentioned in the title and once in the conclusion. Really
hard to figure out what the take home of this article is - I was hoping it
tied sleep cycles into performance or something like that.

~~~
pawadu
Read again, its in the first section:

 _"... feel like I’ve never been as productive an engineer as today; and yet,
I notice that I’ve never worked less hours in a given week"_

~~~
eberkund
> Getting back to the title: do all 10x developers really take long naps? No,
> no, they don’t all do that.

------
baydobah
"I can tell you of a few engineers currently working on technical problems
that offer zero promise to add any business value to their companies, just for
the sake of the technical problem being interesting and challenging, the
engineer being too inexperienced or not value-driven enough to realize why
it’s misguided, and their leadership being too little technical to understand
that this work should probably be reprioritized."

I think the author works on my team.

Since starting my current gig I've built several functioning prototypes at
work that have business value. After about 1.5 years I was given lead on a
project that just shipped to production, which serves a business need. I don't
really consider myself a 10x programmer, but I create useful stuff.

The lead developer on our team has been spinning wheels on a project whose
result is supposed to be useful. The problem is he doesn't have the proper
technical knowledge, and our manager is even less technically inclined than
him. He simply smiles and nods whenever the lead spews jargon at him. This
project has been going on several _years_ without tangible results. It blows
my mind.

My issue isn't that his project is useless, it's that our manager strongly
urges me to follow his advice. I can't follow the advice of any engineer, lead
or otherwise, whom I've never seen ship a system. Period. So I just do what
any good engineer does - whatever I think is best for the company.

Edit: The sad part is I'm only working 20 hours a week on average. When I work
from home I do take naps right after lunch; usually for about 2 hours. I could
actually take on a second job and still be sane. It's quite dumbfounding to
see what passes for "productivity" in corporate America.

~~~
rudyrigot
Author here. Fortunately, none of the engineers I was referring to are on my
team. ;) Still though, I believe you're looking at this right, and by worrying
about that, I believe it shows that you are part of the solution rather than
the problem. I was working for an employer that was grossly under-using me in
the past, and just like you, it felt so useless I had the feeling I could work
another similar job simultaneously (I got involved with a lot of non-work-
related stuff at the time). I couldn't leave because of visa ties; but as soon
as I could, I did, and the growth of my career could finally resume. I
consider that year to have been a temporary pause on my career progress, I'm
glad it could be that temporary. I know there are many good reasons to stay in
a non-perfect job; but are you considering that your knack for doing the most
useful thing for your employer could be better valued by another one?

------
jpzisme
This might be off, but have previously interpreted the term 10x engineer as
someone who is a 10x multiplier to the team and brings the collective level of
the group up by ~10x. To me, that especially doesn't correlate with cranking
out 10x more code or working 10x more hours.

~~~
apropos
You aren't off at all. The article is making the same argument that the myth
of the 10x engineer is not someone who can crank out 10x more lines of code,
but someone who can bring 10x (or InfinityX) business value to the company
because of what they spend their time working on.

~~~
rudyrigot
Author here. +1. I didn't mention the multiplying effect of also empowering
people, but we agree that the take that defines a "10x engineer" as someone
who cranks 10 times more code is irrelevant, even though I have seen it used
as such, a lot (mostly as a joke, I must say).

------
slackingoff2017
People spend far too much time ruminating about what makes an especially
productive programmer. Essentially it comes down to making good choices most
of the time, so basically IQ.

Bad developers are bad because they do stupid things. Hallmarks are wheel
reinvention, misuse or abuse of patterns, excessive abstraction or complexity,
ignorance of security ramifications. You could go on forever but really it
just boils down to someone making bad decisions from inadequate knowledge and
lack of foresight.

Code written by good developers can be understood and read easily and often
appears simple. The extreme complexity that many companies are proud of is
just a sign that their developers lack the foresight to build an elegant
system.

~~~
FLUX-YOU
>You could go on forever but really it just boils down to someone making bad
decisions from inadequate knowledge and lack of foresight.

To what level should a developer be at before joining the workforce?

How do we bring all potential developers up to this level so that we can have
a smarter workforce?

Can you create an education system that reliably produces developers at that
level?

That's what interviews attempt to do, but since those vary so widely between
companies (with some being done terribly), you can't get a coherent picture of
_what to actually learn_ that will serve you among the greatest number of
companies.

This means that, if you can't answer all three questions above, the workforce
at large MUST support bad developers writing bad production code at some point
in their careers because that is simply how they learn what is and isn't
important to know.

If we can't create this system, then we're all complaining about nothing
because there's no way to avoid writing bad production code at some point in
your careers.

(I specifically mention production code because conceivably, you could just
have them learn and write code in a dev environment, then have that code
reviewed, but never let them have much of a business impact. Most of us don't
care much if someone is writing bad code in a dev environment because that's
meant to break occasionally)

~~~
twobyfour
>>You could go on forever but really it just boils down to someone making bad
decisions from inadequate knowledge and lack of foresight.

> To what level should a developer be at before joining the workforce?

> How do we bring all potential developers up to this level so that we can
> have a smarter workforce?

> Can you create an education system that reliably produces developers at that
> level?

The solution is really to give junior developers a level of responsibility
(and feedback) that matches their level of experience. Juniors shouldn't be
making architectural level decisions or even major design decisions, nor
should they be deciding _what_ to build.

They should be receiving feedback on the small-scale design decisions they do
make, and exposed to the senior devs' decision-making processes so they can
develop that level of knowledge. And their responsibilities and exposure to
business goals and impact metrics should be gradually increased as they gain
the experience to be able to make larger and higher-level decisions.

~~~
Mandatum
> exposed to the senior devs' decision-making processes so they can develop
> that level of knowledge

This is really important I think. Asking newbies a lot of questions to try and
coach a good solution out of them, on their own, is a really great way to get
them to "learn to think".

Also I recommend checking out the Blooms Taxonomy.

------
buzzybee
I'm seeing it as a feedback loop problem, again. Managers and stakeholders
have an easy time remarking on surfaced progress. The developer has to think
and communicate everything else. Going purely hands-off doesn't work, because
then the developer will tend to wander towards working on the wrong problems
and get mired in them. Neither does chaining them down to a deadline, since
that creates rushed, ill-considered work.

So the people who are perceptually 10x tend to have hit on a strategy that
keeps them in the feedback zone without being overly concerned about surfacing
everything right this second, and have management that cooperate with their
strategy.

~~~
rudyrigot
Author here. I agree that being able to produce advanced value is also a
factor of the work environment; and not only the engineer's ability to be in
touch with it, but also the environment's ability to keep the engineer in
touch when they should be. I didn't think of it, but I think it's a great
point.

------
liveoneggs
maybe better:
[https://www.youtube.com/watch?v=f84n5oFoZBc](https://www.youtube.com/watch?v=f84n5oFoZBc)
(Rich Hickey Hammock Driven Development)

------
j45
10x doesn't have to mean producing 10x more code - just 10x more effective
than the average developer.

In my experience, clever (usually simple) architecture in solving a problem
will always beat clever code, and volumes of code.

~~~
sp332
It's 10x more productive than the least productive, which means about 3x more
productive than average.
[http://www.ybrikman.com/writing/2013/09/29/the-10x-developer...](http://www.ybrikman.com/writing/2013/09/29/the-10x-developer-
is-not-myth/)

~~~
jblow
I don't understand why HN readers are so eager to debunk the idea of 10x
developer when it's obvious they exist.

For example, in this post you seem to be setting the upper bound around 3x.
But actually, it is trivial to be 3x more productive than average: (a) Don't
browse the internet while at work; (b) Sit there and spend your time working
on the actual problem, not ratholing on programmer fixations that have nothing
to do with the end result. Done. Congratulations, you are now 3x, before any
consideration is made of experience level or talent or smartness or unique
instinct or whatever else.

~~~
mattmanser
You make it sound so trivial to do, but in fact if you did that you'd burn
out. All that ratholing and reading is in fact _resting_.

You can only concentrate so many hours a day. Without that resting your
productivity drops.

The most productive/best programmer I knew used to piss around flying virtual
helicopters for half the afternoon, would throw together prototypes no-one
asked him to because he was bored, and went home at 5:30 every day.

~~~
jblow
I disagree. That ratholing and reading is not resting at all, it is
procrastination. If you want to rest, go to lunch or take a coffee break, or
meditate or something.

> You can only concentrate so many hours a day. Without that resting your
> productivity drops.

This is the kind of thing people tell themselves to justify procrastination.
If you are unable to concentrate for long, maybe you have damaged your
attention span by too much internet browsing, and the cure is just to stop?

~~~
nostrademons
You say this, and yet here you are, posting repeatedly on HN. :-P

