Monday Jan 14 2008 10:42 pm by Smokinn

I just read Larry O'Brien's latest post titled No Silver Programmers and must say I completely agree. I agree but I also have a little to add.

I think the problem I (and Larry, though I don't want to put words in his mouth) have with the quote "5% of programmers are 20x more productive than the other 95%" is the absolute grouping it seems to give people. It seems to say that either you're 20x more productive than everyone else or you're a loser who's outclassed by an elite 5%. As is obvious (or should be) to anyone who knows or has met even a dozen humans, humans aren't easily categorized. Nature however seems to be fairly predictable and while humans can't be easily categorized, we are generally pretty easy to plot.

Bell Curve

The normal distribution, better known as the bell curve. It's what I generally resort to thinking about when others start talking in absolutes. I have no problem believing that someone in that 20+ area of the curve is 20x more productive than the guy in the 5- area. But then again, that 5- area is why we end up with FizzBuzz. 20x is even being generous to the guys at the bottom. I'd have no problem believing infinity times since the top tier can do stuff the bottom tier won't even be able (or, more accurately, willing) to figure out, let alone write of their own volition.

(In the following I use the masculine tense just because it's easier. A top programmer could just as easily be a woman.)

I don't even have trouble believing that a top tier programmer left alone with a project could finish in a day what a middle tier programmer left alone would finish in a month (although he would have to already be an expert in the domain and the domain would have to be hard, not common business software or web development). I could name names of people who would easily finish stuff way faster than I possibly could. However, I don't believe that at all when it comes to teams. A good team is a lot more than the sum of its parts. Lets say you're shown two top programmers and given 4 average programmers. You can only pick one of the top programmers. One works well with a team but the other likes to lock himself in an office with a week's worth of food and only come out when he's running out and all the perishables went bad.

living in a cube

Disclaimer: the following "math" is based completely on intuition and even only vaguely on personal experience. It is most definitely wrong and I sorely wish there were some real studies with real data.

Let's say the tent dweller forms team 1. The average guy gives you 1x productivity and your top guy gives you 20. Each works in his own little world and you have 24x productivity. (Haha, yeah right.)

Now let's have a look at team 2. Your top guy has to sacrifice time to explain what he's doing, why he's doing it and how others can do the same to the team. Let's say this takes a huge toll on his productivity and he can only get half what he'd normally do done. (Although it's often the opposite, by explaining and bouncing ideas off other people you often end up with better ideas and spot obvious holes but let's assume for now he's perfect.) The time he spends though helps bolster the others on the team. If everyone is up to 5 and your top programmer is down to 10 you win since you're now up to 30x productivity. (Although probably much more since you avoid all the integration issues of having the whole team work as a whole as opposed to individually.)

So while I do believe that some programmers may be better, I believe that it's much more important to have a team that works well together and that a team that works well together will beat a team of great programmers that don't. Of course a good team doesn't guarantee success, but a bad team just might guarantee failure.

Comments
Tuesday 15 2008 12:47 am by Iouri Goussev

c'mon now, we all know that projects are done by the heroic contributions of one team member ;-)

Tuesday 15 2008 1:29 pm by Smokinn

I think you're confusing industry project with school assignment. =)

Sunday 27 2008 8:20 am by noname

janitors rule!

Post a comment
Name:
Email (optional):
URL (optional):
(Allowed tags: <a> <p> <strong> <em>)

Sorry, but due to spambots, to post I'll need you to prove you're human.

Of the six following animals, just select the two that are not fluffy

About the Site:

I might update. Don't hold your breath though.

About Me:

Name: Guillaume Theoret

Age: 801487651 seconds

Job: Mostly web dev

Some Friends:
Search:

RSS Feeds:

RSS