Rock star. Ninja. Genius. In the world of tech, there’s a longstanding cultural mythos around the software developer who is not merely good but possessed of an Olympic brilliance and productivity. This

When Solórzano-Hamilton looked at Rick’s code, though, he realized it was so idiosyncratic and undocumented that nobody else would be able to maintain it. They spoke to Rick and told him they wanted to build a new product from scratch, with everyone collaborating on it. Rick angrily dismissed that, too. As things worsened, Rick wouldn’t take time off, he’d revert code written by others, and belittled colleagues.

Eventually they fired him. And then, behold, things improved: His teammates set about building a new, dramatically simpler product. By the time they were done, the replacement product was less than 20% as big and complex as the previous project. That meant it’d be much easier for new employers to read it, grasp it, and maintain it. They wouldn’t need superheroes. Better yet, the teammates got it done in just over six months. “There were no Ricks left on the team. We didn’t have any mad geniuses building everything from scratch. But our productivity was never higher,” Solórzano-Hamilton wrote.

The company had run smack into the noxious downside of the worship of coder merit: It can create “brilliant jerks,” a caste of programmers who come to believe the myth of their own irreplaceability. You wind up with aggro blustering types who not only drive other talented folks away but often wind up producing work that—ironically— isn’t even very useful, because it’s so locked up inside their own heads. Sure, their talent might be quite real, but who cares about that when their cult of personality wrecks the enterprise?

Divas and dysfunction

Quite a few coders I spoke to had horror stories of working alongside talented but entitled assholes. One Y Combinator firm hired a Russian coder whose work was superb, but who’d snark, “I hate it here” if you asked him how things were going. Why do you hate it? “Because everyone’s work is shit,” he’d reply. “He was a total diva,” the head of programming said with a sigh. As Bonnie Eisenman, a programmer for Twitter who’s an expert in React–a code library increasingly used to make apps–puts it, “The whole myth of the rock star coder creates dysfunction.”

Brilliant jerks aren’t even necessarily worth it, because while they might be useful for solving a hard, short-term problem, the wreckage they cause to morale can be hard to repair. Other talented employees flee, unwilling to wrangle with the jerk. “I’ve met people who are the most brilliant programmers, but they make things that never see the light of day because nobody else can work with these people,” Grady Booch, a veteran IBM coder, tells me.

Even when the 10Xers like Rick are productive, writing that much software–that quickly–tends to produce what’s known, in a lovely phrase, as “technical debt”: a bunch of wreckage produced by moving too quickly. A fast-cranking coder will almost always use shortcuts and employ patched-together solutions that will require, in the years to come, careful and patient cleanup by later colleagues. “The 10X engineer is not actually 10 times more productive than everybody else,” says my friend the developer Max Whitney. “A 10X engineer is out there–I’m quoting somebody off the internet–generating 10 times more work for everyone. So, they’re like the tip of the iceberg, making something flashy and beautiful, and leaving so much technical debt everywhere.”