9 ms·
> We should be far more focused on avoiding 0.1x programmers than finding 10x programmers ... The 10x programmer is a silly myth. I've worked with far too many
by Ensorceled 4y ago
> We should be far more focused on avoiding 0.1x programmers than finding 10x programmers ... The 10x programmer is a silly myth.
I've worked with far too many 0.1x programmers, too many 1x programmers to count and maybe a handful of 10x programmers.
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 worked with a guy who wrote the framework of a medical imaging system almost entirely by himself; hundreds of thousands of lines of FDA design systems quality code complete with tests that formed the backend of a successful product that was used on almost every MRI and CT scanner for years all while mentoring developers all around him.
- thorin 4y agoI'm never going to be Linus Torvals or John Carmack, so does that make me a 0.001x programmer or them a 1000000x programmer or an ∞x programmer?
- Ensorceled 4y agoNah, it makes them a 100x. It's a bell curve and it's ok to be near the middle.
- pookha 4y agoFrom my experience a "superstar" programmer is either somebody with Bi-Polar (works 40 straight hours) or a scam artist. Seen that playout now many,many times. A bi-polar worker can handle insane levels of work. it's just virtually impossible to keep up with them. Family member was a bi-polar canadaian air force pilot, physicist, and clinical pathologist that graduated from McGill and software developer (punch cards all the way through to Ruby). Nobody in his profession(s) could keep up with him...The other type of superstar is the bullshit artist. They slink away and start churning out unmaintainable garbage code that management loves. Than they'll disappear and the people that get left holding the bag are ".1x" programmers...I've seen those two scenarios play out a handful of times.
- m3kw9 4y agoWorrying about being a 10x eng or not is like asking yourself if you are Einstein level smart. If you are not you are not. Just keep improving is all you can do, not enough people is gonna think you are 10x when you do become one, except in your imagination
- Ensorceled 4y ago> Worrying about being a 10x eng or not is like asking yourself if you are Einstein level smart. I think this is the crux of it. I don't think theoretical physicists sit around insisting that Einstein wasn't a 10x physicist ...
- 908B64B197 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 can completely believe it. I recall a story someone told me a while ago. Software business that did local CoL/prevailing wages. Hired an intern one summer that was just running around in circles around the other, more senior devs. Useless to say they loved him and the next summer they tried to get him back, even offering a signing bonus for an internship (something they considered unheard of) but he was already at a large search engine company down in the Bay. You can guess the comp was probably already 3x what his previous job was offering. Of course, he wouldn't return. There's a whole class of engineers were completely invisible to most companies, even if they are in the same "local market" [0][1] (Some use the term "dark matter devs" but I know it has another meaning [2]). These guys tend to fly under the radar quite a bit. If you are in a tier 2 market or company, your chances of attracting one are close to nil. Because they are extremely valuable, they don't interview a lot and tend to hop between companies where they know people (or get fast tracked internally). [0] https://blog.pragmaticengineer.com/software-engineering-salaries-in-the-netherlands-and-europe/ https://blog.pragmaticengineer.com/software-engineering-sala... [1] http://danluu.com/bimodal-compensation/ http://danluu.com/bimodal-compensation/ [2] https://www.hanselman.com/blog/dark-matter-developers-the-unseen-99 https://www.hanselman.com/blog/dark-matter-developers-the-un...
- gofreddygo 4y agoThis imaginary yardstick for measuring developer effectiveness is flimsy and appears mythical because it is extremely sensitive to context. The same 100x dev who will build the medical imaging system single handedly, will also be a 0.01x dev when asked to fix an npm dependency issue in another team, will also be a 1x dev fixing a cassandra config issue, or an aws build system issue. In my experience, this is not because (s)he can't but mostly because (s)he WON'T.
- collyw 4y agoIn terms of code output the guy I worked with churned out more than 10x what I did. It was just a mess though, hence I had to fix all his shitty bugs. Especially as it was a lot code, on top of a really poor database design, using Mongo for what was relational data. Would have saved so much effort if he had used a proper relational database instead of chasing fads when Mongo was the cool kid in town
- michaelcampbell 4y agoMy issue with the 10x is it's overapplied at a programmer "macro" level. What I mean by this is I think every average programmer is 10x at _something_; but I've found that that something is not necessarily what a company wants, and even more tactically, not even the programmer can know ahead of time what that is. It feels (for me, anyway), kind of transient too. Most of what I've written I'd consider basically average. I'm an average programmer, I'd like to think anyway. But a few things I've done I think are well above that. Maybe not 10x, but a couple things I knocked out quickly, got praise for, solved a real problem, and (AFAIK) are still in use today - even maybe decades later. But did I know "this is my time to shine!" ahead of those? Not a clue. Things just clicked. And the things I thought I'd kickass with... some worked to varying degrees, some just sucked.
- Rury 4y agoSometimes this is born from politics, and whether you have the freedom to be a 10x programmer, or are held back by externalities, opinions, and red tape. Anyhow, the fact is, there can be unfriendly environments to 10x programmers, and so it can be rare to find them there.
- CamperBob2 4y agoExactly. I can be a 10x programmer, or I can be a 0.1x programmer. It all depends on my (external) work environment and (internal) motivation. I'll bet a lot of developers can say that, perhaps even the majority. It's unenlightened to say that the 10x programmer is a myth without, as the author suggests, asking "why" a few mre times.
- Jensson 4y agoSo your productivity vary by a factor 100? I don't believe that, unless you are talking about short periods. That would mean that you would do more work in 3 days in one situation than you did in a year in another. So either you greatly overestimate what you did in those 3 days, or you greatly under estimate what you did in that year, or you were in an accident and is now brain damaged.
- Ensorceled 4y agoIt's happened to me a couple of times, but the time periods were short because I realized within a couple of months that not only was I (and everyone else on the team) horribly unproductive but that effecting change was impossible.
- lordnacho 4y agoI think it's possible. Mainly because it's possible for an organisation to slow to a crawl, with internal bickering. So it's hard to be much more productive than an ordinary functional org, but it's also possible to be doing basically nothing, thus any X is possible. Maybe trivial but it does seem to be how it works.
- nevinera 4y agoI think the 10x concept is generally misrepresented - writing _code_ 10x as fast is possible, but not really important. It's people that _solve problems_ in a tenth the time that we're really talking about. And if you're not watching the numbers carefully, it just looks like every problem they walk up to happened to be easy instead.
- Ensorceled 4y agoYeah, 10x is not just about code. Another 10x developer that worked for me had a knack for writing beautiful, easy to use, domain specific frameworks that simply made everyone else on the team 2x or 3x more productive ... on a team of 10 developers. He was 2x-3x as a raw coder and probably 20x-30x for team productivity.
- deleted 4y ago[deleted]
- code_biologist 4y agoI'll add that rework is an underestimated part of 10x, not that I'm 10x. The best engineers I've worked with create solutions that can be forgotten until the business changes, often 3-5 years later. One variety of 10x pretender I've come across will slam out new systems that then require a lot of care and feeding. Flushing caches, re-syncing data, JVM or autoscaling tuning, regular addition of new special cases, version updates for yet another ecosystem... the list goes on. Another facet of your "making it look easy" observation: management perceives the latter engineer as doing a lot more than the former, sadly.
- Ensorceled 4y ago> One variety of 10x pretender I call them an "almost 10x'er" ... they pump out 10x code but it is a horrible buggy mess. I got pulled in to help one team that was months late on a release and found that their entire team was swamped with whack-a-mole bug fixing code that the "superstar" had written while the "superstar" was banging out new features for the next release. None of the features they wrote actually worked but they got the credit for developing those features and the rest of team was being blamed for not being able to ship the features. So I get why people can be jaded by the whole 10x thing.
- 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.
- blindriver 4y agoI've worked with 3 of them at different times in my career. They could do as much work as an entire team. One of the I worked with really well, I would feed him ideas and he would code the most incredible things, like parsers using ANTLR. He unfortunately committed suicide. Another one was the CTO of a startup, this brilliant Russian guy that literally did everything to keep the company running. The last one is ex-military that can single-handedly code extremely large systems but was kind of hard to work with because he was so much faster than me. I basically left him alone and fed on whatever breadcrumbs he wasn't interested in, and we co-existed well together.
- 29athrowaway 4y agoI've known people that are 2nd generation software engineers (have not yet met 3rd generation though). Their parents were software engineers, they were born with a bookshelf full of programming books, they were taught to program at an early age by professional programmers... They learned the rules of the game and received career advice at an early age. The ones that make the most of those experiences are truly remarkable people. It's easier to navigate your career when you are given a map at an early age.
- djtango 4y agoProgramming/problem solving is a skill and is also creative in nature. It seems quite intuitive that ability follows some power law. Coming up with the Von Neumann machine takes a lot more capability than my meagre glue code I write layers and layers of abstractions above it. I think denial of the 10x (or 100x) programmer arises from a few things. Firstly it hurts to admit that most of us are not 10x programmers but by definition this is true. Secondly many of us have not seen first hand how brutal talent/ability is distributed. Thirdly not all 10x-ers work well in teams and I've met fake 10x-ers who may be 10x more productive but at the expense of 10+ developers around them due to the inability to collaborate effectively. On the second point, the starkest reminder is in music and sports - I've played piano all my life but am quite mediocre. My old teacher was a couple of leagues above me. Active soloists I've met are leagues above my teacher. Then you have a couple of the giants and they are in a league of their own. And yet universities and music colleges pump out thousands of really really capable musicians every year who will sound extremely good, just nowhere near the top. Ronaldo/Messi or Federer/Djokovic/Nadal are also good examples of how brutal these curves can be. That an injury prone Federer in his 40s was still eclipsing all the rising tennis players is quite cruel for all those other top-200 players that have come and gone; who started later and retired earlier and yet also dedicated their sole existence to tennis. If programming is creative in nature, then I'd see the modal developer as a rank and file journalist/copy writer. But dotted around are a couple of Wilde/Hemmingway/Tolkien/Orwell out there churning out text in their own special niches (or even creating their own niches)
- picometer 4y agoWhy do you use words like “brutal” and “cruel”? We celebrate those paragons - that’s why we have the Olympics. “Cruel” only makes sense in the limited scope context of single competitions. And we should also celebrate hyper-effective programmers when we encounter them. There’s plenty of work to go around; they’re not taking jobs from others.
- djtango 4y agoHave you watched Amadeus (the film). I like that movie for its exploration of the psychology of dedication being confronted by genius. As outsiders of the sports, it is great to celebrate the GOATs like Feds Nadal and Djoko but a cursory google reveals that to reliably break even in the sport, you need to be inside the top 250 in the world. To be 250th in the world at something like tennis takes a lifetime of graft and a tonne of talent, and yet the rift between 1st and 250th is still huge - you can often see #1 go extended periods without dropping a set and getting 6-0s which is a cruel reflection of the nature of the power law: you might be 1 in 100million but 1 in a billion talent completely wrecks you EDIT reread your comment - totally agree with you regarding software vs individual competition.
- kqr 4y agoThe problem, I think, is that nobody agrees on which dimension the "10×" are measured. If only we did that, we could just measure and conclude definitively whether these programmers exist or not. I suspect people prefer to argue about diffuse ideas, because it's more about the social exchange with other humans and less about determining what's factually true. As a concrete example, I believe 10× programmers exist when measured in revenue supported or cost reduced. I have yet to meet a 10× programmer measured in profits! The 10× revenue/cost programmers I've worked with have had other quirks that negate many of their gains so they don't translate to profits.
- xlii 4y agoI think you hit the nail on the head. I worked with 10x’s multiple times but there was also something off. One colleague couldn’t be bothered to show on time. He’d still deliver but everyone was stressed because he could get lost for weeks. That moved him away from all more critical projects. Other pivoted all the time. 1 week in - pivot - 2 months different attempt - pivot. Code was still used in other places until one day he decided to pivot his life and was literally MIA for 2 years (with police search etc.). He resurfaced in other country with different life. Not so long ago I worked with dev whose output was mind blowing, he was closing stuff 10x faster than any other. Business gave him multiple raises throughout the year. He left for greener pastures though so we had to pick up his work and it was _bad_. Hard code everywhere, hard data, no abstractions. Adding metrics took weeks where they should take 1-2 days as it was standard process. Upon further analysis he got so fast because he ignored most of the development consensus. Ironically he always paired with 0.1x or short term contractors who didn’t care during reviews.
- alphazard 4y agoI'm always surprised to hear this as well. The fact of the matter is software engineering is a vast field. The title is used to describe professionals with huge variances in competency. But they are all professionals (someone pays them) nonetheless. This is apparent at every level. If you've ever hired fresh grads, you know there are resumes for people who have been programming since 15 in the same pile as people who have never written software outside of a school assignment. At the senior level, you have people who have written the same application a hundred times with bad habits, in the same pile as people who's natural curiosity has lead them to understand how most of the hardware and software they touch works. The idea that you would never come across a 10x discrepancy between 2 points in this distribution is silly.
- weatherlite 4y agoI think it really changes by domain. Full stack web development for example is about being a hard working programmer who writes good, clear well tested code. It doesn't take a genius to do this work well, it does take a lot of hard work and dedication. I don't think I've ever worked with someone who produced 10x the value of his colleagues, no. Maybe there are a few who are the only ones in the company that can solve some esoteric bug because they've been in the company very long and possess the bigger picture, or because they are more talented or whatever. But that still doesn't make them "10x". It makes them more valuable and that's it. Not 10x. A real "10x" dev is someone who gets product to focus on the right requirements or solves all kinds of miscommunications in the team and company, it has very little to do with actual coding.
- seanmcdirmid 4y agoThat’s more like a 10X SWE. There are definitely 10X programmers out there, but they could be horrible SWEs (and often don’t work well in teams at all even if they can still create billion dollar products..though I guess 10x wouldn’t be a sufficient description at that point). Then again, I guess it depends on what you mean by dev.
- weatherlite 4y ago> There are definitely 10X programmers out there Possibly, I've just never met one yet. That's saying the guy contributes like 2 teams in his company, pretty insane. But again, I've always worked in companies that produced relatively straightforward software...the problems we are dealign with don't require a tremendous talent or creativity. They require patience, attention to detail, communicating well with product, hard work, etc. I could even see how being extremely talented can work against you sometimes doing this work. So there's not so much value in being 150 IQ (or whatever measure of ability we want to use) imo doing what I do. Sure you will be faster and better but no, you won't produce like 10 people.
- seanmcdirmid 4y agoA lot of 10x programmers you can’t really work with. They go off and create something like Minecraft, the company gets started around that, and then sold for a billion dollars.
- esskay 4y agoI think the 10x programmer in the sense of them being a great developer, with good perception and able to be highly adaptable and fast does exist. The problem is they don't last long. Those kinds of people can do it for a few years, then burn out hard and become a 0.1x programmer for most of the rest of their career. Being a 10x developer isn't a good thing. You're going to be spreading yourself so thin and massively overworking. That never ends well.
- Ensorceled 4y agoI worked with a guy who was close to a 10x developer on my previous team and we hired him at another gig. Yeah ... he was pretty burned out. But the guy I mentioned initially ... he's still going strong 20 years later.
- lelanthran 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? The 10x programmer is both part myth and part reality. In a project that I initiated, created, delivered and then lead for years, I was literally 10x faster than the other people on the team. On a project that I joined 3m-6m earlier, I was the 1x developer. So yeah, you aren't going to make use of someone else's 10x developer unless their rate has been achieved in a field that uses your exact tech stack and in the exact same domain as you want, solving the same problems that their current domain needs solved. Since you can't make use of someone else's 10x developer, they may as well not exist as a 10x developer.
- bazoom42 4y agoIt just comes down to how people define “10x programmer”. Is it someone who is 10x more productive than the average programmer? Yeah this definitely exists. Is it somenone who will always be 10x more productive than the average in any given team, domain or codebase, from day 1? Of course not. Without defining the term more precisely, people can discuss this forever without getting anywhere.
- whstl 4y agoThat's a good observation, there's a lot of goalpost-moving in those discussions. I doubt Fabrice Bellard, Linus Torvalds or John Carmack would be able to come to my job and do 10-days worth of my work on their first day. Still doesn't make them 1x.