Feb 07, 2020

Why 10x developers are elusive

Developer productivity

A new study from the Carnegie Mellon Software Engineering Institute argues that identifying high performing 10x developers is far more challenging and inconclusive than other studies suggest.

Origin of the 10x developer: A 10x developer is an engineer who is so productive that they exert an outsized influence on an organization's success.

The oft-cited original research that uncovered large variations in developer productivity dates back to 1968 in a study conducted by three researchers at the System Development Corporation. It found that some developers performed 10 times better than the worst performers at certain development tasks.

A new study: In an updated study from Carnegie Mellon, researchers looked at how developers performed across a series of tasks. Students were asked to complete ten coding assignments in the same language that spanned many parts of development—including implementation, design, and testing.

Findings: Clearly identifying high-performing developers is incredibly complex because individual performance depends heavily on the coding task. From the study:

"While average performance differs between programmers, only half the variation in program-development effort can be attributed to inherent programmer skill; the other half is within the individual developer's day-to-day variation. That is, the programmers differ from themselves as much as they differ from other members of the group."

Researchers found that while developer performance varies significantly when comparing developers working on specific assignments, much of that performance spread actually diminishes when considering an entire body of work. Developers were very unlikely to be consistently exceptional at every coding task in a project.

What’s the takeaway? As with any profession, some developers are better and faster at coding than others. According to new research, the magnitude of differences between developers may be exaggerated or difficult to reliably predict.

Engineering teams may be better off training capable developers, rather than trying to hunt down an elusive top programmer.

Want to get more of these in your inbox?

Subscribe for weekly updates from the Software team.