Yes, relative skill and productivity between programmers can vary wildly, but I would posit that most of the difference you see between organisations ability to deliver software has nothing to do with how many “10X developers” you have hired and everything to do with culture.
Peopleware actually covers a study where standardized programming assignments were handed out to developers for them to take back to their offices and complete. The programmers were asked to time how long it took to complete these tasks.
There was dramatically more variance in completion time between organizations than within any one organization.
Agreed. I once worked with a programmer that took 3 months to figure out how to send a socket message... She had "30 years" of programming experience and refused to let me help her.
It's pretty easy to be "10x" (or infinity) someone who clearly doesn't know what they are doing.
However, assuming some minimum baseline of having a clue, the multiplier is more likely to be due to environment.
Banks hire some very smart people, yet are historically aweful at delivering software.
Startups, especially outside SV often have to survive by hiring "scraps" for peanuts, yet run rings around big corps.
If a company forces people to work with their hands tied behind their backs, they shouldn't be surprised results are lacking.
Minimum clue level? How about the minimum level is "the level a lot of developers are making a professional living at". It's incredibly low. I've personally done things in a week that previous developers had spent several months on, and I had no particular domain knowledge. And I feel some other folks are far better than me. So the entire range could possibly be 100x.
I've had small coding issues where one dev takes a path that costs them an hour or so, and another is able to deliver the same functionality in minutes.
I've seen projects where some developers simply say " I've no idea on even how to start such a project ", and other developers sit and think, read, and end up delivering. That's far more than 10x.
Environment may be huge, but it's blatantly false to say there is not a massive, order of magnitude difference between individuals. Unless you define developer as meaning within a certain competency bracket. At which point it's only true on definition.
I will argue that a big difference like that is caused by the environment: looks like is failing to grow skills, motivate and foster collaboration, and if there a few that are truly clueless, failing to proper hire/assign.
However, assuming some minimum baseline of having a clue
What does having a clue mean though? Being able to code a loop? Fizzbuzz? SQL? Google for stuff? Architect a small program, a medium program, or a large program? There's a huge variation in cluefulness -- which is entirely the point.
That's just a lack of experience talking? There are many opportunities in a large project to get stuck or go down a blind alley. Even folks with a clue can do it. Someone who avoids these pitfalls can get far more done. You will inevitably meet one of them in time.
Comments
That doesn't jibe with my experience at all.
Peopleware actually covers a study where standardized programming assignments were handed out to developers for them to take back to their offices and complete. The programmers were asked to time how long it took to complete these tasks.
There was dramatically more variance in completion time between organizations than within any one organization.
BTW, the book is worth reading.
It could merely be because different organizations have different hiring standards and cultures and usually gather the same types of people.
Agreed. I once worked with a programmer that took 3 months to figure out how to send a socket message... She had "30 years" of programming experience and refused to let me help her.
It's pretty easy to be "10x" (or infinity) someone who clearly doesn't know what they are doing.
However, assuming some minimum baseline of having a clue, the multiplier is more likely to be due to environment.
Banks hire some very smart people, yet are historically aweful at delivering software. Startups, especially outside SV often have to survive by hiring "scraps" for peanuts, yet run rings around big corps.
If a company forces people to work with their hands tied behind their backs, they shouldn't be surprised results are lacking.
Minimum clue level? How about the minimum level is "the level a lot of developers are making a professional living at". It's incredibly low. I've personally done things in a week that previous developers had spent several months on, and I had no particular domain knowledge. And I feel some other folks are far better than me. So the entire range could possibly be 100x.
I've had small coding issues where one dev takes a path that costs them an hour or so, and another is able to deliver the same functionality in minutes.
I've seen projects where some developers simply say " I've no idea on even how to start such a project ", and other developers sit and think, read, and end up delivering. That's far more than 10x.
Environment may be huge, but it's blatantly false to say there is not a massive, order of magnitude difference between individuals. Unless you define developer as meaning within a certain competency bracket. At which point it's only true on definition.
I will argue that a big difference like that is caused by the environment: looks like is failing to grow skills, motivate and foster collaboration, and if there a few that are truly clueless, failing to proper hire/assign.
What does having a clue mean though? Being able to code a loop? Fizzbuzz? SQL? Google for stuff? Architect a small program, a medium program, or a large program? There's a huge variation in cluefulness -- which is entirely the point.
I don't think this is true. It's quite common to have a huge productivity variance between people on the same team.
That's just a lack of experience talking? There are many opportunities in a large project to get stuck or go down a blind alley. Even folks with a clue can do it. Someone who avoids these pitfalls can get far more done. You will inevitably meet one of them in time.