As a software developer, I want to flexible in my choice of tools to get a job done, but have been java focused for almost 4 years, with a year of C++ before that. There is still much for me to learn, and I'm wondering if it is possible to be a good software developer knowing and using both .NET and J2EE. I am hesitant to say that I could go back and forth effectively. I know the Pragmatic Programmers recommend learning a new language each year, but I haven't embraced this idea yet, with so much of java I still have to learn. Does anyone follow this? I'm sure it pays off to some degree, but is it worth learning a new language when I have so much java to learn?
Interoperable webservices dependent systems are already here. One of the major Investment banking company uses C#/ASP .net for GUI and Java Webservices(using a appserver) on the backend. There are many projects in which both the .net and J2EE technologies are used. Its the matter of your motivation. From my personal experience, to be in the cutting edge you need to learn new technologies( could be ASP .net, JMS, JSP, JSF etc) once every 2-3 months. That is the only way you can be ahead of the curve and lead the pack. Kishore.
I try to learn something new at least every other month. I try to stick with stuff that I find interesting so that studying doesn't make me miserable. If the topic has a corresponding certification it can be a good way to challenge yourself and stay on track. I haven't learned a new language in a couple years... except for maybe C# but I won't count that since it's so similar to Java. There's so many other things you can mess with it's almost scary. I agree with Kishore. There's so many things like Struts, JUnit, and Ant that you can add to your toolbox to make you a better developer. But it IS about motivation - just read a lot on different technologies and delve into one that sounds like fun!