4 ms·
> 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 s
by jjav 4y ago
> 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.
- distortionfield 4y ago> 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.
- zen_of_prog 4y agoDefinitely. 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.
- TheRealDunkirk 4y agoI 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.
- jjav 4y ago> 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.)
- Jensson 4y agoThe 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.
- jjav 4y ago> 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.
- JKCalhoun 4y agoA "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.
- revskill 4y ago10x programmers to me is the ones who can fix 10x runtime errors comparision to 0.1x ones.
- agumonkey 4y agoIf 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.
- Jensson 4y ago> 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.
- yamtaddle 4y agoExact 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.
- anonuser123456 4y ago> 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.
- ip26 4y agoNow I am consumed with curiosity over this unnamed key contributor. It sounds like they underpin an entire industry.
- jjav 4y ago> 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.
- Jensson 4y agoHe 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.
- flyger 4y ago[flagged]
- davedx 4y agoYes 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.