Saturday, November 17, 2007

The pros & cons to specialization

The last week or so I have been mulling over the implications of specialization in the IT area and also the implications in general. Before I go any further I want to make two things very clear:
1) This will be a long post.
2) I am not knocking specialization in general, I want my heart surgeon to be specialized, I don't care so much about the burger flipper at the local fast food chain.

However the majority of my professional experience (starting at the ripe old age of 16) has been in IT. As I am getting a little older now I am seeing the effects of people specializing. Do, I think it is good or bad that people specialize? Well I think it is good and bad when people specialize.

From what I can see here are the main reasons people specialize:
  • More money (bad reason, imho)
  • Forced to because of management (bad reason)
  • They are really interested in a certain area (good reason)
I think the reasons people do not specialize are:
  • They can't in their current position (i.e. small company)
  • They don't think they are "smart" enough (BS)
  • They are lazy
  • They would prefer to be a generalist
I am sure there are more reasons for each area but I will just stop now. So, what are the implications of specializing vs. not specializing? I really think it depends on the size of the company. At my previous employer you could not specialize, sure, you could just do programming but in order to best help the company it was better to be able to wear multiple hats (support, network administration, programming, security, etc...). The company was small though and there was a total of 7 IT people which really is not many for a 400 person company with 20+ internal applications.

At my current employer the company is huge and their is a management push to specialize and then broaden your impact on the company. This is fine and good until you sit and think about it. If the majority of people are specialized in one skill how will they be able to see problems that are outside of their specialty? What happens when almost everyone is a specialist? Who will be there to take a macro-view of the whole situation and say "hey, what the fuck are you guys doing this blows?"

Isn't there a need for specialist in IT? Yes, there is. Does everyone need to be? No, I think the majority of people do not need to be specialist but here in lies the rub. It is basic economics that if you are a specialist the supply of the same specialist will be low and you can charge more. Which means if you want to make more money you need to specialize. See the problem? The ability to get the same pay but do a good job being a generalist is not there. That to me is the key issue. Why can't IT workers be paid just as well for being there year after year learning product X better and doing solid work (not just "I get the job done")? One thing I have thought about is that if more and more people become specialized the generalist is now a specialist :).

I can also hear a few people saying "Mike, you are in application security aren't you specialized?" Umm, kind of I guess but not really. On any given day I will have to put on my project management hat, my developer hat, my security hat, my database developer hat, my usability hat, etc... I have a wide body of interests in IT so if you wish to debate with me on if I am specialist lets go get a beer and we can debate, I will even buy the first round :).

Yes, I am biased towards being a generalist but I also see the value of people who are specialized. If I had some database performance work I want someone who knows how the specific database's indexer works, what gets pre-compiled and other tricks for making database operations as quick as possible. I also know the power of someone who can read assembly like it is a fiction. But in the same lines I have seen the use of someone who has basic knowledge of all areas and can pull them together to create a rather interesting idea.

With everything being said I would say that it seems like when people are in a larger organization they tend to specialize and try not to take a holistic view. I think that is the wrong way to go because it will create disconnected systems and duplicated work. It should rather be that the majority of people are generalist and when they need someone who is specialized they contact that person. What about pay though? Well that is a challenging thing which I think could be a whole post on its own :).

Well back to finishing off my latte.

0 Comments:

Post a Comment

<< Home