Better to look at the situation including such bad performers...
It's often difficult for 3x programmers to make it at first because the 1x programmers will often gang up on the 3x programmer to protect their own jobs, although the behavior is often unspoken about between them. Many places will thus hire 3x programmers in bulk as a separate team, but many -0.5x programmers will slip in as well. A group of such 3x programmers will often put one of their own number to watch over, say, four of the -0.5x programmers, who will thus appear to be a 1x programmer, 3 + (4 * -0.5) == 1. 10x programmers can be groomed from a 3x programmer over time, but it's difficult for a business to pull off because the other 3x programmers will gang up on them, similarly fearful for their own jobs. And only big Silicon Valley names can hire 10x programmers in bulk.
How do you measure productivity on your team? How do you arrive at the factor of five?
A lot of people comment on HN that there are no 10x engineers, which I find strange. How can you work in this industry and not be convinced of the huge gradient in productivity?
We measure productivity with #bugs, #points of features, etc. It's pretty crude, but better than lines of code. It really doesn't tell the whole story though, because most of what makes a 10x engineer is not solving problems faster, but solving the right problem in the first place.