7 ms·
The reason for pushback on the idea 10x programmers isn't the real gradient of skill, it's the labor aspect. Lots of companies want to hire 10x without paying 1
by awkward 9y ago
The reason for pushback on the idea 10x programmers isn't the real gradient of skill, it's the labor aspect. Lots of companies want to hire 10x without paying 10x dollars, and they've figured out that blowing smoke up the ass of young people (though it works better on young men than women) is a way to squeeze blood from that stone.
Especially if you're working in a small company, you're going to hit a point when there is a massive wall of work to be done, bigger than you would ever be able to handle alone, and your organization will fail if you don't do it. The skills you need to actually handle that situation are going to be more in the vein of basic professionalism than technical talent. Better programmers might need a bigger wall before things get rough, but they will still hit it.
The reason for criticizing the 10x idea isn't that it doesn't exist, the reason is because feeds into myths that might end up being harmful far beyond the actionable decisions it lets you make.
- nojvek 9y agoIn addition not being able to measure 10x just makes things hairy. Am I a 10x, probably if you ask me to pump a couple of CRUD pages. Am I a 10x in adding features to a compiler. Probably not. If a business hires me thinking I am a 10x-er they have high hopes that I can't satisfy for their dimension of X. There are good programmers, great programmers and dangerous programmers. But that's all relative to what work needs to be done.
- sqeaky 9y agoAt first I read this like a brag, but then I realized you meant that your skills lie in one place and not another. So perhaps it is like this for many. Maybe many under-performing devs are simply not in an area engaging to them, but they are doing something to get their bills paid. If so how do we address such a problem?
- DougWebb 9y agoIf you're capable of both pumping out CRUD pages and adding features to a compiler, then you may be a 10x developer. I consider myself to be a 10x developer, but I'm not 10x all of the time for all tasks. Things that set me apart are the quality of my code vs other developer's code for a given amount of development time, the higher probability of my code being bug-free or nearly so before I've even run it, my skill at tackling extensive refactoring tasks with zero change in code behavior without needing to write and constantly run tests, etc. These skills all come from long-term experience, wide variety, and a fearlessness and belief that no development task is beyond my capability. If you look at athletes, you'll see some that are really good at one particular sport, some that are naturals at pretty much anything they try, some that enjoy sports but aren't particularly good at it, and some (like me) that are so non-athletic that it's embarrassing. I think development skills are like that too. We can't really identify what '10x' means, because it depends on context and isn't tied to specific skills or behaviors.
- metaphorm 9y agoyou realize that the tests are primarily for other developers (on your team, in the future) and not yourself, right?
- DougWebb 9y agoThat's highly dependent on the team, the code, and the tests. For my work, most of the time, comments in the well-structured code are much more likely to still be useful and valid to me and my team over time than a test suite that won't get maintained. In the past six years, I only worked on one project that justified an extensive test suite. It was a scheduling system for a large machine shop, which allocated multi-step manufacturing tasks across a suite of metal-working machines for dozens of concurrent jobs, while taking into account available machinists, working hours, breaks, vacations, and scheduled maintenance downtimes for each machine. Testing the algorithms for that required setting up a variety of consistent starting conditions, running the scheduler, injecting changes to existing jobs and inserting new jobs at certain times, and making sure that the resulting scheduling decisions were acceptable to the experts who'd been doing the schedules manually and to the machinists.
- ozim 9y agoGets even more funny when you add team dynamics, in one team you can be 10x programmer if people are decent. When you are in a team with maybe not better guys than you so they don't have to be really 10x you and you just feel bad, you might not pump even 1x off yourself.
- Bartweiss 9y ago> you're going to hit a point when there is a massive wall of work to be done, bigger than you would ever be able to handle alone This is my core complaint. All software development is (eventually) rate-limited somewhere other than developer brilliance. Most business software hits this limit fast. A huge portion of business software is stuff you can't solve with brilliance - tasks from integrating with other companies to building out simple new features happen at the speed of spec development, email responses, or other non-development limits. If the 10x myth makes employers expect 10x productivity from certain devs, or even 5x, it's badly misleading them. Not always, there are compiler companies and ML firms and whatever else that need brilliance, but I think most companies that advertiser for 10x developers are usually limited by forces 10x development can't help with.
- iamacynic 9y agodocumentation and customer support can really hurt a young product organization, and these are not solved by brilliance, but rather diligence and patience.
- Nomentatus 9y agoBut it's also true that a good design can reduce documentation needs (and documentation/code fragility) by a startling amount - not to mention stop floods of customer support calls before they start. It's certainly true that not every job is a design or analyst job; but you'd better not be wrong about when you need a design task done, and the 1x programmer (or boss) can't make that judgement call for you.
- mcguire 9y agoTrue, but even the most mundane environment has a lot of problems that are better solved by making things simpler rather than managing the complexity better.
- crdoconnor 9y agoA lot of "developer brilliance" is simply avoiding the inevitable slowdown that happens when projects mire themselves in technical debt. I've worked on plenty of projects where two smart developers would have massively outperformed the 10-12 mediocre and highly risk-averse developers working on the shitty (gradually getting shittier) code base over a period of 6 months. For greenfield I don't think 10x productivity is likely though. If you're testing an idea you might throw away, cheap and cheerful will do.
- lukewrites 9y ago> The skills you need to actually handle that situation are going to be more in the vein of basic professionalism than technical talent. What a wonderful observation. This is true in fields other than software development, too.
- psyc 9y agohttps://en.wikipedia.org/wiki/Appeal_to_consequences https://en.wikipedia.org/wiki/Appeal_to_consequences
- redblacktree 9y agoThis comment would be a lot more useful if you elucidated how you believe the parent poster committed this fallacy.
- psyc 9y agoThe comment that I did make is pretty useful. Why can't you be satisfied with it?
- redblacktree 9y agoIt wasn't at all clear to me how the poster has committed this fallacy. For me, your comment was next-to-useless.
- psyc 9y agoPoster didn't commit it. They talked about it. Not my job to spell everything out for everyone and serve it on a platter, garnished to your liking.
- BoiledCabbage 9y agoThe 10x programmer idea really is a overall negative influence on our industry. Yes they exist, and acknowledging that is the only benefit that came from it. All of the negatives are: You get significant Lake Wobegon, and a ton of people think they are 10x that aren't (including a significant portion of people on this very website). People attempt to measure their 10xness in comparison to the worst engineer they know or work with (which is really likely comparing a 2x engineer to a 0.2 engineer). We have no way of evaluating it. No good way of hiring for it. The majority of actual 10x engineers don't get paid like it (they're just known as that really good engineer on the team / company). People spend time writing about it, and reading about it to no real benefit. It really is the ultimate programmer insecurity. If Cosmo made a magazine for programmers it would likely be their splashy headline every other week. The reason I mention it, is that it's wasted effort even thinking about it. If you're an engineer, figure out what you can do to improve your skills. Some things are flashy, some things are mundane. If you're hiring engineers, figure out what you can do to improve your hiring accuracy. I posit (with no proof) that nothing useful has come from the 10x programmer discussions beyond the 6 months following its introduction. 1. https://en.wikipedia.org/wiki/Lake_Wobegon https://en.wikipedia.org/wiki/Lake_Wobegon
- smithsmith 9y agoI concur. This concept is just annoying to the employer as high wage should be paid, when all the developer are almost the same.
- watwut 9y agoImo, the biggest multiplier is good management. The 10x developer existing means that the field is not really competitive yet and/or there is mismatch between who is trying to work there and what the actual needed aptitude is. Well managed company should facilitter knowledge transfer between people and competitive field should have large enough supply of people (unless the hiring process sux for some reason).
- grigjd3 9y agoI know programmers who write ten times the code with a hundred times the bugs, no testing and fundamentally broken structure...