I work in an area that's dominated by .NET and Microsoft - roughly 98% of the programming job postings I see (as few as they are, since everything is these recruiting and staffing firms) want .NET developers, and I only see the occasional job wanting Java (always requiring years of experience) or PHP hacking jobs.
Therein lies the problem, because while I know some .NET I haven't really used it in almost two years, and during that time I've started to read up about and use open source technologies. I like open source a lot better than I do Microsoft.
Basically, I am wondering if it'd be a stupid move to switch my focus to learning Linux, open source and possibly Java or Python (or both) as my development of choice, since the market is decidedly Microsoft biased. I'm also interested in learning Rich Internet Application development using something like Adobe Flex, but again I'm not seeing any market for it.
I feel constrained because what I want to learn and use isn't in demand, and what I've used in the past and don't like so much is in demand. So I feel like if I want my career to be better I need to suck it up and stick with Microsoft, but it's not something I really want to do and I'd much rather learn and push open source; call me stupid but I think with the bad turn of the economy and things getting worse that more and more places are going to be switching to open source to cut down on cost.
I mean, I could stick with Microsoft and do all those things (RIA => Silverlight, Java => C#, etc. etc.) and I already have a small background in Microsoft, just everything with them seems to be constantly pushing the latest and greatest and it's all so ridiculously expensive even to learn!
Can anyone offer some advice?