you soak up tons of time of other developers' mentoring time while never "learning how to fish". you can't figure out how to solve problems so you're always stuck. you choose the wrong path of investigation and waste weeks on the wrong line. you won't post your code for review until it's "ready" so no one's ever sure really how to help you or your progress. people complain about you to managers but nothing is done. you get good reviews. you earn as much as your colleagues.
I worked with person who told his/her manager that "they [mozilla] decreased stack size in firefox[0] and that's why app doesn't work because there was a lot of recursive calls under the hood cuz they used knockout.js or something like that"
the actual reason was some null or some other trivial thing
[0] I checked that later and they even increased it in last versions.
0.1 devs are actually fine, they don’t really exist unless they stare at YouTube for 36 hours each week. Usually when incompetent devs start to do something the result turns negative quite quickly.
Edit: Sorry my explanation wasn't complete. In my opinion, getting a 10x developer has more to do with the work environment than with the developer. Some companies or structures just don't allow you to be a 10x developer.
More like 200% more.
There's a lot of Europeans here in the Valley, but almost no Americans in Europe. There's a reason for that. There are also "dark matter devs" in Europe that are working remotely for SV companies, at SV salaries. They simply won't ever show up for interviews at local companies.
> In my opinion, getting a 10x developer has more to do with the work environment than with the developer.
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. Next summer they tried to get him back but he was already at a large search engine company down in the Bay. Of course, he wouldn't return. That's when they realized a whole class of engineers were completely invisible to them; they lucked out hiring him that summer but there was no chance they could attract someone like him full time.
I think there's a default engineer level and then 0.1 or the -10x :) The -10x will create complexity that cannot be undone.
This said an engineer is just an engineer. The problem is many coders are not engineers.
At my last job, I was part of a crack team of senior consultants spent months building a CRUD service that basically did nothing but passing data from incoming requests to another API, and then doing the same with the responses. Because the service was distributed, this was asynchronous, and state was persisted in a byzantine state machine. By God were all the buzzword dev-ops checkmarks green. The entire team spent most days navigating a maze of elaborate OpenAPI specs, trying to make sense of nebulous kubernetes failure states, and debugging spontaneously self-breaking Jenkins pipelines that took a full hour to run each time regardless of fail or success. Hours were spent documenting the work, multiple daily standups, updating Jiras with elaborate definitions of done, time reporting in multiple tracking systems. It could take a full week of this stuff to bring a trivial code change into production. That was at most 0.1x development. I spent a lot of time browsing the internet because I literally couldn't affect the speed of the work, I was always waiting for some process somewhere to decide to finish so I could repeat the cycle.
Note: Many of these things are necessary sometimes in larger projects. This was not a large project, but it was run as though it was, leading to a development workload that was almost entirely process overhead.
In my spare time, I developed an internet search engine, and quite literally was 100x more productive than I was in my dayjob because I had none of that bullshit in the way.
That's one way of running a tech company but what you'll end up with is going to look more like one of those comically bad bodyshops that's used for outsourcing. These have a turnover so high it's almost impossible to find someone with more than two years of experience. And, well, the results speak for themselves.
Truth is, the 10x will eventually leave when someone from his circle points out he has a much better comp package than him and lure him for an interview (and will, of course, cash that 10K referral bonus). But the 1x and 0.1x will sure stick around for many years.
Theres no reward for being 10x at 99% of companies. If youre that good, start your own company.
To a person, none of them wanted to start their own company. In my experience, they want to come to work, write great code, go home at 5pm and collect a paycheck.
With that said, there are plenty of entrepreneurs and technical co-founders who think they're 10X developers. That's how you end up with large legacy Ruby codebases (I kid, I kid)
TLDR: Don't get stuck at "0.1x". Do leetcode and switch while you get competitive salary.
In a new company you are usually 1x for the first year. You might be a 10x for a while after the first year then some thing changes like a project move or disagreement with technical decisions/manager/raise then you become 1x and then 0.1x. This is a dangerous time. Better switch. If you don't in the next appraisal cycle you will get compensation below you skill level and then its hard to get your compensation back.
I've been a 10x, 1x and 0.1x developer. Let me tell you: most business or managers have a hard time distinguishing between all of them.
- 10x: You're smart, knowledgeable and passionate. You love going to the office and create code. Love the team and are moving forward every day. You're doing meaningful work. Managers love your work. You get excellent reviews. You earn as much as your colleagues.
- 1x: You do your job to get money. There's a lot of business shit, stupid decisions all around you. Dispite that, you try your best to do your job. You sometimes complain to managers, they claim they can't do much. You get good reviews. You earn as much as your colleagues.
- 0.1x: You spend your days wasting time on the internet (Hi there, welcome to HN! :D). Some days you do nothing, some days you spend 15 minutes fixing a bug. You find excuses of things you are stuck at. Managers give you good reviews. You start questioning when you get good reviews, what the fuck your other colleagues are doing? Are they also goofing off all the time? Probably. You earn as much as your colleagues.