Great People Are Overrated. Really?
A work colleague tweeted about this article written by Bill Taylor, and he (my colleague) asked me what I thought about it.
While the article is very well written and the author raises a few very good points, I disagree with part of it. Perhaps, I have a slightly different point of view about the subject.
Let me quote a couple sentences from it to analyze them in context:
“Five great programmers can completely outperform 1,000 mediocre programmers”
I completely agree with that sentence (told by Marc Andreessen to the article’s author for his book).
Mediocre programmers don’t add value, they usually subtract from it. They’re usually also mediocre Team players, making things worse.
Later, he contrasts that sentence with this one:
“If you were launching a technology or developing a product, would you rather have five great engineers rather than 1,000 average engineers”
While contextually they seem to be mutually exclusive, I happen to agree with that sentence as well, because I think there’s a not-so-subtle difference between “average” and “mediocre” that the author is simplifying. In my opinion average and mediocre are not the same.
Average engineers add value. If they’re also good team players, they can add a lot of value and they can surely outperform a smaller group of “Rock Stars”.
There’s an important concept that the article also doesn’t quite grasp or at least it’s not presented with the relevance it deserves: Teamwork.
Non-team-players are a bad idea, no matter how great as coders they are. The only way to overcome it would be to get them doing one-man projects, and those are an even bigger very bad idea company-wise.
However, the article links to another article that analyzes Barça’s (the Spanish soccer team) case. As a Barça fan and Barcelona resident I fell particularly identified with the example. Let me add a little bit of my view to the article:
Barça has the best soccer player in the world (Lionel Messi, I’d call him a “Rock Star”) and a lot other players that are way above great (Xavi, Iniesta, Pedro, Villa, to name a few). Most of them were raised on the Club, not bought from other Clubs. Barça also have a few more “average” players in comparison, but most of them are really, really good ones. I wouldn’t say that there’s any mediocre players on the Team.
Curiously enough, Messi played his share of matches with the Argentinian selection (also with a good deal of the best soccer players around, most of them currently playing on the best European Clubs and being extremely successful at it).
The outcome? Completely unremarkable. Messi didn’t score a single goal on the world cup and the team didn’t make it past quarter finals. Why? Because they weren’t a Team, just a bunch of -extremely- talented players doing a mediocre job as a Team.
You can assemble a team of great people if they’re good team players, there’s nothing wrong with it and it will outperform much bigger teams. Barça is a proof of it, but I’m sure there’s a good deal of other examples around.
I consider myself extremely lucky of working head-to-head with a lot of great people (both as Engineers and Team players) at 3Cinteractive and I can’t imagine a better working environment (BTW, we’re hiring). It proves to me that you can assemble a team of great people and accomplish a lot, as long as they’ve got what it takes to work together as a team.
In contrast, mediocre Team players will ruin any team as much as mediocre coders would slow it down.
I think one should aim for hiring at least average programmers that are above average (no concessions there) team members, or average team members that are above average programmers, but I’d ban mediocracy from one’s working environment completely. Oh, and average as in decent, not less 🙂
Note: the later article got it all wrong about the “Catalonia is not Spain” part. Those banners are a display of extreme nationalism/separatism with which I’m completely in disagreement.
This is what I’d call my “Programmer’s Grid”, depicting in an image what I’d tried to describe with words above.
And this is my perhaps biased opinion, based on my own experience. What do you think?
Alex
Nice post Alex, I agree with your idea of the ‘grid’. I have had the unfortunate experience of working with ‘rock star’ programmers who aren’t team players and it’s simply a nightmare. I’d take the combination of average coding and team player any day over a ‘rock star’ that isn’t a team player 🙂
I may use your grid to screen future employees of mine 🙂