Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

> I always flabbergasted when people say things like "The 10x programmer is a silly myth." ... have they really, in all their years, never, ever worked with a superstar?

I have been in situations where I'm the 10x or even 100x programmer. For a while, on some project. When everything aligns just perfectly, where I just happen to know all the right things and happen to have all the needed authority and independence.. yes, it feels magical.

But I'm under no delusion of being a 10x programmer. To me that means someone who is consistenly 10x better at everything on all projects always. That doesn't exist.



A "10x programmer" is, I think, a kind of goofy term.

In 26 years working at Apple, I can think of a dozen or so engineers that were remarkably capable, prolific, able to hold an entire code stack and all its esoteric nuances in their head, could handily see how to refactor an entire framework, or replace several frameworks with one.

I don't know if I would call them 10x programmers though — as I understand how the term is being used.

But I can think of two, maybe three engineers that I would say were so far above everyone else in ability that I absolutely would call them 10x programmers. They were seemingly able to additionally hold in their head the working of the processor, its registers, the idiosyncrasies of the compiler and linker, how the low-level file manager and thread managers work.... It was clear to me that they just think differently.

I recall a bug that I wrestled with for days (and other coworkers were stymied as well). Out of desperation I asked a 10x-er and the bug was resolved in 5 minutes. Remarkable. I even asked him how he saw the problem so quickly but even his answer was gave me no comfort. It was, as I say, clear that I just didn't think that way.


> I recall a bug that I wrestled with for days (and other coworkers were stymied as well). Out of desperation I asked a 10x-er and the bug was resolved in 5 minutes. Remarkable. I even asked him how he saw the problem so quickly but even his answer was gave me no comfort. It was, as I say, clear that I just didn't think that way.

I never understood how normal people program. I have an extremely good long term memory and my intuition somehow internalizes every codebase I see so it just tells me what could be wrong and then I fix it. So every time I come into a new team there are stuff others have struggled with for a long time, and I just go and solve them, people with way more experience and have been there fore years, doesn't really matter, they don't see it.

I have many other mental issues so I am not really a 10x employee, but the gap in how fast people can reason about technical problems is extremely huge. I've worked on one of the more important teams at Google, there were a couple of extremely good engineers there, but most were just normal hard working people, the gap is huge even there.


The ability to pay attention on a specific thing for more than a few seconds doesn't feel "natural" to me. Evolution does not favor long-term attention for anyone who is not a top-predator. Imagine a deer paying too much attention to grass It's eating and not able to be distracted by the slightest of the noise a predator may make is not going to reproduce. We, humans, are close to top-predators, so, maybe! I've not thought about it too deeply. But I still feel that the ability to focus for a long time is a bug, not a feature in the natural environment. The economic system has turned into a must-have feature and lack of it a bug that is to be cured by medicine. I wonder if early pioneers (not the sciency/nerdy kind) all had ADHD?


I can't pay attention to anything at all, its all reactive. You can get through college that way, just memorize and build intuition for everything, no need to work for that, but after college I couldn't do shit since nobody pays you for just knowing things, so got an ADHD diagnosis, got pills.

Without I can't even read a single line of text without losing focus, I just read fragments. Then when I got pills after college everything became super easy. My intuition was already an expert at reverse engineering technical facts from fragments of documentation, so when I suddenly could sit and realisably read things for hours everything just clicked. Maybe that came with the ADHD or the other way around, I don't think it is entirely free.


There’s also a correlation with childhood trauma and attachment.

Grew up in mostly harmonious and safe environment? Better focus and easy control over attention.

Unsafe, startling environment demanding a deer-like constant awareness and adaptation? Less control over more scattered attention habits and the related issues with memory.


> I never understood how normal people program.

Like... debugging? Following the code process and seeing where it breaks? I'm a little unclear, are you saying you don't do debugging, but rather when you see a bug you mentally run through the entire process and know exactly where the bug is... even in a new codebase?


If you wanna experience the other way around, work with normal people using computers.

They usually struggle and get by through habits but they understand nothing (which is normal, computers are anti-pedagogic), while developers can see through the fabric. Things that are obvious for us are non existant or merely a huge stack of blurry artefacts with no clear order.


10x programmers to me is the ones who can fix 10x runtime errors comparision to 0.1x ones.


> where I just happen to know all the right things and happen to have all the needed authority

This is such an important part of the 10x programmer formula. It’s no mark against their talent or skill, but the environment and team is largely the deciding factor on developer productivity.

I’ve been a 10x developer and a 1x developer on different teams. Ive found it really depends on the environment and my peers.


Definitely. I'd like to better understand the extent to which environment is a factor. The author mentions that too:

> Give a group of passionate people complete ownership over designing, building, and delivering a piece of software (or anything really) and amazing things will happen.

Coincidentally, today I was listening to "Surely you're joking Mr. Feynman". He talks about almost 10xing a team after telling them about the formerly secret projet that they had been working on.


Yes this 100%! The contrast in my productivity and what I'm able to achieve from company to company is simply staggering, and is usually more a testament to the company's culture fit (with me) than my own technical skills.

For example last year I worked as a freelance front end engineer in a corporation building graphic design tooling. I had previous experience in this so initially it seemed like a great fit, but the culture clash between their "everything has to be perfectly designed and implemented" way of working and my ... well, let's call it pragmatism (YAGNI is my guiding star), was so large that I found it difficult to get anything done.

Contrast this with my current company where we have a lot of freedom and autonomy to design and build systems, and the end result is what matters: I don't know if it's 10x, but it's definitely on the other end of the scale of productivity.


> To me that means someone who is consistenly 10x better at everything on all projects always. That doesn't exist.

At the far end of the distribution, they definitely exist and some are like 100-1000x.

I work with someone that can pick up a new language and be writing fluently in that languages’ idiomatic style in a weekend, delivering robust, scalable, concise code.

He can learn a new domain and understand its nuances so quickly that he often becomes more fluent than the company ‘domain experts’ after just a few weeks’ of effort. And no… this isn’t shallow stuff. We’re talking domain experts with Ph.Ds in EE from MIT. He drives industry standards and has the patents/resume to show for it.

The thing is… everything he touches turns to gold. From documentation to design, implementation, test code, infrastructure, maintenance… he does it all.

I’ve worked with smart people (friends/former colleagues at various FAANG staff eng level people). This guy is next level compared to anyone else I’ve worked with.


Now I am consumed with curiosity over this unnamed key contributor. It sounds like they underpin an entire industry.


> He can learn a new domain and understand its nuances so quickly that he often becomes more fluent than the company ‘domain experts’ after just a few weeks’ of effort. And no… this isn’t shallow stuff. We’re talking domain experts with Ph.Ds in EE from MIT.

I have to be very skeptical of this. If the person is so superhuman and famous, can you name them?

Nobody gets to look at a new field and quickly become a domain expert with more knowledge than those who've dedicated their life (PhD, career) to the field.

To be honest this sounds like a con artist good at talking themselves up.


He quoted the "domain expert" part, I'm pretty sure he didn't mean real domain experts, rather just the local programmer who happened to take most of the tickets related to that domain.

For example, early in my career I worked at a small company. They had an "SQL expert", but I got better at SQL than him almost immediately since he wasn't really an SQL expert. I wouldn't call myself an SQL expert today either, its just that the "expert" didn't even know the basics or how to work with indexes properly, what types of queries are fast etc. So he wasn't an SQL expert, he was just the guy who did tickets related to SQL, and then managers starts calling him an "SQL expert" to make his team sound more competent.

But if we take a real domain expert, for example a Math PHD, then not a single genius ever could learn enough to catch up within a weekend or two. Every genius in history in these domains has spent years learning them. I don't think anyone would claim to be able to do that in a weekend. But get better at SQL than a typical backend developer over a week? Yeah, I'd believe that.

EDIT: Saw that the above comment mentioned PHD. Yeah, then it is a bit ridiculous, at least if he meant that the person learned the equivalent of an EE PHD over a weekend, that wont happen. Maybe the guy found some error in the works of the expert and people blew that out of proportion.

I'm leaving the rest of the comment as is, but I agree with you, his story is a bit ridiculous if you take it at face value.


It might sound ridiculous. But this guy is regarded as a super star by an IEEE fellow or two. And by domain expert, I mean people that sit on standards bodies in communications theory.

This guy is out there on the tail end of the distribution.


So, you've dodged the question of who he is. How about the question of why his identity must be kept secret? It sounds like anyone anywhere near him would know who you're talking about anyway


I get the skepticism.


Exact same thing I thought reading the GP. I've done shit just as impressive-looking on paper. I've also been the fuck-around who barely does anything, or have plugged away on mind-numbing low-value crap for months on end, none of it executed especially well.

"Real" 10x might exist but I think most times it's a combination of some minimum ability level, the work environment, the team, and, crucially, the actual tasks a person can get ahold of, that lets 10x manifest.

Some people probably manage to engineer their careers such that they continuously receive such work, and are able to reject or avoid work that wouldn't let them perform that way. That would look an awful lot like "real" 10x.

Meanwhile, sure, smarter people than me exist and they can certainly solve certain problems I can't. I don't think that's quite what "10x" usually means, though.


I can never let these arguments go. There are steady, consistent, 10x people in EVERY line of work, from flipping burgers to performing neurosurgery. There's a bell curve for any ability, and there are people who are on the far end of it, every time. Sports is the easily-understood example. Why should programming be any different? In my 27 years, I've written and rewritten software that different groups have also written. I don't want to write out all the details, but I've been a quantifiably-10x+ programmer at least 3 times in my career.


> Sports is the easily-understood example.

Do you have 10x players in sports? No! So it's a good counterexample.

The superstars are incrementaly better and work hard to be extremely consistent at being slightly better. That leads to becomeing a superstar because if you're consistently 0.1% faster than everyone else, you win most of the time. But 10x better? No of course not. It's not humanly possible.

Is the top track and field runner 10x faster than the middle of the pack? No, just a few fractions of a second.

Is Max Verstappen or Lewis Hamilton 10x faster than the tail end drivers who have to pay to play? Not even close, just a few fractions again and consistently.

Same for every line of work. There just isn't enough spread possible in human capabilities for someone to be 10x better than other professionals in the field.

(Important to note we're comparing to other professionals in the same field, not random people off the street who've never done the activity.)


>Do you have 10x players in sports? No!

I think this actually does illustrate how the possibility of 10x [performers] is perfectly valid. To build on your example, while it's true that that Lewis Hamilton isn't driving 10 times faster, he has 103 F1 wins while to the average pro driver has zero. Michael Phelps isn't ten time faster than his competition, but he has 23 Olympic gold medals while the average professional swimmer has zero. It gets a bit more convoluted with the positional team sports, but at a glance there are players in the same position, with the same overall career trajectories, who are earning significantly more than 10x their peers.

I don't think people are suggesting that 10x engineers are literally typing ten times faster than their counterparts, the "10x engineer" is someone who gets to complete solutions more efficiently — perhaps even 10 times more efficiently.


> To build on your example, while it's true that that Lewis Hamilton isn't driving 10 times faster, he has 103 F1 wins while to the average pro driver has zero.

Right, I'm not arguing (and I don't think anyone is arguing) that superstars don't exist in every field.

It's the "10x" part that is an annoying exageration. Nobody is an order of magnitue faster/better than other professionals in their field.

But you don't need to be 10x better to be a superstar. Being 1.01x better will do if you can keep it up consistently. That's enough to be always ahead and, except for the occasional error, most often win. It'll get you that 103:0 win ratio.

The consistency is the hard part. Anyone reasonably competent can be 1.01x faster here and there. To be the superstar it's not from being massively faster (as it's not humanly possibly), it's mostly from being very consistent at that 1.01x level.


I think Lewis Hamilton and Phelps — really, any athlete with household name status — are not just one but multiple orders of magnitude better than other professionals in their field.

I agree that the consistency is the hard part. I heard a take on this once that argued "10x" is more of a contingent state than something inherent to an individual, but if someone can consistently outperform their peers labeling them as such doesn't seem at all unfair.


yeah the metric/dimension we value people is not a simple one. programming involve many subfields that you all have to master more than the rest.


The time it takes to write a program is closely related to how many things you don't understand well about such programs. This dynamic creates extreme performance differences between even fairly similarly competent people.

Example:

Programmer A is competent, he has good understanding about 90% of problems that comes up when he programs, so he has to stop and think and look things up 10% of micro tasks.

Programmer B is a bit more competent, he has good understanding about 99% of problems that comes up, so he has to stop and think just 1% of micro tasks.

The time it takes to finish is almost completely dependant on those parts you don't understand, the others you just fly through. So even though the understanding and skill of the above programmers looks very similar, programmer B who has fewer holes in his knowledge will likely perform about 10x better than programmer A. This makes programming very different from sports, in sports you don't run 10x faster just because you reduces your bodyfat by a factor 10 for example, so there those incremental improvements are barely noticeable since nobody who runs professionally has a lot of body fat.


> The time it takes to finish is almost completely dependant on those parts you don't understand, the others you just fly through. So even though the understanding and skill of the above programmers looks very similar, programmer B who has fewer holes in his knowledge will likely perform about 10x better than programmer A.

Agreed. I can't call that a 10x programmer though, it's just a matter of what is their field of expertise and how well it maps to the problem at hand. I'd say that stems from how we collectively use the word "programmer" (or developer, etc) to mean just about anything. Now move both A and B to a project domain where B has more knowledge gaps than A and suddenly A is the 10x programmer. But that means neither is really 10x, it just changes project to project.

To compare to other fields, imagine the top heart surgeon in the country. But then they get asked (for some weird reason) to do a knee surgery. Maybe they'll be able to muddle through it by remembering things from medical school and looking things up, but it'll be a much worse job compared to an orthopedic surgeon who does knees every day.

Would anyone in the medical industry say that this orthopedic surgeon is a 10x surgeon because they did it so much better compared to the heart surgeon? We can all laugh because that's clearly nonsense. But we use such comparisons in the software world as if they made sense.

Or to stay in sports, we'd never say the 100m champion is a 10x runner compared to the marathon champion. Sure they both run, but their skills are in different things.


I "believe" in 10x programmers. But sports is generally a poor analogy. You don't have anyone running 10x faster than the average running speed for example...


My mind goes to the Walter Peytons and the Michael Jordans and Tiger Woodses and the Serena Williamses, and so on. People who were so far ahead of the average -- even in a professional sport -- that they changed the nature of the game for everyone who has come after. It's not about pure score; it's about total performance.


You've got guys scoring 10x the points of other people though?

The reason it's awkward in sports is sports are head on competitive. Put a crappy team in a match with a good one and it's 10x. Two teams of equal skill don't seem like there is a lopsided talent.


You have similar explanations for programming.

Lets say that person A can reason about 1.5x more complex problems than his peers. His peers will be productive and contribute a lot of code until the codebase reaches their complexity limit, and then they start to really struggle. Lets say that A then comes onto that team at that moment, to A there is still plenty of room left before the project is beyond him, so he can work full speed as normal. In this situation A would probably contribute 10x more than anyone else on the team, not because he is 10x better but because he is still over that threshold.


> You've got guys scoring 10x the points of other people though?

Not 10x more than the median, I don't think.

(Happy to be proved wrong with a link to a player scoring 10x more than the median scorer[1]).

[1] In some games, like soccer, for example, it makes no sense to compare goals between strikers and goalies - goalies aren't expected to score, and so they almost never do.


Of course you're right about apples-to-apples but a guy like CR7 has scored quite a lot more goals than your average striker, surely? Keep in mind he also has had a longer career with more games, due to being really good. It's hard to say who is median because the not-top guys don't get that many games before they get sold to a lower standard team, or just benched.

Isn't it normal in basketball to have one guy dominating the points?


I think a better analogy would be e.g. scientists. I believe that there are certainly physicists who produce 10 times as much research output compared to the median.

But the real differentiator is in (both programming and science) the depth and quality, not quantity.


You do if you make the course long enough. :)




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

Search: