Busting the 10x software engineer myth
I&#x27;ve never seen anyone be 10X better than,
say, average consistently over a long
period of time.<p>But I&#x27;ve been 10X better than apparently
average a few times a few weeks at a time.
Uh, part of the reason for a few weeks at
a time is that as part of the 10X I got
the work done very quickly!<p>My 10X cases were all when the planets
happened to line up just right and, to use
a baseball analogy, the work to be done
was like a slow pitch right in my best
<i>strike zone</i>.<p>(1) I was seeing a girl, and she was an
intern and working for someone who wanted
her to work on some old Fortran code.  She
couldn&#x27;t figure out why the code was
giving totally garbage results.<p>I glanced at her code and saw where she
passed the constant 2 as an argument to a
subroutine.  So, sure, that can be
dangerous.  I glanced at the subroutine
and, yup, it was changing the
corresponding parameter so for the rest of
the execution of the program the constant
2 had the value given it by the subroutine
and was not 2.<p>She worked a day or two on this, and I
solved it in about 180 seconds.<p>Why?  I&#x27;d seen that in Fortran usage
before.<p>(2) I was in a software house working as a
programmer and fast Fourier transform
expert at a US Navy lab.  Some engineers
at the lab needed an extensive software
project done and set up a competitive
bidding situation.  For one of the
engineers, part of the work to be done was
some power spectral estimation of ocean
wave noise, that is, quite low frequency.
Due to some earlier experience at GE, I
knew the basics of the Wiener-Khinchin
theorem and also got the Blackman-Tukey
book on the statistics of power spectral
estimation, typed in some code to generate
synthetic <i>ocean waves</i> and accumulate and
display the power spectra estimates, then
called the engineer and we met and
reviewed my work.<p>The main point I had for him was that for
the very low frequencies he was interested
in, he could need dozens of hours of data
and with much less data than that would be
looking at small sample statistical
fluctuations instead of good estimates of
the actual power spectrum.  Likely I got
these results in 10X.  Our software house
got &quot;sole source&quot; on the work.<p>(3) I was at Georgetown University
consulting in applied math and teaching
computer science courses when a friend from
college called.  He flew up to Georgetown
with several other people, and we met.
Everything was inconclusive -- no one had
any definite, good ideas.  The problem was
scheduling the fleet for FedEx.  That was
important because some Members of the BoD
questioned if the fleet could be scheduled
at all; crucial funding was being held up;
the company was at risk of going out of
business.<p>Finally in the meeting I just blurted out
that I would solve the problem.  Six weeks
later I had the software running which was
also the end of the semester for my
teaching.  I flew to Memphis, ran my
program, pleased the BoD, pleased the
founder F. Smith (&quot;solved the most
important problem facing FedEx&quot;), and
saved the company.  I suspect that in
time, that was a 10X effort.<p>(4) I was working on a Navy project to
support both my wife and myself through
our Ph.D. degrees when the Navy wanted an
evaluation of the survivability of the US
SSBN (ballistic missile submarines) under
a scenario of global nuclear war limited
to sea.  They wanted the results in two
weeks.  That timing just fit -- my wife
had a vacation planned for us at
Shenandoah just after the two weeks.<p>From a WWII paper by Koopman&#x27;s, I saw a
continuous time, discrete state space
Markov process <i>subordinated</i> to a Poisson
progress and wrote and ran the software,
Monte Carlo.  The software was fast enough
that I could generate and average 1000
sample paths quickly.<p>During a peer-review, an objection was
that there was no way I could &quot;fathom the
enormous state space&quot;.  In response I
mentioned that after, say, five days, the
number of SSBNs left was a random
variable; it was bounded and thus had an
expectation; the expectation was finite;
the random variable had a finite variance;
the law of large numbers applied; and
averaging 500 sample paths would give
quite accurate estimates.<p>I explained that intuitively Monte Carlo
put the effort where the action was, and
the reviewer, a well-known probabilist,
responded &quot;That&#x27;s a good way to look at
it.&quot;  My work passed the review.<p>A second person, actually two people, had
been assigned as an independent effort.
At the end of the two weeks, they made no
progress at all.<p>The Navy got their results on time, and my
wife got her vacation on time.<p>(5) When I arrived at Georgetown, a prof
had just completed a statistics package.
One of the routines was polynomial
fitting, but on testing the numerical
accuracy was poor.  The prof had
programmed normal equations, and on that
problem the normal equations are close to
the notoriously ill-conditioned Hilbert
matrix.  I wrote a replacement routine
using some orthogonal polynomial methods
and got accurate results.<p>(6) I was in an AI (artificial
intelligence), expert systems, project at
IBM&#x27;s Watson lab, and we were developing
IBM&#x27;s language YES&#x2F;L1.  We wanted <i>rule
subroutines</i>.  Our code design was to (A)
return one call at a time from the whole
stack of dynamic descendancy, (B) execute
the RETE algorithm run-time code, (C)
rebuild the stack of dynamic descendancy.
I saw serious semantic problems with this
approach and the coding was to take some
weeks.  I got some dinner, wrote and ran
some illustrative code, in effect to call
back into the stack of dynamic
descendancy, at dawn wrote email to our
team, got some sleep, returned at noon,
and our programmer on the work was done
later that day.  I got an IBM award for
the work.<p>There were a few more 10X examples.<p>I always put my pants on one leg at a time
and have never walked on water in warm
weather.  None of these examples involved
high stress.  Instead the keys were
context, e.g., I had everything I needed
and background so that the work was in my
<i>strike zone</i>.<p>I don&#x27;t achieve 10X all the time.  Heck, I
don&#x27;t achieve 1X all the time; e.g., in my
startup recently I&#x27;ve been interrupted and
slowed by some unpredictable exogenous
obstacles.  But now it appears that I&#x27;ve
circumvented the obstacles and am making
good progress again.  Back to it.<p>Net:  I don&#x27;t think anyone can achieve 10X
consistently over long time intervals.
And I don&#x27;t believe that very many people
can just decide &quot;next week I&#x27;ll do 10X
work.&quot; and be able actually to do it.
Instead I suspect that most people can
have 10X periods given the luck of the
right circumstances.