4 ms·
Do you guys work on the same industry as me? There's easily a 10x difference between the best guy on the team and the worst guy who's about to be on the perform
by eloff 4y ago
Do you guys work on the same industry as me? There's easily a 10x difference between the best guy on the team and the worst guy who's about to be on the performance plan. It's a real thing. A lot of programmers really suck. I interview them and wonder why they're in this industry to begin with. I'm easily 10x those guys, they struggle with for loops. Then there are some superstars like Evan Wallace who created esbuild, churning out some 50k lines of code in a year, while working full time as CTO of Figma. He's 10x me. So there's more than a factor of 100x there without getting into the really important part. Solving the right problem. That's really hard, and after twenty years I'm still trying to get a handle on it.
It's more than 100x really, because of you took one of those guys who can't grok for loops and asked him to create esbuild, they will never be able to do it.
There's a lot of leverage in software engineering, and a lot of room for difference between people.
- nerdponx 4y agoSo you're 1x, Evan Wallace is 10x, and the pour souls in question are 0.1x.
- voxelghost 4y agoIt's almost as if we were all on some sort of spectrum.
- sublinear 4y agoIt's almost as if "productivity" is subjective. I've met plenty of devs who are better at relieving technical debt than fulfilling business requirements. Who is measuring the productivity?
- trashtester 4y ago> It's almost as if "productivity" is subjective. "Productivity" could be defined as the value (typically monetary value) that the value of the company is generating (before salaries) based on the contribution of that resource(engineer in this case), per unit time. Future income should be calculated using a present-day-value approach. The productivity of a single engineer could be defined as the reduction in company value generation from removing that person from the company (assuming the company is large enough to have multiple people available in each role). Rank order this, and you can define the 10x as those whose removal would cost the company (before salaries) >10x more than the removal of the median contributor. Note that this definition is based on productivity within a given company. A single person could be a 10x engineer in one company, and a 1x engineer in another. Some companies require engineers with very deep understanding of compter science, maths, statistics or physics. Others benefit from engineers that are domain experts within their business domain, and yet again other companies may primarily need engineers who understand and can work with people of all backgrounds.
- eloff 4y agoIt's all relative
- zarzavat 4y agoThat’s not what 10x means to me. It means 10x the median productivity, i.e. 10x a competent programmer. I don’t think anybody can dispute that 10x programmers exist, Bellard, DJB and Carmack being uncontroversial examples. What’s controversial is the distribution. Are 10x programmers bound to become famous through their outsized contributions, such that their number is very few? Or are there a large enough number of 10x programmers working in obscurity such that you might have one on your team?
- carlmr 4y ago>10x the median productivity, i.e. 10x a competent programmer. You assume the median is competent.
- dvh 4y agoYou don't ask 10x programmer to do 10x more forms or 10x more report generators than median programmer. You ask them to do the hardest things that your median programmers wouldn't be able to do. You all them to do the switch to new framework, you ask to conceptually change the way you make those forms and reports and save 10x or 100x more time in 6 months.
- trashtester 4y ago> That’s not what 10x means to me. It means 10x the median productivity, i.e. 10x a competent programmer. There are quite a few engineers/devs out there that produces negative net value, when taking into account management overhead and other resources consumed (even when ignoring their salary). Some of these are just in the wrong place, they don't have the talent, skills or motivation to work well with their team, and but might be "competent" in another team. Even at the median level, output may often lack creativity and inspiration, and add relative little value. The functions they do may be easy to oursource, replace by standardized software or could be built by better developers much more quickly and with higher quality. I think in most companies who do software development, at least half of net value is generated by the top 5-10% or so developers. (Making them 10x engineers compared to the median). These are the ones that drive new ideas and approaches successfully (instead of chasing cargo cults for no benefit), they are the one that write the code that other developers imitate and build on top of, and they are the ones that contribute to team engagement and cooperation. (Or at least 2/3 above.) As for the number being 10x the average developer, that's much lower, since the top 10% pulls the average up quite far from the median. I would guess 0.1%-1% is 10x the average, depending on company. These would be the ones that are able to identify and solve problems others are not even aware exist (or have given up on), the ones that understand the business they're in better than most product managers, and actively drive development of killer apps/features that others didn't even consider. Often they're entrepeneurs or leaders as much as developers.
- strken 4y agoThe problem is that it's reductionist. A CTO's productivity on a side project could be enabled by good on-call engineers, a CEO and board who don't demand 80 hours a week of work, a home situation that's stable and supportive, or a lot of other things. Transfer Evan Wallace to a company that doesn't fit him, give him some really dumb KPIs, and his productivity would drop (briefly, until he quit). Fix the personal and professional environment of the employee who can't do for loops and their productivity might rise. The idea of a 0.1x developer, 1x developer, and 10x developer sitting frozen in amber beside each other, ungrowing and unchanging, never responding to their work environment, always at fault or worthy of praise for any differences in personal productivity, is ridiculous.
- eloff 4y agoYou're building up a strawman and then knocking out down. Obviously people perform differently depending on what things they have to overcome, and people also have good and bad days. For the purposes of my argument, it didn't matter why differences exist, it just matters that there are differences.
- strken 4y agoMy problem with the label is twofold: it blames individuals for systemic problems, and it suggests 10x is some immutable trait. You said that there's a 10x difference between the best and worst member of your team, in response to a post saying that the concept of 10x developers is hard to take seriously. I assumed this meant you thought calling the best member a 10x developer was a good idea, which is what I disagree with. Are you saying that calling people 10x developers is not a good idea, but there's still a 10x or greater difference between the productivity of the highest performers and lowest performers within a single team when observed over a couple of years? I agree, but that argument's a very strange one in the context of the post it was responding to.
- throwawaylinux 4y agoThere are infinite-x programmers and engineers. There are people who can attack new problems or develop completely novel solutions, and those who are capable of solving problems that that might not technically be new, but they require deep knowledge of several disciplines. And there are people who are simply incapable of doing those things. They might be adequate programmers, able to work productively on existing projects and variations of solved problems, fine tune them, solve difficult bugs, make them work real nice. But it's not the same thing, and it's easy to see when you have worked with the former types.
- trashtester 4y agoInfinite value is not possible, so infinite x is only possible when comparing such engineers to someone who produces <=0 value. And compared to those, every engineers that produce >0 value is an infinite-x, making this quite trivial.
- throwawaylinux 4y agoYes it is absolutely possible, for particular problems. There are problems where the average or even majority of engineers would create exactly zero value over time.
- trashtester 4y ago> Yes it is absolutely possible, for particular problems. When I said infinite is impossible, I meant in absolute terms, not relative to somebody else. n-x-engineer means that: productivity_of_n-x_engineer / productivity_of_reference_engineer >= n (assuming the reference isn't negative) etc So, I'm arguing that the numerator cannot be infinite, so if n is infinite, the denominator has to be 0. In that case _everyone_ with positive productivity would be infinite-x, making the term kind of trivial. I'm not arguing that such a situation cannot occur for some role, it can certainly happen that a company fills 50% of more of engineering positions with completely unproductive people. And if, as you seem to do, measure this per problem, not per employee, it is really common. There are a lot of technical problems that only a small percentage of engineers can solve. Even then, though, even less gifted engineers may find some other technical solution that addresses the same business problem well enough to provide more than zero productivity. Sorry if this wasn't obvious....
- schnitzelstoat 4y agoIs this real? I mean I work in Data Science and do quite a lot of programming but I'd assumed my abilities would be far below that of any Software Engineer. I can't believe anyone would get hired who couldn't do fizzbuzz etc.
- Jensson 4y agoThe worst programmers mostly work in very low paying jobs. You wont find that many of them in higher paying jobs since they are so easy to weed out in interviews, only desperate companies hires them.
- Cthulhu_ 4y agoUnfortunately, yes; there's a lot of companies - "enterprise" - that will hire a contractor which intends to make as much money as they can. They'll send a couple decent engineers, impress the client, they will ask for more, and they'll start filtering in more and more mediocre or outright bad developers, whose lacking skill is compensated for by the good ones. But I'm 99% sure the enterprises are aware of this. They want the good developers, but realize they have to deal with bad ones too, and are willing to pay the cost and accept the risk it brings. I mean outside of that it's fairly normal that a team will have a healthy mix of seniors (who do the meetings) and juniors (who do the work), but you'd still expect a baseline of quality and a technical interview there.