One of the most persistent software development memes is making fun of recruiter-speak. You know, the type of language used by the clueless recruiter trying to communicate a challenging role. “This company is looking to hire a real ninja.” Or “rock star developer”. Or “10x developer”. It’s obvious to me that both “ninja” and “rock star” are embarrassingly aggressive and brogrammy terms to apply to the craft of software development, but “10x” seems like it’s worthy of a second look.
At its roots, those who ridicule the concept of a 10x developer are interpreting 10x to mean 10x the amount of features or code. “Yeah, right, 10x! More like 10x the technical debt”. Seems like that joke at its heart is an insult to both the developer who thinks their only measure is their code output, and whoever that poor sap’s manager is, who’s actively using LOC or feature output as the only measure of success. That’s not what I’m defending. If you work somewhere where your only measure is feature output, quit yesterday. By all means. For the rest of us who have competent managers who view us holistically…
Another common attempt at deriding the 10x developer concept goes like this: “Really, it just happens to be that senior staff get chosen to work on more important stuff than juniors, and therefore, 10x devs don’t exist as much as 10x projects do”. This is certainly true, at least to some level at all companies. However, again, if you work in an org where there isn’t enough important work for everyone, and only the senior team can do the work, quit two days ago. The codebase should be well tested so you can practice collective ownership and business should get its priorities straight so that there aren’t wild discrepancies in importance for everyone.
If I’m not talking about LOC (or any other braindead metric for measuring software “output”), and I’m not talking impact, then 10x what? What is the 10x developer 10x better at than her colleagues? Quite simply: raising the effectiveness of those who sit around her. A true 10x developer helps her teammates accomplish their goals. A 10x developer takes the time to communicate challenges and solutions she encountered during the day so that her teammates may learn something new. A 10x dev gives thorough code reviews, talks face to face with the submitter of each PR to discuss best practices. A 10x dev makes tools the rest of the team uses. The joke I’ve heard to describe the 10x dev goes like this:
To be a 10x dev, make 5 2x devs.
If you are a 10x dev, it’s on you to make sure you’re working somewhere that can see it, nurture it, and get you on the road to being a 100x dev.
If you measure yourself, or worse, if your boss measures you by features built or LOC, quit.
If the seniors get all the glory because they’re the only heroes who get to work on high impact stuff, quit.
If you’re surrounded by 2x developers, chances are you’re a 10x developer. Make sure you work somewhere that recognizes that.