I keep seeing the term "x10 developer" pop up recently, and I think it's misleading and leads to a rock-star / primadonna culture that benefits no one.
"x10 developers" are, in fact, proficient developers, who are experienced with their stack and problem domain. Once you get to this point, you can still find room to optimize - some people are inherently more focused or talented and you can always gain more experience, but the difference between developers who are proficient at what they do will never be a x10 multiplier - it will be closer to a variation of 30-40% in productivity. In some extreme cases (super experienced, focused, and naturally gifted), you might even reach x2 times productivity over a baseline proficient developer (I've seen it in action).
On the other hand, you have developers who are simply not proficient. They either have no aptitude for programming at all, or are so inexperienced that progress is very slow as they are learning everything as they go. Those are the "1/10 developers" and they make proficient developers (i.e, professionals) seem like x10 developers.
(more...)