There's an old paradox from the humorist Will Rogers that uses the migration of people during 1930's Great Depression as a backdrop. Rogers said:
"When the Okies left Oklahoma and moved to California, they raised the average intelligence level in both states."
It certainly sounds paradoxical, but if you think about it a while, you realize that it's possible if the bottom-most people in Oklahoma were smarter on average than the people in California. They leave, Oklahoma's average IQ goes up and so does California's when they arrive.
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.
Closer to home, for us, I think the Will Rogers Paradox applies to workplaces. I've noticed that they stratify. If you pick two companies, A and B in a geographical region, they are either rather close to each other in terms of developer skill level, or they are wildly different: the top developers at A would just barely being able to keep up at B, and if developers from B moved to A, they'd be bored senseless and they'd bolt back to B.
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.
Developers self-select and we end up with stratification of skill across the industry.
Thoughts?
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.
Posted by: Scott | July 07, 2011 at 09:09 AM
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.
Posted by: Mark | July 07, 2011 at 09:11 AM
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.
Posted by: Davidpick | July 07, 2011 at 10:15 AM
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.
Posted by: Greg Vaughn | July 07, 2011 at 12:33 PM
@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.
Posted by: Bob | July 11, 2011 at 12:01 AM
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.
Posted by: Romain | July 17, 2011 at 04:05 AM
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….
Posted by: seetoo | September 22, 2011 at 07:09 AM
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.
Posted by: power balance wholesale | October 05, 2011 at 09:13 PM
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.
Posted by: power balance wholesale | October 05, 2011 at 09:14 PM
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.
Posted by: iPhone contacts backup | February 09, 2012 at 11:12 PM