Hacker News new | past | comments | ask | show | jobs | submit login

This article is pure clickbait written to sell in this stupid Swarmia startup. :) 10x developers exist just like 10x musicians, 10x marathon runners, or 10x chess players exist. It may take a world-class musician a week to write a masterful symphony but it would take me way longer. Perhaps I'd never produce anything great so that musician would be infinitely better at it than me. Great chess players beat amateurs at least 99 times out of 100 so must also be 10x in comparison. Marathon runners run 42 km in like two hours but it would take me days to finish the same distance...

It's true for almost any human activity that there is a huge gap between the worst, the average, and the best. It is preposterous to believe that the same wouldn't hold true for software development.




I totally agree, but I think you can use examples closer to home.

Carmack could build a video games which is 100x across a number of metrics (quality, cost, time to deliver) than I could. Still too far? Pick your field, there'll be experts.

You can get even closer to home. After 20 year, I really feel like I'm at least 10x developer across a number of metrics (e.g., value to my employer, amount of complexity I can manage) than I was when I started.

Also, some developers do more harm than good. An employer would literally be better paying them not to do work.


I always use competitive coding as an example. There are children in Ukraine / India / Russia / wherever who I'm sure will always be able to whoop my ass in these competitive coding things. I try really hard and get nowhere, and when I look at their submissions it's some inscrutable / clever thing that solves the problem orders of magnitude faster than I could ever do.

The only way through this all is to recognize that it's okay to feel stupid, even if it's pretty much all the time. I'd rather feel stupid and challenge myself than sit around bored (e.g. with Monolith Maintenance).


Your case of Carmack is illustrative.

To achieve 100x, consider what he was doing:

- writing a first person shooter (Castle Wolfenstein 3d)

- writing a first person shooter (Doom)

- writing a first person shooter (Quake)

... you get the idea.

Now, there was enormous leaps in maximal utilitilization of hardware, but do you notice a pattern? The requirements are basically fixed.

Most 10x I've achieved in a short fashion or observed was due to some similar parameters:

- the requirements were stable

- the basic problem was done before and practiced, and implementaiton was a variation/improvement of the previous

- solo or very small development team where greenfield imposed little barriers


Commander Keen was the first side scrolling platformer for PC (side scrolling was hardware accelerated on consoles, so PC games didn't have it before this) and released 1991. Wolfenstein 3d was the first fps and released 1992. Both of those were revolutionary and combined is more than enough to put him way above most other game programmers at the time.

And you know, at the time he didn't have any experience! That was his first few years as a professional programmer! So your hypothesis that he was only effective since he worked in a domain he had tons of experience in is wrong! He had less experience than most other programmers but was way more effective in many different areas.


Side scrollers have existed since the Apple II on "PCs". I highly doubt that 1991 was the first side scroller on ibm pc.

Wolfenstein was not the first 3d fps on ibmpc, and certainly not in "PC" land. Skyfox existed on the Apple II, and battlezone likely was ported at some point.

Carmack was fantastic, but again his "requirements" are static and he is a dev team of one.


A lot of early jump & run games worked on a screen-by-screen basis (Prince of Persia, Lode Runner, etc) rather than actually having smooth, NES-style scrolling.

In any case, this Wikipedia article [1] backs up that the only real predecessors of Keen on PC were early-80s console ports that were extremely limited in other ways, like having boxy, low color count graphics.

[1]: https://en.wikipedia.org/wiki/Side-scrolling_video_game#IBM_...


seadragon on the apple II did scrolling, as did a lot of shmup and shmup ports.

I've never written a side scroller so I don't know how much of the gravity/platform mechanic complicates the scrolling, but I imagine it's about the same thing as shmups with hitboxes, sprites, etc.


Mazewar was the first FPS, but Wolf3D was a totally different class of game, and every FPS since then has been an imitation of Wolf3D. Agreed about CKeen.


> Carmack could build a video games which is 100x across a number of metrics

But even Carmack couldn't crack Steve Jobs stubbornness.

Sometimes being 10x is only a matter of being free to help the best you can.

EDIT: where Carmack shows that he is well above average is not in coding, but in being extremely pragmatic and thous being able to extract good, almost unbiased, information out of every discussion, even the more unpleseant ones.

---

Part of his method, at least with me, was to deride contemporary options and dare me to tell him differently. They might be pragmatic, but couldn't actually be good.

"I have Pixar. We will make something [an API] that is actually good." It was often frustrating, because he could talk, with complete confidence, about things he was just plain wrong about, like the price of memory for video cards and the amount of system bandwidth exploitable by the AltiVec extensions.

People were backing away from us. If Steve was mad, Apple employees didn't want him to associate the sight of them with the experience. Afterwards, one of the execs assured me that "Steve appreciates vigorous conversation".

Still deeply disappointed about it, I made some comments that got picked up by the press. Steve didn't appreciate that. The Steve Jobs "hero / sh*head" rollercoaster was real, and after riding high for a long time, I was now on the down side. Someone told me that Steve explicitly instructed them to not give me access to the early iPhone SDK when it finally was ready.


> But even Carmack couldn't crack Steve Jobs stubbornness.

I honestly don't understand how this is relevant.

Carmack is 10x in coding and designing software. Jobs was 10x in PR and persuasion.


The point is he wasn't when he worked with Jobs.

Carmack is exceptional, not just 10x, but how many above average people work with a Steve Jobs and can't prove it and do not even realize it?

Carmack is not an actual good benchmark here, but even as good as he is, he met his kryptonite

Don't assume that great workers will perform great in every condition, because that's not a realistic assumption and only puts pressure on younger people for no reason.

We must not support the idea that if you're not Carmack you can't be worth (at doing your job. *only *) more than the others or the company's average.


"worked with Jobs"

What are you talking about, John Carmack never worked directly with Steve Jobs? He had his own company and he sometimes had to talk with Apple as a platform vendor, but they never worked together on a title. He didn't like Jobs as a person but that is another story.


Carmack literally talks about working WITH Jobs, but random HN user says he didn't.

OK!


John Carmack ran a video game company. Steve Jobs ran a platform, the Apple. Therefore John Carmack sometimes talked to Steve Jobs about things he needed from the Apple platform. John Carmack had a very negative experience in those interactions, yes. But John Carmack never worked with Steve Jobs on any project. Steve Jobs was never the boss of John Carmack.

If you disagree please link an article where it says that they did work together on anything and that during that project John Carmack's performance was significantly reduced. I haven't found such an article, and it would be strange since they never worked at the same company.

That he did a few keynotes at Apple isn't really working together. And him refusing to take a keynote that would force him to reschedule his wedding is just him being healthy and Steve Jobs being an ass, I'd say that is evidence that Steve Jobs didn't really have any power over him.


> If you disagree please link an article where it says that they did work together

It would have sufficed to read the Carmack post.

Seriously, random internet guy, he literally *said it himself*

> When NeXT managed to sort of reverse-acquire Apple and Steve was back in charge, I was excited by the possibilities of a resurgent Apple with the virtues of NeXT in a mainstream platform. *I was brought in* to talk about the needs of games in general, but I made it my mission to get Apple to adopt OpenGL as their 3D graphics API. I had a lot of arguments with Steve.

> I wound up doing *several keynotes with Steve* (see the word WITH?), and it was always a crazy fire drill with not enough time to do things right, and generally requiring heroic effort from many people to make it happen at all. I tend to think this was also a calculated part of his method.

-- John Carmack

I've specifically said WITH not FOR.

Please random guy, read before speaking.


> But even Carmack couldn't crack Steve Jobs stubbornness.

Not sure that's a bug.

Seems no matter what Jobs thought, Carmack kept bringing value and shipping great software.


I guess this all depends on your definition of 10x. It sounds like you are saying 10x the average person rather than 10x the average person who works in that field.

I'm a 10x developer if we count non developers. I am not if we could people who work as developers. Likewise there are expert marathon runners who are 10X, or more, than the average human. But there are not marathon runners who run 10x faster than other professional marathon runners.


Claude Shannon, Dennis Ritchie, Vitalik Buterin, Jeff Dean are all 10x programmers. Let's not pretend they dont exist


Perhaps. But is it meaningful to talk about these incredible outlier cases when considering how you structure an engineering organization?

I think there are two kinds of companies that make tech:

1. Companies where all of the technical problems they need to solve can be solved by typical engineers.

2. Companies where some of the technical problems they need to solve are too difficult to be solved by typical engineers.

In the latter case you do need "special" engineers and you need to point them at these problems. But what percentage of companies fall into category #2?


3. Companies that have technical problems that can easily be solved by typical engineers but not noticed and articulated by typical engineers.

Which is most of them. The main value of "special" engineers come from them pointing you to the right problems. Notice how all of Ritchie, Shannon, Dean and Buterin certainly fall into this category. They were all technically proficient enough, but that's not the point. A seasoned veteran would have coded circles around Buterin at age 20, which is when he invented Ethereum. The point is that the seasoned veteran didn't invent Ethereum. Similarly, Shannon's most influential work (that paper that basically invented information theory) is fairly elementary, and basically any geezer with a relevant PhD had had the technical chops for the paper. But they never would have written that paper in a million years.


10x what?

As far as I'm aware, Shannon wasn't even a programmer.

I'm sure Ritchie was pretty good at coding in the language he invented; AIUI, that language is pretty similar to the assembly language of the machine he designed it for.

I don't know anything about Buterin and Dean.

I'm sure these people all had brilliant ideas and insights, that I couldn't begin to match. But given an arbitrary dev task, I doubt they'd come close to 10x the performance of a reasonably competent dev.


'dev task', 'shannon wasn't a programmer', 'don't know about buterin, dean' -- There in lies your problem, seriously


Shannon was a mathematician, famous for his work on information theory. Wikipedia says he presented a paper on the subject of programming a computer to play chess. In 1949. It doesn't mention any other programming accomplishments. And as far as I know, there were no programming languages at that time.

And if my "problem" is not having heard of Buterin and Dean, I reckon myself a fortunate fellow - I can think of worse problems.


> But there are not marathon runners who run 10x faster than other professional marathon runners.

It’s true that they don’t run 10 times as fast, but the marathon runner that is 1% faster will finish 10x more races before the slower one (YMMV depending on stdev).

Similar in software development, picking a 1% better local solution often enough can make the global result 10x better due to the complexity of the systems.


This example holds true imo. There is a world of difference between a 2:10 marathoner and a 2:30 marathoner. Same as a 4 min miler and a 4:30 miler, etc.

Because of diminishing returns, improvement can still be seen as potentially some kind of multiple in many skillsets.


So 1x devs exist? I agree.


> Marathon runners run 42 km in like two hours but it would take me days to finish the same distance...

Not really. If you walk at an easy pace of 2 miles per hour, and start at 6am, you'll be done in time for an evening meal. At 3 mph, you might even make afternoon tea.

The world record marathon times are, in fact, only about 4-6x what you can do as a walking human being.


Correct - and if you compare world record marathon runners with average (but seasoned) marathon runners, the difference is even smaller.


Specifically, RunningWorld.com took data from 107.9M runners over 70,000 events over 209 countries over 32 years and found the "average" finish time was about 4:32hrs. The men's world record is ~2 hours.

https://www.runnersworld.com/uk/training/marathon/a27787958/...

(That link has a video of people on a giant treadmill, moving at Kipchogi's world record pace, trying to keep up).


Time wise, absolutely true, but as someone who is a reasonably seasoned runner I can say my 3:30 marathon feels lightyears away from 2:00. It doesn't sound 10x harder, it sounds impossibly harder.


so in the context of TFA, what really needs to be asked is not "are some people massively better coders than others?", but rather "how difficult is it to progress from the equivalent of a 3:30 marathoner to a 2:00, as a coder?"

I don't know the answer, TBH. I've been a programmer for nearly 35 years now, and at times along that journey I've been the 10x coder. But I'm not anymore (just like I can't go sub-3h for a marathon at this point), despite knowing a lot more and being better by some metrics than I was during my 10x periods.


Maybe what needs to be asked is

"If you're okay with the message getting there in 3 and a half hours instead of 2 hours, do we really need to fetishize 10x performance?"

YAGNI is a way stronger principle to base your success on than finding or training unicorns.


> It may take a world-class musician a week to write a masterful symphony but it would take me way longer.

But are you a world-class musician yourself?

Yeah it would probably take me a week to run a marathon, but I've never run anything so it's not a meaningul comparison.

In all your examples you're comparing amateurs or even non-participants vs. the top professionals. Of course there is a huge multiplier, up to sometimes infinity.

That's not the typical usage of "10x developer" though. The baseline comparison isn't random person on the street who is not a developer. The comparison is other professional developers who are gainfully employed in the field.


I've worked with hundreds of average (professional) developers over the years, and I've only met 1 person who was a 3x developer. I've met several 2x developers and lots of 1.5x developers. I assume a 5x developer exists, but I doubt a 10x does.


When your baseline is 0.1x developers, a normal developer can be a 10x developer.


The baseline is 1x, that's what 1x means.

i.e. Your regular professional career developer who does good solid work and is always rated "Meets all expectations". That's the 1x.


My baseline is the average.


I think the point of x10 devs is this doesn't occur in other fields. It's like a HR Moore's Law.

I've always understood it as: if you step back and see the easy way, it's easy to be x10.

But most jobs are dominated by actual unavoidable straightforward work. Another exception is mathematics. You can certainly have a x10 mathematician! But it's not a mainstream job.


> this doesn't occur in other fields

It absolutely does, just look at surgeons.


I want to find the 10x surgeon who can complete a one-hour operation in six minutes.


The best operation is the one not done. Often the operation is unnecessary.


I don't think the metrics is always speed. I think it is efficiency (quality_of_work.hour).


The reality is you DO have 10x devs, hell you have infinity-x devs, because there are zero value devs - epitomized by the bullshit promoted by stupid start-ups like Swarmia, and next to that, by basic mathematics, anything positive represents a infinity-x improvement.


10x (or more) engineers in both hardware and SW exist. I've personally known more than a few, they are humbling, and I was pretty good myself at the time.

SW is too time consuming, I think, for it to really show, and tools help even things out, but I think math shows that even 100x people exist - the von Neumanns of the world. Maybe they don't exist any more, but we had a bunch of them in the 1900s and it's inarguable that they were at least 1-2 orders of magnitude above the rest.

That said, there's a ton of people in the field who now focus on image management so heavily that the numbers of _apparent_ 10x are really skewed. If you're willing to engage in engineering fraud, overselling, etc. you can seem to be one of them pretty easily in most contexts even pushing the most outrageous crap/fraud as something it's not. I feel like ML particularly enables this. I am dealing with two of these guys now, and honestly, it's so tiring dealing with the low-cost-to-produce/high-cost-to-analyze asymmetric warfare that frauds in engineering create.


What do the two guys produce that's hard to analyze?


It's a volumetric warfare. Demonstrating that their output is just a rudimentary assembly of stuff that doesn't do what they claim after the fanfare and announcement emails is much more work than it costs them to produce this stuff.


10x is often used to suggest that one only seeds a single 10x developer. This makes as much sense as the army being okay with squad made up of one 10x solider.

Yes there are 10x solders but their impact is measured by their impact on the unit. IMO this is the only sensible meaning of 10x in large scale software development.


"myth" is just another ruined word.


Hard agree.

For many, I wonder if the denial stems from imposter syndrome and a lack of self-confidence in their own performance at work.

I suppose in that scenario, the idea of 10x-ers would be quite uncomfortable if I felt like everyone was referring to my output as the baseline?


This is so obviously true that I laugh whenever I read the “10x software developers doesn’t exist” articles. Typically written by average developers with an axe to grind.


> Great chess players beat amateurs at least 99 times out of 100 so must also be 10x in comparison.

Absolutely. Chess is very hierarchical. I would say true amateurs will literally never beat a grandmaster, and high school champion-level (not prodigies though) can only beat a grandmaster if the grandmaster plays very weakly (vastly underestimating them, not truly playing their best, or having their guard really, really down).


In Go, for example, for the professional ranks (1 dan through 9 dan) each rank should win 70% of their games against players from the next rank below.


> Marathon runners run 42 km in like two hours but it would take me days to finish the same distance...

This doesn't take away the core message of your post. Most marathon races are time limited for logistics reasons - to open streets to traffic. Give or take 6 hours.


10x is real but I think the more compelling question is how low a bar of competency is allowed to work in the profession - and what is the average level of competency in the programmer market.

"Certifications" doesn't get there - too easy to just game a multiple choice test. I would like to see a formal education + testing requirement (ala Doctors, just not 10 years!) Essentially, a barrier of entry for serious programmers. That would ultimately come with a high minimum salary without having to get hired at faang.

College accreditation doesn't cut it either. I work w programmers with an MS in CS. Programmers are kinda impressed. Managers could care less.

The insanely high demand for labor and (always present) priority to reduce labor costs however encourages the entry of boot-camp you're hired on the low end of experience/competence.


I love it! Artificially constrain the labor supply with licensing. It would be incredibly lucrative for programmers. As a bonus, it would increase the prestige of our profession. Of course it would be a terrible deal for companies and quite bad for the economy.

The fact is that there are many types of applications where a high level of expertise is not needed. Eg. websites for small businesses. The client/end user doesn't care how cleanly architected or efficient or even bug-free the codebase is, and it's a better deal for management to pay some freshly-minted bootcamp grad 50k/yr to hack away than drop 6 times that on a 10xer.


Wouldn't winning 99/100 be a 100x chess player?


Depends on how much the 1x wins, and that depends on who they play, where, when, in what state of mind, with what extra resources…


They play the same games in the same time.

https://en.chessbase.com/post/carlsen-s-70-board-simul-in-ha...

Here we can see Carlsen being more than 70x as efficient as his opponents. He won 67 of them and lost 1 which is why we can't say that the 70 he faced together was as efficient as him.


The problem is that you can't measure a developer. So you can't say someone is 10x faster or better. If you add a bench-mark like how many LOC is written per day, most will exceed at that benchmark, but the overall quality will go down.


> 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 before, someone else who has a few years of some web experience but has never actually shipped anything remotely close to what the team is trying to do.

There's more, but... the mgt wants to treat everyone as 'equal' and having an 'equal voice'.

So... they need some new web service. "Let's use React! Let's use Dart! Let's use foo!"

Mgt: "OK - well... let's have a 'shoot out' - everyone research their ideal and we'll present findings!"

My colleague: "Hey - here's this. I got this done in a couple days - there's tests, docs, works with the existing infrastructure, and has some sample data for you to play with".

Weeks later, others: "Hey, that's not fair, you already knew some of that. I'm not an expert in $foo, but heard good things about it, and people at google use it, so we should too! I just need a few more months to get up to speed, then I can show the rest of you how good it is and why we should use it."

Someone being able to accomplish stated goals in a few days, where other people on the team are not even sure what terms to google... Yes, there are people who are "10x developers".


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.


The comment I was replying to was "The problem is that you can't measure a developer."

You can measure. One way you measure is years of experience. Another can be time to deliver against a spec. Another can be number/size of defects. Another can be time to remedy defects.

Yes, it's "junior vs senior", but their management is explicitly stating "everyone's experience is relevant, and everyone has an equal voice" and so on. No, the person who has literally never contributed to a production codebase should not have an equal say in the technology stack choice. Their voice is not 'equal' to someone who has delivered consistently for 2 decades.

And... yes, it's largely bad management. He's looking to move. They had rocky mgt for... a year before, but it was tolerable. Leadership changed and my colleague stuck around the last few months to see if things would get better, but they're getting worse.


> 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.


I recommended a graduate hire once with "he failed all my questions, but he's clearly very smart". Fortunately I was right and he was great to work with, and I'd recognized that my questions had been expecting a particular curriculum.


> Thinking about it, I don't even know where I am on the 1-100x scale.

Where you are is dependent on the rest of the team, and the structure of the process. The notion of "X" times as a measurement implies a comparison to others. Posted elsewhere... I've been the slowest/least-productive on some teams, and I've been the 'rockstar/ninja/10x' on others - in one case, during the same time frame, just different teams.


Schrodinger's project management: developers are measurable as long as they don't know they are being measured.


You might be joking but it actually has a name: https://en.wikipedia.org/wiki/Goodhart%27s_law

Well, your idea is probably closer to the Marilyn Strathern definition.


Better play it safe and commit more often.


I used to 'craft' commits but more frequent WIPs is what the people (who write the checks) want to see.


Cue the link to the story of Bill Atkinson‘s “-2000 Lines of Code”:

https://www.folklore.org/StoryView.py?story=Negative_2000_Li...


You can't "measure" a session musician either. And yet some of them take hundreds of dollars an hour to be there for a recording, so clearly there is a way to know


We are exposed to music so much that even someone who don't know how to play an instrument can tell the difference. So the average Joe can tell the difference in for example talent shows. Now imagine a talent show with programmers/developers, we kinda have that already with hackatons, but then it becomes more about the presentation, the actual code - if any code exist at all - is an absolute "hack".


If a session musician charges by the hour you know they aren’t good OR haven’t been recognized yet. Day rates.


When a wise man points at the moon, an idiot looks at his finger


Sometimes you can. At some point I worked as a consultant assisting a team that actually picked the next item from the backlog as their next task. All tasks were estimated before they were put in the backlog and assigned to someone. I would usually finish tasks in less than 30% of the esimated time, while some would use 3x+ the estimated time, and then only because they were receiving assistance a couple of hours per week.

The guy doing the estimages was evaluated based on his ability to estimate accurately, so he had to inflate the estimates beyond what would be reasonable.

This was in a country with really good job protection laws....


When a measure becomes a target, it ceases to be a good measure.


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 people can walk, but few people can cover so much ground so quickly. That’s the essence of the 10X designator.

The average programmer is not like the average marathon runner.


I think your comment inadvertently illustrates how much of this comes down to how you define the baseline. I think the comparison for a world-leading marathon runner shouldn't be someone who _never_ exercises but someone who's actually put some effort into fitness (say, an amateur runner) — yes, they're faster but it's nowhere near 10x[1] — just as our baseline for a 10x developer shouldn't be someone who's never written a line of code before but the median professional developer. It's easy to get an order of magnitude win over someone who's completely inept but once you get into more realistic territory you're chasing diminishing returns pretty hard.

The other big problem here is that you're talking about a complex skill but trying to reduce it to a single number. Tellingly, most of the 10x developer examples cited are cases where they know exactly what they want to do and have near-complete control over it, which isn't exactly how most developers work. It's really hard to quantify things like teamwork or the ability to distill what people need from what they say they need, and those are core skills for most of us in a way that optimizing a 3D engine is not.

1. I've done marathon length _hikes_ in far less than a single day, and I'm far from a hard-core athlete.


I think it is probably much, much less harder (as a young, healthy person) to get from relatively unfit to running a marathon in 4:20 compared to getting from that 4:20 to the 2:10 that the elite marathon runners do. It's probably a lot more than 10x harder to go from 4h to 2h, I think. I gained a lot of respect for them when I realized that my gym treadmills' maximum speed (20Kph, which I have never managed to hit for any significant length of time) is less than the average speed to hit the current world record times.


That was my experience as a cyclist, too — when I was in my 20s it was relatively straightforward to get my average for a 100mph ride with modest hills into the low 20mph range, while the people in the Tour de France are sustaining greater speeds over mountains. Going from that dedicated amateur level to even the lowest pro tiers requires both significantly more effort and a fair amount of luck in terms of genetics, being able to afford that time, etc.


> 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.


There’s a much bigger difference in ability going from a 2:30 marathon to a 2:00 marathon than going from a 3:00 to a 2:30 marathon. It’s not linear. But it’s also not relevant to the point the OP is making.


A 10x marathoner can achieve a qualifying time for their marathon far 10x faster than the average person who might not ever be able to qualify.

When you talk about a 10x programmer, you don't expect their program to run 10x as fast. You expect 10x the results.

A 10x marathoner could post the regular marathoners best times 10x as frequently throughout the year easily. His training runs would destroy regular runners PR's. No amount of work by the regular guy would allow him to produce a single instance of comparable performance.


This is annoying semantics, but sport is just as often about being very fractionally better and making a time fractionally smaller .. at the expense of huge amounts of effort. The same can apply in software too. I don't think it invalidates the metaphor as long as you can stop people interpreting "10x" to mean "there is some precise metric on which we can determine the average is a number X and this person is at least 10X".


The average marathon run time is about 4.5 hours. The world record marathon run time is 2 hours.

Most people who run cannot even complete a marathon. Then there are ultramarathons.


> Then there are ultramarathons

and then there's Mauro Prosperi


The only reason DOOM was finished in 1997 was because John Carmack recognized himself as the 10x developer and started living in-office until the game was finished. Obviously it's important to not let silly titles distract you, but stepping up to the plate like this is how organizations get stuff done.


And while there’s nothing wrong with people choosing to do that, there’s absolutely everything wrong with organisations that expect it.


Yes!

This is how bad organisations get stuff done. Good organisations don't run into these problems in the first place because they listen to their staff and don't set arbitrary deadlines*

* I have no idea how arbitrary the deadline for Doom was. But I've seen so many devs burn themselves out meeting deadlines that were pulled out of a hat by managers because it gave them the illusion of control


Most real 10x's work precisely when they decide to. If they are mistreated by their employer, other stand in line to hire them.

The crunch problem mostly applies to the average-and-below developers (possibly with the exception of some devs that give up leverage vs their employer somehow, by depending on them for a visa, only consider work in a given industry, etc)




Consider applying for YC's Spring batch! Applications are open till Feb 11.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: