Are You a 10x Programmer, or Just a Jerk?
The myth of the 10x programmer persists, but the shine is wearing off.
Ryan Scott Brown, Senior Software Engineer at Red Hat speaking at the Serverless Conference, brought up the idea, in a talk about open source volunteers, that no matter how productive a developer is, the productivity is wasted if the rest of the community find that programmer difficult to work with.
Not every 10x programmer is a jerk. Far from it, Brown stipulated. But a manager that allows a super-developer to run amok over colleagues is not doing the project any favors in the long run.
Jacob Kaplan-Moss, a core contributor to Django, and self-proclaimed average programmer, talked about the destructiveness of the 10x programmer idea in his 2015 PyCon address, calling it “the myth of the brilliant asshole.” The programmer who thinks he is so good at his job that people have to work with him even though his behavior is toxic.
Brown put it this way, “If you have a 10x developer, who is also a 10x jerk and they have driven away nine contributors from your project, he’s now a 1x developer, and still a jerk.”
The idea of the “10x programmer” has been around for years. Venkatesh Rao in his 2011 Forbes article “The Rise of Developeronomics,” said, “The 10x effect is the anecdotal observation that great programmers aren’t just a little more productive than average ones (like 15-20 percent). They tend to be 10 times more productive.”
Woot! said CEOs everywhere who then instructed their HR departments to only hire 10x programmers. Developers rushed to update their resumes and label themselves as super productive rock stars. But 10x programmers, if they do exist, are so rare as to be a unicorn, said UserScape founder Ian Landsman on his blog last year.
There ARE programmers who are far better than the average programmer, but they are not super fast coders, he said. He compared them to Neo from The Matrix.
It’s making the average programmer, the steady programmer who does good work and completes their projects, feel like their contributions don’t really count.
“They can SEE the code that makes up The Matrix if you will and they can alter it. They can thread together hundreds of disparate facts, ideas, code lines into one place in their head at one time and make a connection that 100 other devs looking at it would never make,” Landsman wrote.
But these unicorns, he said, should have no place in your business plan.
Gruntwork co-founder Yevgeniy Brikman has defended the myth of 10x programmers, but even he said it’s important to keep perspective and not build a hiring strategy around these rare ones. “Don’t let perfect be the enemy of good: hire the best engineers you can get and give them ample opportunity to develop and get even better.”
In a post titled “You are not a 10x developer,” blogger Sean Cassidy called the idea of hiring only 10x developers “just ludicrous.”
Indeed, the perpetual search for unicorns is no way to run a business. Software production is a team sport, and if you’re focusing on hiring a team of Michael Jordans or populating your ER with Dr. Houses, that’s just bad business. Or, as Landsman put it, “If you believe your business depends on finding a unicorn because what you’re building requires 30 or 40 unicorns to build a solid product that has value, then I think you’re in very big trouble.”
Software developer Bill Jordan’s recent blog post, picked up by Hacker News, talked about the importance of building a team over favoring high performers. He recommended caution because often high performers are taking shortcuts, which builds “technical debt into the application.” Jordan recommends strong management skills and looking beyond the time it took to write the code to include other metrics to calculate the TCO (total cost of ownership) like how well the code does in QA and if it causes problems in production.
But wait, there’s more.
Kaplan-Moss argued that the myth is actively harmful on several levels. Most important, it’s making the average programmer, the steady programmer who does good work and completes their projects, feel like their contributions don’t really count.
He talked about visiting the University of Kansas a few years ago, where a student presented her program that predicted seasonal flooding in the Kansas River. Using typical tools like Amazon Web Services, Linux, PostgreSQL, Python, Django, GeoDjango, she invented her own distributed GIS data processing pipeline. But when Kaplan-Moss offered her an interview, she declined because she wasn’t “really a programmer.”
That’s because, in this myth, he said, programming is something you are, not something you do. And that is detrimental to everyone.
“There are all kinds of runners—sprinters, distance runners, marathoners, etc. — of all shapes, sizes, genders, ages, and races. All of them have different metrics for success and all are capable of being successful by their own metrics. We have got to find such a nuanced, shaded, interesting way of thinking about skill in tech,” he said.
So, basically, according to the experts, you are not a 10x programmer, so stop being a jerk.
Really, no jerks.