Live data from Hacker News

Busting the 10x software engineer myth

swarmia.com

221–230 of 356 posts

Re: Busting the 10x software engineer myth

#222

I churn this out every so often: A 2nd edition of Peopleware summarises it; the 10x programmer is not a myth, but it's comparing the best to the worst; NOT best to median. It's also not about programming specifically; it's simply a common distribution in many metrics of performance. The rule of thumb Peopleware states is that you can rely on the best outperforming the worst by a factor of 10, and you can rely on the…

As much as I admire Peopleware, I think on this it misses the fact that there are "negative"-X programmers. Adding them to a team means the team gets _less_ work done, either through endless questions, dodging responsibility, demotivating others etc. In this kind of best/worst metric you end up with above-infinite-X programmers, because the worst you could give a working system to and they will break it.

Once you filter out the worst, I've still seen 10x-vs-median programmers. They have some insight which collapses a buggy, never-complete 50kloc library into a 50 line function plus a call to a SAT solver, or have some deep understanding of the underlying system that lets the whole team avoid spinning its wheels on an impossible-to-diagnose bug. These people are worth 10 ticket-closers any day of the week.

Re: Busting the 10x software engineer myth

#223
post #28

Earlier quoted context omitted.

Just to give a concrete example: no amount of software engineers can be hired to produce comparable work of an expert cartoonist except by dumb luck. Throwing 1000 engineers won’t solve the problem. I imagine within the tech world there are tasks that are ill defined and a small subset of engineers can solve, but a typical engineer may not have the background to solve it.

>no amount of software engineers can be hired to produce comparable work of an expert cartoonist except by dumb luck. You actually hit this nail quite on the head with the example. The "10x engineers" get a lot of their "10x"-ness from creativity - most I've met are cartoonists, painters, musicians, writers, cooks - artists in general that love software as a way of expressing themselves and earning good money. The be…

Uh, you left out passionate lego builders (AFOL). I’m adding it for you.

Re: Busting the 10x software engineer myth

#224
Whether or not "10x" exists depend on what "x" is. Some companies have very high hiring standards, so there the "1x" may be high enough that "10x" becomes really unlikely. But some companies hire almost anyone who can walk, and then "x"I even expect that some consulting firms to this on purpose, at least if they sell services to customers that are put off by paying according to the value generated by the best developers, they bundle the best developers with teams of low-paid underachievers, where the lead is 10x as productive as those, and where the total output still matches customer expectations. Instead of paying $1000/h for one person they pay $1500/h for a team of 10 people, even if that one person could have more or less done everything on his own.

Re: Busting the 10x software engineer myth

#225
post #72

Earlier quoted context omitted.

If we're taking about is just output on a larger macro scale, then yes, hiring enough people will replace 10x engineers. But some things i think you won't be able to replace -- You won't be able to replace speed on short-term projects. Lots of people means lots of communication overhead, which really kills fast responsive speed. If you value time to answer, you'd prefer a small team of really smart people instead of…

> hiring enough people will replace 10x engineers The math is not that simple. The output of a Junior engineer is much different from that of a Senior engineer. You can hire any number of Junior engineers you want, and they won't have the vision and seasoned experience of a Senior engineer for producing higher quality code with less technical debt. Even among Senior engineers there are different grades of experience/…

I think its important to understand there are also relatively high floors to getting certain things done well. If the engineer is too junior or simply not good enough, its not that you will get there slower, its that you may not get there at all. Or you get there slowly and with a very buggy or unmaintainable mess. Some engineers can even go backwards in that sense, attempting to optimize the wrong solution and spending months on something that in honesty can't actually be completed.

Re: Busting the 10x software engineer myth

#226

Earlier quoted context omitted.

Can a 10x marathon runner finish 26 miles in less than 1 hour? How about 10 minutes? There _are_ gaps between skill levels, but from personal experience, no one is substantially worse or better. We are after all just flesh and bone...

> Can a 10x marathon runner finish 26 miles in less than 1 hour? That’s the wrong analogy because marathon runners are already the 10x-ers of movement. The average person could cover the distance of a marathon, but it would take them many days of walking and resting. A marathon runner can finish a marathon in around 5 hours. That’s an order of magnitude faster than an average person, so yes, they are 10X-ers. Most pe…

> The average person could cover the distance of a marathon, but it would take them many days of walking and resting.

26 miles at 3 miles an hour is a bit under 9 hours. Throw in another hour for resting and the average person should be able to walk a marathon in 10 hours. Sure they might be sore afterwards but from what I heard marathon runners also need to recover after their run.

Re: Busting the 10x software engineer myth

#227
post #3

I know "10x engineers" exist; some people are fakes and put forward things that look like they have high impact but are actually a bit shoddy. Some people like to be present and suck up. But some people really do just work hard, smart and have deep passion for what they're doing- and importantly: pride, which makes the quality of the content great too. Some of the best engineers I know "visit" bits of code or infrast…

I still haven't met any 10x engineers.

What I have met are 3x engineers who protect their own job security so severely that they make everyone else a third as effective.

3 * (1 / 1/3) = 9

Meanwhile I'm a 3x engineer who makes everyone else twice as effective. Management sees me as a 1.5x engineer, when my actual factor depends on how many coworkers I have.

Re: Busting the 10x software engineer myth

#228
post #6

> Wrote hard-to-understand procedural code to 5000-line files. Did not actively share knowledge with his peers. The author seems to mean prima donna, not a 10x engineer and then goes on to destroy that strawman. Actively sharing knowledge, mentoring etc... and code and architectural simplicity are a given for someone who's 10x productive. Most of the costs are in maintenance not the initial delivery and a 10xer's out…

The author is talking about people who are perceived by management to be 10x developers and why that perception can sometimes be flawed.

Re: Busting the 10x software engineer myth

#229
post #133

Earlier quoted context omitted.

> So you can't say someone is 10x faster or better You can absolutely measure something . I have a colleague going through this right now - he's got... 24 years of experience in software - mostly web - across multiple problem domains/industries. He's now on a web team with someone who's done windows desktop software for 15 years, someone else who graduated from high school 2 years ago and has never worked anywhere be…

That sounds like a senior engineer vs junior engineer experience level. The term 10x engineer is generally used differently. Though I guess the reason for terms like that might just be related to how many inexperienced people get senior level jobs.

> That sounds like a senior engineer vs junior engineer experience level.

I've actually met junior 10x engineers, I could tell pretty quickly that they were better than me. I've also met senior 1/10x engineers!

Working with a junior 10x engineer is humbling.

I remember starting out at my first job, realizing I was working with people way better than me (my first office mate had 2 PhDs, IIRC Chemistry and Physics!), but slowly I climbed up the ladder of competence and became that software engineer who was doing the Really Cool Stuff.

Then, new grad joins, and he is quite obviously a full standard deviation to the right of me.

Like, shit. Sure some architect whose name is in Wikipedia, yeah they are better than me, and I've been honored to work with multiple people of that caliber, and when you work with someone whose career is regularly described as "ground breaking", you don't even try to measure up, ya know? But, when someone fresh out of college starts pumping out better code, faster, than anything I can do, just, takes a bit of mental adjustment.

Intellectually, it shouldn't be surprising, after all if there are smarter people who are older, than there are smarter people who are younger!

The one guy I am thinking of (who might be reading this, you know who you are!) is also humble, and eager to learn from everyone around him. It was a delight working with him almost a decade ago, and his career has been great since then.

Thinking about it, I don't even know where I am on the 1-100x scale. I know people who are obvious 100x developers who are the literal one of only a few dozen people in the world who can do the things that they did. During my career I have been responsible for the success of multiple projects that would've fallen to pieces w/o me, and while I was a blatant bus factor of 1. But even then, in all those projects I worked with a group of amazing developers, we all kind of brought different 10x skills to the table, if that makes sense.

Actually, when I was the Bus Factor of 1, it wasn't for my code. The handful of 10x people on the projects were turning out much better code than I ever could. My 10x contribution? I organized, lead, and figured out what code needed to be written, designed systems, and saw the interconnections between the work the various 10x+ devs were doing. My real contribution was spotting patterns, good and bad, and using that recognition to get ahead of future problems, or to organize efforts to put code in place ahead of time in anticipation of future needs.

Heck the project I'm leading right now, it started because I saw a pattern in existing work flows and I started thinking if there was a way to optimize those workflow through better usage of data structures and automation.

Maybe I'm a 10x pattern recognizer.

Re: Busting the 10x software engineer myth

#230
post #3

I know "10x engineers" exist; some people are fakes and put forward things that look like they have high impact but are actually a bit shoddy. Some people like to be present and suck up. But some people really do just work hard, smart and have deep passion for what they're doing- and importantly: pride, which makes the quality of the content great too. Some of the best engineers I know "visit" bits of code or infrast…

If we're taking about is just output on a larger macro scale, then yes, hiring enough people will replace 10x engineers. But some things i think you won't be able to replace -- You won't be able to replace speed on short-term projects. Lots of people means lots of communication overhead, which really kills fast responsive speed. If you value time to answer, you'd prefer a small team of really smart people instead of…

Speed an accuracy are on different dimensions that are somewhat independent.

Another consideration is how much time we can afford for the solution to be wrong and need to be tweaked. For anything that has to work the first time, you want one (two, really) of your more sober and likely expensive engineers on the case, even if they aren't your fastest.

You may or may be able to replace your 10x engineer for this kind of work, but you're likely to be hamstrung by your interview processes.

Post reply on HN