Hacker News new | ask | show | jobs
by debacle 4664 days ago
> an average programmer in a good team will have effective negative productivity.

I have a qualm with that statement, I think. Do you have anything to back that up? It doesn't make logical sense to say that "If I have four programmers and they give me nine megawarbles of productivity, and I add a fifth programmer who can only create one megawarble of productivity, I will have a team that only generates eight megawarbles of productivity."

Too often, programmers are drawn into this romantic idea of being a 10x programmer, but I can honestly say that, in my experience, there are more 10x programmers out there than there are 10x programming problems. The IT world needs more data janitors than it needs data scientists.

5 comments

A couple of points on negative productivity

0. There is a cost on the communications between team members, if the team is larger the cost is larger 1. There are costs on integrating (in some cases re-working) sub-par code that does not fit with the rest of the team

If the programer is just average, the impact is not that terrible but it exists, but if the programer is actually bad, I can tell you from personal experience that the costs will be very significant.

Programming is knowledge work. If someone is "worse" than another, it means that they less knowledge. If you have four programmers with a similar amount of knowledge, and one with much less knowledge, to gain more knowledge this one will have to go to the four, who will then spend time transferring knowledge instead of using it effectively. That's your Fred Brooks 101.
The key to this is understanding that engineer A is a 10x guy at interfaces and engineer B is a 10x guy at databases yet the way real work happens is that sometimes they will both be working on the interface and sometimes they will both be working on the database. In other words, there are a lot of people who think they're that "10x programmer", and are, but only for a fraction of the scope of a real project.

I used to work with one guy who was an absolute wizard at performance tuning. Helpless as a newborn lamb tho' when it came to setting up a new test environment, he was a 10x guy at what he did, but a 0.1x guy at "restoring last night's backup from tape" despite having all the privs he needed to do it...

Depends if you mean a programmer who is average relative to the rest of the team or a programmer who is average relative to all programmers but who is on a team of significantly better than average (therefor bad by the standard of the team).

A programmer who is worse than everyone else will tend to produce bugs that they themselves can't fix and also make poor design decisions. Both of these things will make things harder for the rest of the team.

In my experience there's a lot more bad programmers who produce lots of buggy code than produce low quantities of good quality code.

I agree with the GP only in this situation: there is little or bad management. I think an average programmer can definitely be very productive (relatively) in a team with more experience and skill. I've seen it (both ways).