Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I have been doing .NET and MS tech/arcitecture for 4+ years. I have reached a dead end in my current job and is considering moving to a new job. Most of the current available jobs in my city are Java based. J2EE and the like. Is it wise to leave all those years of experience and start from scratch in the Java world?


migration rejected from Sep 8 '13 at 15:03

This question came from our site for professional and enthusiast programmers. Votes, comments, and answers are locked due to the question being closed here, but it may be eligible for editing and reopening on the site where it originated.

closed as off-topic by gnat, Yusubov, MichaelT, GlenH7, Kilian Foth Sep 8 '13 at 15:03

This question appears to be off-topic. The users who voted to close gave this specific reason:

  • "Questions about what language, technology, or project one should take up next are off topic on Programmers, as they can only attract subjective opinions for answers. There are too many individual factors behind the question to create answers that will have lasting value. You may be able to get help in The Whiteboard, our chat room." – gnat, Yusubov, Community, GlenH7
If this question can be reworded to fit the rules in the help center, please edit the question.

which language support of .NET did you use? C#? – Saher Ahwal Aug 19 '11 at 20:43
I wouldn't consider "4+" to be 'all these years'. In this job, 4 years can include the birth, hayday, and death of a technology. If you can't learn new technologies at least every 4 years, you may be in a dead end in a lot of jobs in this field. – corsiKa Aug 19 '11 at 20:45
You're not starting off from scratch. You already know how to program. – GrandmasterB Aug 19 '11 at 20:55
up vote 2 down vote accepted

Here is my wisdom: If you are good at a technology and the technology is in demand in the IT world - Don't quit this technology to start another from scratch unless you have a compelling reason.

Do you think it will be easy for you to sit in an interview for a JAVA position and tell the interviewer that you have 0 years in experience and expect to get the job?

The effort you will spend to move to the new technology may make you a star in .NET. Please ignore all of the above if you have a high IQ, IQ makes miracles.

Microsoft technologies are many and are not trivial, I am sure there are areas you can brush on your skills in development, methodology, design, modeling, testing, etc.

Good luck...

I am pretty sure he provided a pretty decent justification. The market is dry for .NET. If he was a C# programmer and is the type of person that can pick up the J2EE frameworks well then why not go where the market is? Plus a little diversity on a resume doesn't hurt. – Rig Aug 20 '11 at 0:36
Hi Rig, I respect your point totally, my experience is that hiring managers look for experience even in entry level programming jobs. In this market, there are qualified people that want jobs. Being willing to learn is rarely sufficient in this kind of market. Of course it depends. – NoChance Aug 20 '11 at 0:47
My experience has been the contrary so to each their own. Going into an interview without experience in a particular technology has not (significantly) hurt my search for work as long as I can demonstrate my knowledge of related concepts and point to work in the past that has shown skills that transfer smoothly. If the OP's platform dries up I would rather be at 4y exp seeking a new tech than a 14y looking to change platforms with no other experience. Alas, we shall agree to disagree. – Rig Aug 20 '11 at 1:23
It's also a lot easier to leverage 4+ years of .Net into a Java job than to leverage 2+ years of retail (or similar) into any programming job because your market dried up and you didn't learn Java. – Joe Internet Aug 20 '11 at 5:36

Why leave the years of experience behind? Start learning Java in your spare time, and when you feel comfortable, apply to a job that suits you. A language is just a still have years of experience programming. There's never any harm to learning a new language and expanding your skill set.

The problem is that the majority of jobs ads require specific experience years using their listed technologies. Unfortunately they don't search for good programmers, they search for a .NET/Java/C++ programmer who has been using it for the last four or five years. – Chiron Aug 19 '11 at 21:45
Well, the side point is that the "4 years of .NET" experience get to stay there while he learns Java. – Casey Patton Aug 19 '11 at 21:46
Or once you get to a point, "exaggerate" about a couple projects you did at your last job using Java. If you're really comfortable, its not going to hurt anything. – GBa Aug 28 '11 at 20:07

You wouldn't be totally starting from scratch, a lot of your experience is relevant, although getting confident with new libraries takes time.

If you're going to learn new skills and get a job the go for it, but I would keep tour hand in .net too.

Answering .net questions on SO is a good thing too!


If there's more of a demand for Java than .NET then it would make sense to look at a move. Otherwise, stick with .NET - my situation is the opposite because I would like to use Java (for a variety of reasons) but my area is almost 100% .NET so it wouldn't be good to switch unless I was moving to an area that was heavy Java.


Not the answer you're looking for? Browse other questions tagged or ask your own question.