10X developers exist, and its painful for existing senior software engineers to welcome one on the team. They are also much rarer than people want to admit, and don't write software the way a "good senior engineer" does.
10x engineers definitely exist. There are 10x basketball players, 10x boxers, 10x guitarists. Why would there not be 10x programmers?
Further, if programming skill follows a normal distribution, the 10x programmer bucket is under 1% of the population. You, dear reader, are probably not a 10x programmer.
The true 10x programmers will not have 10x productivity in most giant tech companies. Google and friends have put in place mountains of progress in pursuit of downside protection (eg extensive testing, release barriers, and so on). Google invented Golang partly to address issues with mid level programmers being unable to code well.
These downside protections also blunt any benefit a 10x programmer could have, which is why so many people claim to have never seen them.
Maybe, just maybe, you are already a 5x runner. I certainly can't run any appreciable distance (which I am assuming here as running for just a few seconds isn't interesting) at speeds anywhere close to that... I am the running equivalent of the 0.1x programmer who is super excited by their Excel spreadsheet ;P.
This comparison is not good at all since you're only considering one metric, maybe he's a 10x runner because he has better technique, recovers faster, gets less tired, etc.
It's like comparing developers by how fast they can type.
Yes, this is why I thought the idea of "of course there are 10x developers because there are 10x [other categories]" was not a very useful statement. There are many dimensions to this assertion. In what way is a 10x developer 10x? And furthermore, could it be that there is one single dimension of a certain workflow in which a developer judged not to be 10x is simply fumbling in the dark, only able to work by random trial and error, while the 10x developer has a clear view of? Take two developers with equal aptitude with creating efficient algorithms, fluency in a certain language, facility with dev tools used in that role, etc, but one has no clue about networking concepts. Given a task that involves networking, one may well appear to be 10x the developer, when in fact their actually just an infinitely superior network administrator.
"A 100 mile run can take just 12 hours for the most elite runners and as long as 48 hours for the back of the pack racers. There are so many factors that can vary finishing times."
> Further, if programming skill follows a normal distribution, the 10x programmer bucket is under 1% of the population.
How does that follow? If someone on the 50th percentile takes X to do a job, someone on the 99th percentile might well take 49 hours. Someone who takes 5 hours to do the same job might be in the 0.0000001%, or not exist at all, or be in the 51st percentile.
Mind elaborating on this? This is a fresh take for me. Are you saying a 10x dev writes code optimized for their own velocity, at the expense of accessibility/teamwork?
I consider myself above average and a key distinction is not wanting to build complexity. Microservices, k8s, fancy languages, or integration into things like Dynamica CRM are all generally mistakes unless you have a very good reason for doing so.
I also spent a lot of time optimising my workflow, which leverages build/test on change and large volumes of automations. Unit tests are also key.
I've had people on my team with these views and often their expectations need to be re-calibrated. They want to spend their time rewriting the codebase their way instead of being actually productive.
Those people are not 10x engineers, despite them sometimes thinking they are.
I think that re-engineering code based needs to be a calculated decisions, but i also think that there’s a large amount of resume driven development too.
There are places where there’s a need for k8s and similar, but largely that’s when you’re at google level scale. For the rest of us plebs, maybe leveraging simpler paas solutions or traditional mechanisms are more effective.
Except CRM. If you’re building in CRM you’re just making a mess, no matter what the rationale is.
Yes. Complexity is the root cause of many systemic issues in many projects I see. I see probably 2-3 medium applications every month. Either things are totally engineered or under-engineered (e.g., traditional php/aspx applications).
Anyone can be a 10x engineer, if you don't write any specs or go through planning, ignore architecture/deployment/monitoring best practices. And uses a language / framework/ tech stack that only they are familiar with.
Of course you'll royally screw over the rest of the company/team that has to productionalize, maintain your code + spaghetti of services after you leave.
That doesn't sound like a 10x developer at all, sounds like a bad developer that prioritizes dumping code, 10x developer would write docs, spend time planning the architecture and removing complexity from systems.
In my experience those who implement before process leave out important cross team requirements and/or blow their political capital right away. Or they spend their time doing things like unsolicited refactors or migrations or rearchitecting. They're forgiven for a project or two but eventually people get tired of it because it's not sustatinable.
Those are not 10x engineers.
Real 10x engineers know how to deal with politics and process on top of the actual engineering. Those are rare but absolutely amazing to work with.