Showing posts with label mainstream. Show all posts
Showing posts with label mainstream. Show all posts

Tuesday, January 11, 2011

Are you mainstream?

If you're not a technology leader (and if you are, you know it), then you probably want to be mainstream. Being mainstream means that your tools and techniques are used and known by a large number of people, and you will have an easy time of finding talent for your shop. Being out of the mainstream means that your tools and techniques are used by a small number of people (or possibly no people) and you will have a difficult time finding people to work in your shop.

But how do you know if you are mainstream? (Again, if you are a technology leader then you are not mainstream, but you set the technical direction and people want to come work with you.)

To answer this question, you need to know to pieces of information: where you are, and where the mainstream is. Easy to say, hard to measure. There is no simple test, no easy evaluation, no "Cosmo quiz" for mainstream IT shops. But there are a few things you can do.

For programming languages, consult the Tiobe Index. It lists the popularity of programming languages for the past two years. You can look at the trends and also see where your language of choice lies.

For other techniques, read magazines and talk with recruiters. Printed magazines are hard to come by these days, and many are little more than advertising for a particular vendor. Recruiters are not without biases, but the good ones will give you an honest assessment of the market (and also try to sell you people).

You can also ask you staff to draft recruitment ads, listing the talents needed for the team. Be careful with this one, as it is easy for your team to think that you are considering outsourcing or replacing them.

An honest evaluation requires looking at your shop from an outsider's perspective, and looking at the world from an outsider's (at least from your shop) perspective. Only then can you decide how close (or far) is the mainstream.

Sunday, January 9, 2011

Swimming in the mainstream

Are you mainstream? That is, is your project team working with mainstream technologies and techniques? And why should you care?

Let's address the last question first: do you care about being mainstream?

The classic division of technology uses three groups: early adopters, mainstream, and laggards. Some divisions use more categories, but the approach assumes a linear progression. Pick a technology, line up the users (and future users) and everyone falls on the line somewhere. Leaders are in the front, laggards in the rear.

I don't quite buy the linearity of technology adoption. I think it can be a bit more complex. In addition to the classifications of "leader", "mainstream", and "laggard", I think there are two others: "non-adopter" and "oddball".

The non-adopters are obvious: they don't use the technology, and probably never will. In the language wars, some shops adopted Java and some adopted C#/.NET. Some shops adopted both. (And a few adopted neither. They are clearly non-adopters.) The pure Java shops that never use C# are, for the linear line of C#, non-adopters. The same holds true for C# shops that never use Java. Or the Java/C# hybrid shop that never adopts COBOL.

The other category is 'oddball'. These are the shops that use a rare technology, or more often a rare technique. They may have a custom-made defect tracking system, or unusual steps in their build/test/deploy process.

You may or may not care about being mainstream. If you are a leader, a company that defines new technology, you don't want to be mainstream. You want to be out in front. Your people will be constantly learning the new technologies.

If you're not a leader, then you probably want to be mainstream. Being mainstream means that you can find new talent fairly easily (and quickly, and cheaply). Being mainstream means that you do things the way other companies do things, and your problems are the same as other companies; discussions of problems will be on supplier web sites.

Being a laggard means that in some ways, things are easier. You're following the rest of the industry, so all of the problems you encounter have probably been solved. Solutions are on the supplier web sites. You may, however, find it hard to find talent. The bright folks will have moved on to newer technologies, and the folks who admit to knowing the technology will be the older, senior (more expensive) people.

The position of oddball is like a laggard, but worse. You have used some unusual tech, or developed your own tech, or created your own processes, and no one outside of your organization understands them. Finding talent means finding people who can adapt to your processes. (These folks are really expensive.)

So you care about being mainstream. It costs you money to be otherwise. We now have the question: are you mainstream, and how can you tell?

But that will have to wait for another post.