« UML Out of the Box | Main | Finessing Away Errors »

July 07, 2011



I definitely think this is true.

I haven't had visibility inside many different companies to compare, but I spent many years in a large company with several distinct businesses, and many product teams within each business. Even within these product organizations under the same (virtual) roof, I observed the stratification you are talking about. I used this "raised the average intelligence in both groups" line many times in this environment without knowing its origin. Now I know who gets the credit!

When this stratification was discussed (among the enlightened few, of course), it was usually accompanied by a discussion of how most "management" was unaware of the discrepancies between teams, and fought to maintain the status quo. Especially among the "managers" with the lower-quality teams, headcount numbers and familiarity with their existing team was more often used as a predictor of success than was overall team quality. The enlightened knew to avoid these teams and would cluster together when possible, reinforcing the stratification.


Probably true. Developers who take their craft seriously are likely to seek out workplaces with high standards. And those workplaces are more likely to employ like-minded developers creating a virtuous circle.

Having said that, such workplaces are in my experience few and far between. And not all skilled developers relish the thought of interviews, dealing with recruiters and life change associated with changing jobs. It can result in top developers staying put longer than they should in non-ideal scenarios.

Where I am at the moment I feel like my job is slowly turning into "technical debt manager", but I am risk-averse by nature and it can be hard to guage whether alternative job opportunities are in fact better than where you currently work.


I think this is probably true mainly because of the way programmer interviews are conducted and how decisions about who is hired are made. When we do an interview the first person we compare the person we're speaking with is ourselves. If company A's first developer is someone who wants to go home at 5 everyday and doesn't think about code after he leaves, then he is most likely to hire another developer with similar traits. This then leads to the culture of the company and pretty soon all the developers at company A work in a similar manner.

It doesn't take long for a developer to figure out what kind of company culture they want to be a part of, and they will gravitate towards those kinds of companies. Thus if a developer were to leave company A for company B, he would soon find he either fit the culture or not, and if not would be likely to return to company A.

Greg Vaughn

I forget the source, but I once heard the aphorism "A talent hires A talent, but B talent hires C talent". Top-notch people prefer working with other top-notch people, but middle-tier people want to make sure they look better than everyone else, so they hire people less capable than they are.


@Davidpick: True, and the same holds for firing. At a former workplace I asked my boss why particular people got fired even though they had really valuable skills. Answer: "Well, you choose to keep the people you can work with" (read: people who don't disagree with you. Publicly! In a meeting!).

Estimating the "Talent Level" at a company does not give you the complete picture though: I used to work at a place that spat out crappy medical software products, wrapped them nicely and sold them with some success. The pay was even better than at most other places I worked. I resigned at some point because it did not feel right to build life-critical systems with such low quality standards. However, in retrospect, given their low standards, the software sytems had been more robust than they should have been. Somehow, by accident, they must have gotten something right in their architecture (it's really hard for the agilist inside me to say this). To me, this shows how little we actually understand our craft.


In my area, there is the phenomenon of "cooptation": your company rewards you if you provide it with applications (I don't know the term in English). That lead to trends for developers migration streams:

x goes from A to B (maybe coopted)
x pulls n colleagues from A to B

Time goes by...

y goes from B to C (maybe coopted)
y pulls n colleagues from B to C

I think you should consider people opportunism and taste for easy money in your theory :). It's the cure for stratification !!! More seriously I think lots of people do great jobs without being in the craftsmanship stuff and are not willing to join the elite team. They're just looking for change and better salary.


You got a really useful blog I have been here reading for about half an hour. I am a newbie and your post is valuable for me….

power balance wholesale

It's a neat puzzle, and in medicine they've actually named a statistical characteristic of cancer studies the `Will Rogers Phenomenon' after this paradox.

power balance wholesale

I don't have any hard evidence for this, but it does seem like you don't have as many places in the middle. Pick two organizations at random in an area and it's likely that they are either on par or wildly different.

iPhone contacts backup

Well. try most of the other ways doesn't work for me and I learn about this here and find the best method to solve this problem and it really good.

The comments to this entry are closed.