Yesterday I posted Building YOUR Brand that described a formula for becoming rich and famous. Well, perhaps richer than you are now anyway. It's fine to have a formula, but in practice there's more to it than having and following the formula. So in that line of thought, I've got a few follow up comments I want to get written down.
First, we can't get so caught up in building our brand that we forget to be team players. Unless you're one of the 1% that can sell, handle the finances, and do all the other stuff that makes a one person business successful you're going to need some other people helping you succeed. Most IT people truly hate selling, advertising, and self promotion, wishing for some perfect world where people just somehow recognize that you're the best and they should hire you. So ranting aside, just remember that few of us are really teams of one.
Even if you follow my formula (or the one of your choice) you've got to put in the sweat equity and it's not a lot of fun. You're going to do a lot of reading, testing, etc, all for no immediate pay off and no guarantee of a long term pay off. Most people just don't have the will to put in the years of extra effort required to move you to the very top of the heap.
It's good to specialize, but it also presents a danger to your career if the wind shifts and you have to suddenly try to shift to a new career focus. In the SQL world for example you might want to dig into Service Broker or replication, but don't expect to make a living on just that knowledge.
Put some thought into who you are, what you want to know, and to what extent you want to try to convert that knowledge and experience to money or other benefits. Most of us take the jobs that come along and don't do the kind of career planning that we'd expect to do on even a simple project at work - why is that anyway?