"Professional talent does vary, but there is not a shred of evidence that the best professional developers are an order of magnitude more productive than median developers at any timescale, much less on a meaningful timescale such as that of a product release cycle."
Nonsense. I have seen evidence of it on nearly every project I've been on for 18 years now. It's one of the most obvious facts of enterprise software development.
I have seen evidence of it on nearly every project I've been on for 18 years now. It's one of the most obvious facts of enterprise software development.
I haven't seen any evidence of a 10x disparity in productivity myself. Of course measuring productivity is a dodgy issue in the first place, and I've never ran a proper scientific study on the matter... but my subjective observation of a decade and a half of doing this stuff, is that the spread between individual developers (excluding the ones who are so incompetent that they get fired in short order) is probably more like 3x-4x at most.
In the area of debugging games, I have been EASILY 10x more productive than the developers I was supporting in finding bugs in their code. In fact, you could say infinitely more productive, because they would typically spend hours or days trying to find the bug, and the only reason I'd ever see it is that they failed to find it.
I was the architect of the underlying game engine used by a casual game publisher, and I was the last line of defense if one of our developers got stuck. Most of the bugs weren't even related to my engine, but were deep in their game code, which I typically had never seen before I dove in.
In one case a developer had been trying to find a bug for weeks when they finally punted to me. I had it fixed in a half hour. I never spent more than a day finding one of these "impossible to find" bugs, and 95% were fixed in 1-3 hours.
These are all developers who otherwise are at least average, and possibly above average. We certainly ran them through technical interviews and determined they were at least competent to begin with, and they DID all eventually ship games. So you can't tell me that 10x average doesn't exist, at least in particular areas of expertise.
If you wanted me to write a CRUD app, or anything in Rails, though, it would take me a while to get up to speed.
As a point of reference: A lot of people sought out -- and praised -- advice I gave in the SDK support forums. I would typically figure out what their problem was without seeing any code. Many attributed the popularity of the SDK I was supporting to the fact that I was supporting it, and as the SDK became irrelevant about 3 months after I resigned from the company, there may have been something to that.
Another thought: A lot of the teams I was supporting had multiple developers, so presumably had already shown the problems to other "fresh eyes."
I'm certainly capable of getting stuck looking at a problem wrong, and I have benefited from talking to other developers. For me the benefit is typically because I've gone down the wrong design path. It's been a LONG time since I couldn't debug my own code faster than anyone else.
When you're working on a design, sometimes being good isn't an advantage; you can see a solution to a problem, and you work to solve it that way, but it turns out there's a much simpler solution to the same problem. If I weren't as confident of a programmer I might work harder to find a simpler solution. At the same time you can spend hours of time trying to come up with the perfect design that would be better spent just coding, so it's a hard balance to always get right. And for problems that really need a complex solution, well, the average programmer may decide that they can't be solved.
I've typically (with one painful exception where the match to my skills wasn't ideal) been the developer that everyone comes to for advice everywhere I've worked. I've known a lot of excellent developers easily at my skill level or beyond, and yet MOST professional developers I know are nowhere even close, and even among those I consider competent I feel like 10x may be insufficient to describe the real difference.
Nonsense. I have seen evidence of it on nearly every project I've been on for 18 years now. It's one of the most obvious facts of enterprise software development.