Specialize in quickly becoming a specialist.
Bill and Casey are having a bit of a blogversation here, here and here about the trouble with being a specialist. Particularly when it comes to MS exams.
It's interesting to watch because I've yet to do these exams (have been meaning to for a while) and the same sorts of things concern me- Remoting (bleh!... an API just waiting to be deprecated), Printing (urm XML->PDF or SQL Reporting Services for me please) and so forth...
But at a more fundamental level these guys have got me thinking. To some degree I am now an employer (of contractors) and when the guys ask me what sort of skill are important a specialist skill is the last thing that I would say. Instead, I think that the most fundamentally important skill in the IT industry is being able to quickly upskill yourself into any given specialty. When I look for potential contractors I'm generally going to look more for self starters who can quickly bring themselves up to speed on a piece of technology. Maybe this is a symptom of being in New Zealand where our limited labour pool makes this sort of JIT learning a necessity. But, I think it's a pretty good approach to take. If I wanted to be a deep level subject matter expert I would have been an academic.... can you say BORING!
Now there is some irony in this. Because, in the case of Casey at least*, the guy seems to have the most profound ability to upskill himself to a pretty detailed level of knowledge over a short period of time Just look at his articles- it's like 'oh.. this week I'm gonna learn Neural Nets' and then he plugs into the matrix and out comes an article...
What we really need is some metric/test/whatever that indicates a persons potential to be 'switched on'... maybe like an IQ and EQ test put together. I actually think being a Jack of All Trades is pretty important provided you can become an expert at light speed when necessary...
*I shall reserve judgement on Bill until after he has purchased me an Imported New Zealand Lager @ MVP Summit 2005.....