Wow you guys hit on a lot of topics in one thread.. There are a lot of great ideas and comments in here.. Some thoughts...
On Scott Hanselman:
Scott's a pretty nice guy.. I met him briefly at PDC '09.. He describes himself as a "technologist" with a true love of development tools and technologies. He's fairly big on professional and personal development (read: image), so I can see how he can kind of come off as a jerk at first.
On Languages:
After coding long enough in a couple of dozen languages, you will find that for the most part moving between languages is more of a concern of syntax and semantics than technology. If the '90's could be considered the decade for the rise of 4th Generation Languages, then I would classify the '00's as the decade of frameworks. I think you'll find that the majority of the arguments over language X vs Y are really arguments over frameworks, utilities, and tools.
On How Companies View Developers:
Obviously, this varies from organization to organization. I have done work for the state, work for private industries, and am currently a consultant. I have been treated as a cog/FTE as well as a demigod. A lot depends on the attitude of management. One would think that the specific product or line of business on which the organization is based (i.e. producing a software package vs. SaaS vs. support development) would dictate the importance of individual developers, but that just is not the case. Many developers (the smart ones at least ;) ) are very concerned with professional development, career continuity, and personal growth. Unfortunately, most companies are only concerned with the bottom-line or billable percentages. The smart companies out there realize that by enabling their developers (and IT staff in general) to grow (via training, working on pet projects, or doing R&D) they are building up another form of capital: knowledge.
On Choosing Technologies:
In every project on which I work, the two determining factors which define "success" are: the fundamental requirements, and the timeframe involved. Customers generally could care less about technology. In that sense, the tech becomes more of a marketing tool. Do you think Facebook's 800 million users care about the underlying platform or tools used in development? How about Twitter? The small business owner using Quickbooks? Turn that around and consider the project stakeholders, what do they care about? Time to market/production? Training? Error tracking and ease of deployment? Support? What does the development team lead care about? Efficient code? Project velocity? Near-seamless integration? Developer familiarity? I think if you took a cross-section of the above requirements, you might find what drives most technology decisions.
Can you think of a language/platform that does not deliver on the above requirements? Given the right developers, enough time, and a decent plan, nearly any language or platform will work.
All of that having been said, and perhaps to address what seems to be the core question here - on what technology should I base my career, and how do I determine if that technology is the right fit for what I want to do - it depends: on luck, on careful planning, and on ability to take a risk. I used to be a generalist. If you dig up an old copy of my resume, you'll find 25 languages and 5 platforms listed. At about the time that .net came out, I specialized in Java, ColdFusion, C++, and Visual Basic. I did a lot of soul-searching over a weekend and realized that my career wasn't about the language or tools I was using, but about the solutions that I could provide. That was the weekend that I decided to commit to the Microsoft stack of technologies. It doesn't mean that I don't get to still play with cool technologies, platforms, and tools. But it does mean that I take the language/platform variable out of the equation of my life. The problems I tackle now are (to me) much more interesting: Sql vs NoSql, CQRS and DDD, platform integration, and solving previously "unsolvable" technology problems - just to name a few. I plan on looking into Ruby and possibly ErLang, but frankly, I don't have the time. Does .net solve all problems? Absolutely not! Do I still pay attention and participate in other communities? Absolutely! Where do I think you should take your career, and is your currently group doing the "right thing"? Who knows!
The bottom line, one that has taking me a long time to figure out, is that if you want to do development "right" file for a business license and open your own shop (or become the lead in the organization that you love). Otherwise, you will be spending a lot of frustrating days fighting an uphill battle.