When other developers ask me what kind of stuff i'm working on or playing with outside of work hours, they're often quite surprised to hear that i actually try to avoid doing .NET stuff at home. I generally only use it at home if i have to: if i have to prepare for my NHibernate course, or if i'm merging patches that i've received for Agatha. Other than that, i'd rather not spend time on it. It's not that i don't like .NET, but i just don't find it a very interesting space to be in anymore. There's very little innovation going on and the new things that the community and Microsoft are working on most often seem like either new libraries or frameworks to keep doing the same things we've been doing for years, or building things that other development communities already have for a while now. It also doesn't help that a lot of the people who used to be in the ALT.NET community seem to be spending a lot of their spare time learning new languages and platforms instead of pushing for improvement in the .NET community like they used to do. That's not a criticism of them because i can't blame them at all. Hell, i'm doing the same thing.
I still do .NET professionally, and i expect to keep working with it for a few more years because there's just not that much work around here (Belgium) with alternative technologies. And the work that is there most often pays a lot less than your typical .NET job. It shouldn't only be about money, but it does start to matter increasingly once you're no longer in your middle-twenties. So what do you do if you're passionate about development, but aren't quite as passionate anymore about the technical environment you use most often? I started learning Ruby last year and it was an eye-opening experience for me on multiple levels. I love it as a language, and i like a lot of the stuff that is happening in and coming out of the Ruby community. Is it all perfect on that side of the fence? Of course not, nothing is. But it's worth learning, if only because it will expand your mind and your views on software development.
For the past 6 months, i've become increasingly fond of JavaScript and while i don't like it nearly as much as Ruby (still my favorite language), i am very intrigued by the fact that is becoming increasingly relevant on both the client and the server. I want to dive deeply in the world of Node.JS, but i also want to learn more about Backbone.JS and Knockout.JS. I want to explore the world of automated testing for both client-side and server-side JavaScript. I probably should look into CoffeeScript as well, but i'd like to become proficient in JavaScript first before i switch to something that compiles to JavaScript, if only because you're likely going to be reading a lot of JavaScript code anyway for the next couple of years.
Will i still like JavaScript as much 6 months or a year from now, or will i be trying to learn something else by then? Who knows, and really, who cares? What matters to me is that i keep learning new things this way, which keeps things interesting for me. Some of the stuff i'll learn won't be usable to me at all in my daytime .NET coding, but some stuff will. You can never quite tell in advance, just like you can't really know in advance whether it's a good investment to jump into the latest and greatest thing in the .NET world. The only thing that really matters is that you keep enjoying the journey, no matter which technology or language or platforms you get that enjoyment from.