17 ms·
I've worked with many developers over many years. I am a developer, but only a 1X developer. But I can say without a doubt that I have met a small handful of
by andrewstuart 7y ago
I've worked with many developers over many years.
I am a developer, but only a 1X developer.
But I can say without a doubt that I have met a small handful of people who are many, many times more productive than ordinary developers. Call them 10X if you want, or dismiss the idea that 10X exist, but fact is there are developers who are simply streets and miles ahead of others in terms of productivity.
Why people claim 10X developers don't exist surprises me. Maybe they haven't met any or weren't able to recognise such productivity.
One important thing to take into account when considering extremely productive developers is context:
happy personally productivity +1
unhappy personally productivity -1
deep experience with language/framework/tools/tech productivity +1
average experience with language/framework/tools/tech productivity +0
little experience with language/framework/tools/tech productivity -1
inspired by the mission productivity +1
ho-hum about the mission productivity +0
skeptical about the mission productivity -1
likes the boss/management/fellow team members productivity +1
dislikes the boss/management/fellow team members productivity -1
not impacted by organisational politics productivity +0
impacted by organisational politics productivity -1
provided best tools for development productivity +1
inadequate tools for development productivity -1
knows the codebase productivity +1
does not know the codebase productivity -1
etc etc on and on
- awillen 7y agoI think this is a great way of looking at it. Coming from the product side of things, I see developers who are vastly more productive than their peers because they have amazing organizational and communication skills. They help keep timelines on track, they keep their peers focused and identify potential issues that a PM without an engineering background might miss. Developers who can suggest small modifications to a product spec that will drastically reduce development time but not greatly impact the overall product are worth their weight in gold.
- mlthoughts2018 7y agoThis perspective saddens me because you’re not describing a productive developer, rather just some employee good at acquiescing to what product managers (often mistakenly) want. 10X developers aren’t wasting time debating scope with product managers. They are too busy doing things that directly help customers and stakeholders, generally as a direct result of flippantly ignoring what product managers say and the ensuing politics over who gets credit and what is politically allowed to be shipped. One way to spot a 10X developer is that it’s someone getting lots of stuff accomplished despite product managers finding it universally frustrating to ask that person to take on the product manager’s agenda. Honestly the reason why these people are so rare is not because they are too hard to find. It’s because product orgs can’t tolerate someone whose judgment supersedes their own in regards to what the customer wants. The 10X developer does product management circles around product managers all while getting their own software jobs done in the meantime. In order for there to be possible options for politically arguing over bonuses & credit for what is shipped, you have to staff most of engineering with passive people who don’t push back on product management, hence very few 10X engineers.
- garbre 7y agoSad that people downvote without bothering to reply. To me, it sounds like you either don't like your product team in general, or they ignore your ideas for reasons of territoriality, or you're doing a bad job expressing your concerns to them. Frankly, I don't see why an engineer would know what the customer wants better than a product manager. I do see how an engineer would know the kind of corners they most want to cut, and of course how any human would want to present their self-interest as the group's interest, but I don't know anyone's specific circumstances.
- mlthoughts2018 7y ago> “Frankly, I don't see why an engineer would know what the customer wants better than a product manager” The engineer usually spends much more time investigating customer usage data, help center feedback, product features and competitors, all while also having greater familiarity with the engineering implementation (to know what’s feasible / reasonable) and greater quantitative skill to determine the implication of evidence in terms of what actions to take. One lesson I learned a long time ago is to develop product management as a career growth track for engineers who are interested, because the best way to be an effective product manager is first to be an engineer of that product for a long time and leverage the engineering skill set as the primary skill set for product management.
- phlakaton 7y agoI've met great engineers who were great at driving product, and great engineers that were terrible at it, or uninterested in it. I've met engineers who could invent a whole new product out of sackcloth to solve a customer need the business was only dimly aware of, and engineers who used all their knowledge of customer pain points and data to fritter around the edges of their systems, redesigning this or that but making little material progress in addressing serious issues. I have little time or patience for "engineers > PMs" arguments or vice versa. You should be a team working together to solve important problems, and you should each recognize and celebrate the skills each of you as individuals brings to the table. If you're not doing that, the problem lies with your team or organization, not the profession as a whole.
- BinaryIdiot 7y agoYou're comparing good / competent developers with developers who are either new or incompetent. Being good at your job doesn't mean you're a "10x engineer".
- repolfx 7y agoBeing good at your job is pretty much the definition of 10x developer.
- palisade 7y agoYea
- anbop 7y agoI think the ability of a programmer to be 10x or 100x or 1000000x depends on the domain. If you are writing a sales tax calculator and need to implement 500 different local state sales tax regulations from a scanned Word document, your best developer is going to be maybe twice as fast as your average one. But if the problem domain is “write a program to search the Web” or “write a program to allow people to send data-plan messages to each other from even very old feature phones” then the best developers can create millions of times the value of an average programmer.
- Glyptodon 7y agoI was just thinking about how at most jobs I've ever worked the main barrier to productivity is the inability to make minor (in my opinion) changes to organizational policies that have high business logic complexity relative to benefit.
- JohnBooty 7y agoYeah. Particularly if you don't have the authority to implement changes that would improve things in the long run, there's really no way for a dev to be a "10x" in that situation, even if they may have the ability to be a "10x" dev in other contexts.
- cbzoiav 7y agoA lot of it is drive and people skills. If senior people like/trust you and you're willing to stand your ground/fight for something you can normally achieve significantly more. That and luck on how those above you are trying to play the corporate politics / personal career game.
- JohnBooty 7y agoAgreed on all counts. Drive and people skills matter a lot. Also, a lot of nefarious people skills are also rewarded. If senior people like/trust you and you're willing to stand your ground/fight for something you can normally achieve significantly more. Yes, although in a lot of company cultures this is nearly impossible due to the lack of level playing field. A "software architect" I once worked under liked to play the following game, and he played it awfully well. We'll call him "B." 1. "B." spends days, weeks, or months researching a solution all by his lonesome. 2. "B." presents this idea to the team. It is effectively an edict, but he presents it as a meritocratic chance for others to offer feedback or alternative ideas. 3. The rest of the team is caught flat-footed, because we... just heard about this problem minutes ago, and obviously aren't as prepared as... well, somebody who has prepared. We are also not allocated time away from our scrums in order to research and test alternatives, whereas that was essentially his entire job. In other words, we bore the burden of proof and yet had no time in which to produce said proof. 4. I don't recall one of the edicts-masquerading-as-RFCs from "B." ever being successfully challenged. Management (who was non-technical) perceived this as evidence of B's superiority, because after all, it's not like folks had better ideas than "B." Since he structured things in a way such that folks really couldn't have better ideas. Eventually many folks on the team (like me) tuned out and just stopped participating in the whole charade after a few trips around the block. This, of course, was seen by management as more evidence that "B." was the only one with legit ideas.
- onion2k 7y agoYour post appears to be an argument against the notion of 10x developers and instead an argument for 10x environments where any developer can be exceptionally productive given the right circumstances.
- TheOtherHobbes 7y agoIt's curious that no one ever talks about 10X times environments, 10X companies, or 10X management. Nor about 0.1X environments, companies, and management.
- AdrianB1 7y agoThere are environment factors that contribute, not 10x but maybe the 3x mentioned in the article. That makes bad developers work like the average ones and the average as top developers in terms of productivity, to make the parallel with the article. The one thing the environment will not replace is skill: a top developer is also doing the right decisions in terms of design and architecture of the code, an average one will not know how to do that and a bad one will be clueless about the topic.
- onion2k 7y agoa top developer is also doing the right decisions in terms of design and architecture of the code All the top developers I've worked with have been happy to make decisions because they know it's OK to get it wrong. You can change things later. Having the time, resources and authority to make big changes is largely an environmental issue. I would question the confidence of any developer who claims they make the right call every time. No one does.
- brobdingnagians 7y agoI think another aspect to consider is that a good developer who can effectively train and teach other developers on a team gets huge leverage on productivity. It's that leadership and teaching which creates a culture, and amplifies their own efforts through the sharing of knowledge, which then makes it possible to succeed wildly in a project. Looking at just their code might be less than stunning, but once you realize how much of their thought process and technique gets incorporated by others, the impact is huge. And that benefit goes to all of their co-workers' next employers and next projects.
- BinaryIdiot 7y ago> But I can say without a doubt that I have met a small handful of people who are many, many times more productive than ordinary developers. I've met a few developers like this. These developers can get tasks done _faster_ than anyone else, guaranteed. But I have never seen one that can do that _and_ produce quality. Sure, anecdotal, but if you're getting something done considerably faster than others yeah you could just be _better_ than them, but that's unlikely the whole story. You're likely not getting good (if any) tests, good architecture decisions (maintainability), etc. 10x developers may well exist if we're only talking about speed but I have never met one who was a net positive overall (unless we're simply talking about people who are "productive" or "more productive than their peers" but I'd argue that's completely different than what was meant by 10x). Hell, I have even been called a 10x engineer before by a manager who was trying to get me to work over 80 hours a week. And you know what? It worked. I felt like I was the best, my shit didn't stink, I was getting more tasks done than anyone else, and the entire time I was killing myself to do it. I slowed down a bit for about a month when I had to learn something new and I was fired after working with these same people for 5 years. "10x engineer" is a marketing gimmick used to gain leverage in various ways, IMO.
- gurkendoktor 7y ago> unless we're simply talking about people who are "productive" That is literally what the grandparent poster said, and matches the first two definitions I can find on Google. Personally, I often think of this example: https://news.ycombinator.com/item?id=3033446 https://news.ycombinator.com/item?id=3033446 It's really interesting to see how both sides approach the problem (without rushing it), but only one of them solves it. That certainly counts as a 10x difference? > "10x engineer" is a marketing gimmick used to gain leverage in various ways, IMO. I've been following the discussion, and I think that "10x is a lie" has itself become a dangerous meme. It's already hard to tell some of my clients that developer quality matters, that hiring cheap developers en masse is pointless if they can't reliably fizzbuzz. Now Developer Twitter decides to proudly proclaim that everyone is equally capable as a developer, except some of them are toxic jerks. Sigh.
- KUcxrAVrtI 7y ago
- deleted 7y ago[deleted]
- tjpnz 7y ago>I am a developer, but only a 1X developer. I've had the misfortune of working with a few 1x devs over the years. You would never encounter them on HN.
- Nursie 7y agoOr were they 0.1x? I'm pretty sure I've encountered -1x devs as well, who contribute little and suck time from the rest of the team.
- sakarisson 7y agoAccording to this article, a 1x developer is the least productive developer. So logically there's no such thing as a <1x developer.
- drawkbox 7y agoTiming has a great deal to do with it as well as with anything. Environment and timing can make a 10x coder even better or just average, depends on where the rest of the market is at and if the market timing is right. Though a good developer, 10x level, can probably find something that is timed right to attack, as an aspect of a better than average developer is also finding something the market needs. When you combine some new technology innovation or advancement, and you are a product focused skilled developer, it can multiply skill even more. Power or access in the environment/team, along with time, is also key to a 10x or multiple developer output. Almost all really good developers have power to change things or design them from scratch, an 'open' mode where they can research, a shipment focused 'closed' mode and this can make developers more productive. As an example, John Carmack, probably a 1000x developer. He was also perfectly timed for graphics/rendering/game development to carry the whole industry forward with Doom/Quake and on. The timing was key as he was perfectly positioned with very high skillset and new technology that others weren't in as much yet, he set the standards. As time went on and the new knowledge was taken up by others, with him at Id competing was harder, still a 10x but the timing and environment are much different. Carmack was also given lots of power and free reign, another aspect of being a 10x+ that is key. If something needed to change to make them more productive, he was the architect and was allowed to make it happen. That access is harder to obtain on established teams without really good prototyping of entire systems that can show how things are better done another way. Lack of power leads to lots of time explaining and selling your ideas over just doing them. The smaller the company the better for the 10x unless the reputation is already established. Carmack also did some space research with Armadillo and is at Facebook/Oculus now, where he is still amazing but the timing and environment are much different. Competition and funding were harder in the space venture. VR he helped get going while at Id and even helped Palmer Luckey early on, but also the industry is fairly established. There are still leaps to take there and he will probably be part of those with better access. Shipping is a key to a 10x as well. Carmack shipped. As with anything successful: timing, environment and access (funding / power) are key elements of allowing good product shippers/creators/developers to flourish and ship.
- james_s_tayler 7y agoI think this perspective is totally underrated. When I compare a lot of people's careers I see these dynamics jumping out at me a lot. Timing timing timing. Autonomy too. When you're decent at what you do and you're allowed to do it, it turns out you can do good things. When you do good things you get more of the right kind of experience. Gaining that experience is rare in the first place thus making you even more rare and valuable (in the right context). I'm glad I'm not the only one out there that sees it like this.
- balabaster 7y agoYou forgot a multiplier and that is "increases the productivity of their peers and the company." A 10X developer isn't necessarily more productive in themselves, but they enable increased productivity in everything and everyone they touch. A strong lead developer who has keen business acumen, steers product strategy to increase value, mentors their peers to up their game and increase their productivity is where you separate the 1X developers from the 10X+ developers. When you end up with a team of these people, this is where magic is made. A developer that brings this value may be many times more than a 10X developer.
- lm28469 7y agoThere are also people who are simply better at the job no matter the conditions. Bach was a 10x composer, Rembrandt a 10x painter, you could train as hard as you can for your whole life chances are you wouldn't even be close to match their skills. imho people tell themselves 10x don't exist because it's hard to admit some people are just better. Especially in our industry in which a lot of people confound "work title/achievement" and "identity".
- zzzcpan 7y agoNo, you can definitely beat Rembrandt's skills if you spend your whole life doing it as hard as you can. This is why you shouldn't use 10x label, it is wrong and goes against everything we know about the world. It merely tries to put down people, convince people that they simply can be bad at the job, which cannot be farther from the truth. People are just different, have different backgrounds, different experience, different skills. Which means depending on circumstances some people have to learn new skills and start figuring things out from scratch, while some could already be years ahead. This is important, as even the most unmotivated, unhappy, skeptical person in the worst conditions, but a domain expert of a big complex domain will still do a better job, than someone who needs to spend years before even starting doing the job. Anyway, 10x label is harmful and disrespectful. But I guess this is true for labeling people in general.
- gurkendoktor 7y ago> This is why you shouldn't use 10x label, it is wrong and goes against everything we know about the world. Are there studies that prove that everyone can master any skill if they try really hard? This doesn't match the anecdata I've experienced and seen [1]. > Anyway, 10x label is harmful and disrespectful. Yes, if we decide that humans are only as worthy as their code. But we can also consider, even in the age of neoliberalism, that economic activity is a tool, not our purpose. Some are more productive than others, so we need to help each other out. Conversely, if we assume that talent does not exist and everything is just a matter of trying really hard, then the conclusion is that poor (able-bodied) people are simply lazy and deserve their fate. [1] https://www.theatlantic.com/health/archive/2017/08/the-dan-plan/536592/ https://www.theatlantic.com/health/archive/2017/08/the-dan-p...
- thom 7y agoSo the question becomes, why are organisations able to accommodate some developers 10x better than others?
- crispyambulance 7y agoYes, there are many dimensions to "productivity" and this needs to be discussed more. Twitter has a thing going around lately where people lampoon the notion of "10x engineers". I applaud this, but there's something really fundamental in the belief that there exists someone, "a hero", that can solve all your problems. Many organizations try to find these people, but they don't exist, at least not in the form that they're expecting. I don't think that folks who would use the term "10x engineer" un-ironically would understand that if you want to cultivate super-productive people this requires that all parts of the organization have to "work right" and not put up obstacles, meaningless KPI's and bullshit goals. If, occasionally, someone is miraculously able to navigate the dysfunction of an organization and get something great done-- it's not magic, it's not "a hero". Instead of mythologizing them, it would be better to truly understand how they were able to accomplish what they did. My expectation is that behind every true 10x-er accomplishment is a strong team environment, a healthy skepticism of project management and a psychologically safe environment that can tolerate learning, questions, mistakes and trying new things. Even more important is an acceptance that there are different roles in a work-team and if some people are able to make "slam-dunks" it's typically because others have diligently performed the countless, unglamorous little jobs that made the "slam-dunk" possible. These little roles _also_ need to be recognized. In fact, if you do find someone who has been called "a 10x" they will, invariably, reject that term and instead generously give credit to the people they work with.