The only real incentive to become a 10x developer, at least for me, is to use my time for other things. Otherwise, stepping outside the mold just upsets people in the corporate world.
The only real incentive to become a 10x developer, at least for me, is to use my time for other things. Otherwise, stepping outside the mold just upsets people in the corporate world.
This is the crux of the problem for me. How many of us are literally not allowed to work on stuff not on the backlog, which is usually driven by product people. We only deal with the product roadmap and other issues (technical debt, inefficiency, security issues, etc) don’t get resolved unless it somehow impacts the product. If you’re very lucky, you’ll have an actual technical CTO who has the power to say no and allow the developers to remediate issues (one CTO I worked with had to spend enormous political capital to get a single sprint dedicated to upgrading to Java 8 so that the developers could benefit from lambdas - something that for our code base literally cut development time in half due to the way we ingest and process very dynamic ingested data).
There must be some law of software engineering that all engineering teams eventually become run like assembly lines where management disallows ground-up thinking.
One place I worked finally only implemented a proper security program when a potential customer demanded it, and it was ultimately implemented as a checkmark-based solution to meet the terms of the contract. This meant burning CVE’s more than writing secure code.
This was frustrating as management at the time decided microservices were what we needed, but then resulted in a distributed monolith because they weren’t allowed to spend the time on architecture work, tooling to secure communication between services, or even have proper distributed tracing.
Its a law of incentives.
At some point protecting the existing processes is more important than growing, which implies disruption.
At that point all the things mentioned above start
Talk about "10X performers" reminds me of the saying "It’s a marathon, not a race." Most people recognize Usain Bolt, but how many people have heard of Eliud Kipchoge?
In our field, the "Usains"—the flashy 10X performers—are hailed as heroes. If you are a "Kipchoge", quietly focusing on a sustainable career, you will probably fly under the radar.
Rather "it's a crawl, not a marathon".
Also, I think the most value a programmer provide is as a maintainer.
I blame feature factories led by agile clergy for the perceived drop in commercial software quality in the last 10-15 years. There is no place for maintainance.
This is a weird take. The most basic principle of agile is that you start with a tiny kernel of software that does something useful, and then iterate on it. In effect, all agile software development is maintenance.
Its not like they are going to get paid 10x more for over achieving. There is nothing flashy to this. Instead they will be reassigned to other people's problems on top of their own work. So, its best to just keep it to themselves and over achieve as necessary to do less work, because they will get paid the same either way.
That's not exactly true. What upsets people in the corporate world is telling others that their creative ideas enshrined as a Corporate Policy are wrong and asking to do it the other way.
What doesn't upset people in the corporate world is finding a way to further said Policy while at the same time getting yourself a license to some creativity in the ways to implement it.
So, you end up with these colossal frameworks, yes that's plural. The developers like to pat themselves on the back for their supreme challenge of conquering the beast to... put text on screen. It's stupid, but it a way it's self-validating because these frameworks are just massive. They provide an API more than 10x larger the standards they replace so that developers don't have to form original opinions or build things.
When I say stepping outside the mold I mean not doing any of that stupid shit. As a result of avoiding the stupid I can release products that are possibly 1000x faster to execute, more accessible, dramatically faster to maintain, and so on. One developer that actually knows what they are doing can easily replace an entire development team. If that one developer that knows what they are doing always knows how to implement test automation they can reduce expenses associated by regression around 95-98%. But when you do any of that you have immediately invalidated the existence and imposter nonsense of the other developers like popping a balloon. The natural response is hostility.
Fortunately I was able to switch careers and go do something else.
It'd be nice to hear from the counter example here, the 10x developers in meritocratic nests. Mostly so we know where they are.
The second thing is that I never said no to more money. It's a job, your boss and colleagues are people who work with you. Occasionally they can become friends but not automatically and not most of the time.
Primary skill is somewhere around understanding politics and grokking how to please the person evaluating / promoting you. If its about rating from others then same applies to them. Rarely is that directly relevant to quality of engineering output itself.
This goes often very directly against innate desire of engineers to do some good creative work so we often struggle to get appreciated, but that's how it is. That's why various degree of sociopathy present naturally helps with above and smart sociopaths comfortably inhibit higher levels of management of such places. I don't use that term as an insult just to be clear, rather personality trait that is not binary but very much endless tones of grey.
Triple above if IT is just a cost center to given corporation.