Forget 10x Developer – Become Full X Developer
maxpower.substack.com
maxpower.substack.com
I was skeptical too before it happened, but after meeting and working with that person I was convinced.
My honest advice is simply to pay more if you want to attract them; These guys don't jump ship frequently and are often off the radar for extended periods of time (hints, they are getting internally promoted pretty fast). Especially now with remote being more socially acceptable it's pretty much the time to hire before these guys get locked-in with a vesting schedule.
I think Full X developer has exactly the same work-path TBH. If a person knows (and I mean really knows) front-end, back-end, databases, devops and has some people skills he will be promoted crazy fast.
Don't think that folks will also argue that Jeff Dean, Fabrice Bellard, John Carmack, Linus, Dennis Ritchie, Jamie Zawinksi, Brian Kernighan, Ken Thompson, Bill Joy, Donald Knuth, Dan Berstein, Brad Fitzpatrick, Doug Cutting, Rob Pike, Joe Armstrong are 20x programmers.
Yet 10x and most people get upset, and you're very correct because they haven't met those. I have met one, and it wasn't about pay, they worked in an average non tech city, they got paid average salary. They loved the work tho, and cranked out almost as much work as everyone else in a department of around 15 folks.
Personally, I have seen the Pareto principle play out in many a software project to be sure that these mythical 10x engineers are, in fact, very much real.
Skepticism is usually mind's main working mode of those that most of the time working in logical things. Most engineers are in this group. They whitelist good incoming informations, not blacklist bad informations.
Such a person, if they previously understand thee fact-sets A,B,C will be alerted unconsciously when fact-set D is introduced and it coincidentally contradict (not contrary) A. (Both A and B are set of facts)
"10Xs don't exist because among 1000 people I work with I haven't encountered 10x" where their own 10x definition itself may be muddled.
Such an alert is normal in skeptic mode, and lingering in the skeptic mode for too long might trigger that alert in subconscious, creating a feeling "This new information is false, I know it, but I can't trace how"
While it is counter-productive, we can't blame them to be skeptical subconsciously. Because it is human.
It is most important to constantly challenge one's subconscious, to put feelings under scrutiny to see if it's valid under current circumstances or not.
I point to the pareto distribution to reaffirm it. I've seen some workers that fly through tasks (construction tasks, programming, managerial, etc) and they hold the wind to the sails. But depending on a situation, 10x doesn't remain for indefinite amount of time in a majority cases (maybe pareto is a fractal of some time or it's recursive?).
If one has ever seen the 1950s video of someone putting up drywall [1], I'd put that worker in the 10x category (I worked construction for a while, few workers even today could keep up with this man from the 1950s).
The "10xDev" is one that's 10 times more effective than the least effective developer; NOT 10x the average dev nor 10x the median dev.
The 10x is the absolute best versus the absolute worst.
It's not the good vs the bad.
Honestly there's no surprise here. What field doesn't have such a major difference between the most talented vs the least talented? The discussion is overblown.
From Peopleware:
"Count on the best people outperforming the worst by about 10:1"
"Count on the best performer being about 2.5 times better than the median performer"
"Count on the half that are better-than-median performers out-doing the other half by more than 2:1"
Most "10x dev" articles should really be using "2.5x" if they're comparing the best with the median. Again, a 2.5x difference between the good and the bad is again, not surprising.
It's also worth noting that the study Peopleware uses is from 1985 and sampled about 600 devs. The amount of pixels spilled over this basically ancient software study is honestly hilarious.
What about people who have negative effectiveness?
If it were typical to interpret "10X developer" that way, a new extremely unproductive developer would instantly make everyone else on the team 10X developers. (Personally, I've always considered it "10X the median developers productivity".)
I did consider mentioning average or median, but of one self over different times rather than comparing different people.
As others mentioned, 10x is symbolic not to be taken literally, and I have not done a study to feel comfortable with the number 2.5x (as I said, I personally don't agree with this number)
btw, I'm looking up that study. do you mean "Peopleware - Productive Projects and Teams"?
I'm pretty sure that very few have this definition of the term.
So, problems with those studies which would imply that the difference is bigger in the real world:
1. Filtering means that the population was more homogeneous than real world populations.
2. Talent matters more the larger project you work on as a very big part of being fast is designing good abstractions to simplify the problem.
3. Not counting people who didn't complete the project means that we remove the long tail of worst developers. If you do include the worst developers productivity which was 0 then it isn't 10x, it is infinite x.
Imagine accidentally hiring someone who cannot program. Does that mean the entire team is suddenly 10x people?
You're analyzing "10x" with math because you're being too literal. I've commented before that it's just a rhetorical label that rolls off the tongue easily: https://news.ycombinator.com/item?id=13753178
And if you still can't make peace with "10x", it still doesn't change the fact that people want to label/categorize the amazing programmers like Linus Torvalds, Fabrice Bellard, etc. -- that set themselves apart from average: https://news.ycombinator.com/item?id=24753594
> It doesn't matter what the label is; any label that attempts to stratify programmers is a "myth".
I can agree with this, but the thing is this is true regarding anything nowadays, whatever you say someone, somewhere will find displeasing. the "10x" label however, to my argument, is "10x" worse than other labels such as "star". perhaps you don't take this phrase too literally, but it does sort of "quantify" in people's mind the concept of 1000% productivity, which can be interpreted as unattainable.
my goal is to let people accept their mortality - there is some output you can produce which is optimal, 100% or so. it is much more rational to think your output is 10% and you can progress from there. at least in my mind, it is discouraging to say "your 100% is still not nearly enough"
I guess the point is - rhetoric speak matters.
p.s. I just love sigma-3 programmer. can I get to sigma-5? ;)
the multiplier is much higher if you're on the project from the beginning: you have more choices, more history, your code
some factors that can lower the multiplier: - working with other people's code - working "in the middle" of the problem - more abstract - sometimes unclear what people will do with your code, sometimes unclear what layers below you are doing.
sometimes it can become a divisor when: - unmaintained old old code - more obscure languages or hardware - unclear problems or direction
10x developers are about efficiency, in that they are able to produces code that has effects that is vastly more impactful than the organization average, and at the same time, these activities are done in equal amount of time as others.
If someone has a long history on a project, by definition, he/she can only achieve 10x because of others were effectively handicaped. That's the point in case from the article: 10x dev in this context should be the one who either built a system is so simple that newcomers easily onboard and contributed as good as anyone can be; or he has done a great job of organize the code base, docs, and organization structure, in such a way that newcomers can quickly get grasp of the parts that they are working on; and can quickly get the information needed when new work assignments coming in.
For my version, your version is seen as a facade, an euphoria exaggerated because of the basic human instinct to grandiose things beyond their true impact.
If you look at any so called best engineer, their output is seldom much better than an average one, under close examination. Far from the claim of 10X. But none the less such individuals eventually garnered the title. Why? Because the impact of their invention were attributed to them far later than their original timing and more works by the normal human beings were simply ignored. We see this everyday, like Elon was touted as the real world iron man, where at the same time, he didn't even founded Tesla. How about the original Tesla founders? Even the original founders were exaggerated far beyond their own contribution anyway...
If you just argue that people who created technical debt that only they can work with are often misattributed as 10x programmers then basically everyone agrees with you, but that wasn't really the point you responded to.
I disagree. Under close examination, the best engineers contribute a greater multiple than is apparent at a superficial analysis (and the best engineers under close examination may not even be the same ones as stand out under superficial examination.)
The superficial “best” contributions tends to measured by the reciprocal of time to complete a task of a given complexity to team standards.
But a lot of the best engineers contributions will be in unsticking (or preventing) other engineers impediments, contributing to process improvement, design critique that avoids the team taking long walks down paths that need to be undone later, and otherwise improving velocity on tasks that other people are doing concurrently or down the road from their action.
I see developers adding high value features to the Apache Spark codebase that's used by hundreds of thousands of people. The top Apache Spark Stackoverflow question responder has hundreds of thousands of points (their answers are always the best).
Some folks build libraries that get thousands of downloads a day.
There are even popularity gauges that can be used for internal projects. Who is building the code that everyone is using and who is building stuff that gets thrown out.
This article also makes the fallacy of equating productivity with working hours. Working hours + productivity are correlated (top Spark devs seem to work constantly), but I also see people that work really hard and can't get traction for any of their open source / internal projects.
The power law is at play in software. A relatively small number of developers write the code that gets used the most. Yea, that might not be true for a given web app, but it's definitely the case for software overall.
Yes, but there is another law: if X doesn't write a certain library with basic functionality, then Y will.
So your law translates to: we all use the same libraries for our basic needs. The question is, does it mean anything?
You are referring popularity, which sure is part of the sum output of you as a person, but this article is meant to reference purely development productivity. Marketing or whatever is beyond scope. Maybe next post!
(popularity gauge != productivity gauge)
But even to the point of the post, this seems to imply that some developers are not as productive as others because they eat, sleep, and play xbox. You just have to stop doing this and you’d be super productive!
This seems very silly and dangerous idea. A person can only spend a few hours a day doing “hard thinking”. Striving to always be maximally productive, day after day, will only lead to burnout.
It’s not about mathematical equations or lines of code or some superficial numerical value. Although, side effects of such developers can result in some numerical improvements.
It’s about impact in the project and development team. Being effective and productive in the field.
Techlead has a humorous, and mostly correct take on 10X engineer.
X1. Resource constraints : office and home all windows and most times chrome kills.
X2. Analysis killer : To analyse either run a query or batch job. It takes ridiculous amount of time
X3. Sequencing mess up : Due to priority order of planned events in workday change which leads to frustration
X4. Meetings you attend inplace of others.
X5. Adhoc request or query you need to attend now.
Most the time be prepared to be 10x and one day when you get a chance and everything aligns. Go play...
But I've met 2x developers, where "x" is your average corporate code monkey such as me in my current role or my teammates, whose children/spouses don't seem to be at peace with the concept of their family member working from home.
I know three people who at the moment are working two jobs. What they have in common is the uncanny ability to squeeze out 8h of focused work a day.
I've measured my ability in this regard and best I can do is 4h of taking orders from other people on a given day. It appears to be enough to maintain employment for now.
Can you explain why, and what you would do differently?
btw, the most productive engineers I've met were parents. it's not a prerequisite, but it is a force that drives you to become much more organized and efficient. (or perish)
Especially since 10x engineers never get 10x compensation. In my experience your compensation is very loosely — if at all — correlated with your productivity. You are better off just switching jobs every 1-2 years and putting in 0.1x effort if you are optimizing for compensation.
It's like the quotation "Life is like a box of chocolates, you never know what you're gonna get." Yeah I already knew life is random, comparing it to another random thing only makes the quotation seem insightful when in reality nothing substantial was actually said.
HN is loaded with variations of programming/management metaphors.
Forest Gump said that quote. He's referring to these box's of chocolates where each candy contains some filling that's pretty much unknown until you eat it.
Maybe this is a result of greater allergy awareness and wasn't true of the ... 80s? which kind of makes it a different simile...
Forest Gump came out in the mid 90s.
https://mmmaladdin.blogg.se/images/2011/2006_aladdin2_161188...
And they have had it for a really long time, here is old version of the same box:
https://cdn3.cdnme.se/cdn/8-1/3120698/images/2012/aladdin_80...
Why would you sell candy without telling people whats inside them? Most people don't like all fillings.
Why don't all countries use metric? Not everything in this universe needs to follow a perfectly logical explanation.
As for the pictures, I can say the most famous brand people are most familiar with where I'm from is sees candy chocolate boxes. I've never seen Kraft candy, that company is mostly known for cheese. If sees candy did label their candies I've never seen it and therefore it must not have been very evident.
Regardless what you think, the quote exists because most people usually don't know what they're eating when they put these candies in their mouths. See here for the quote: https://youtu.be/egkrxkiUnoo?t=43
If you squint you'll see that's a Sees candy box.