generalizing specialists (or is it specializing generalists?)

There are a ton of different beliefs of what it takes to be successful in the software development profession.  Some folks out there would tell you to become the very best “Xyz” developer you can possibly be.  While I’m not against be very competent at any particular skill, I’d sure advocate being very good at many different skills as well.  

Scott Ambler declared this kind of person a Generalizing Specialist years ago and I wish everyone would read his short essay on this topic.  Scott doesn’t suggest being a generalist as these folks are Jack of ALL trades and masters at NONE.  Generalizing Specialists are Jack of MANY trades and masters of SOME.  

Again, best to get this information straight from the link above as this is a solid strategy for a successful and interesting career in software development.