NET developer applying for a Java job [closed]?

There's a big difference between "mid-senior Java position" and "mid-senior position in a Java shop". Don't let the fact that a job specifies Java keep you from applying. And don't listen to the folks telling you that you have to start at the bottom again and work your way up, either.

But be honest on your resume and honest in your interviews. Most senior (10+ years of experience) Java people -- which is to say, people like your managers-to-be -- started out doing C or C++, or spent a few years toiling in the Perl mines. They've seen frameworks come and go -- J2EE to JSP to Struts to JSF to Wicket or whatever.

They're used to the idea that developers use a lot of different technologies in the course of a career. If they bring you in, knowing that you don't have any Java experience, Java experience won't be what they're looking for. They'll be looking to find out whether you're smart, whether you pick things up quickly, whether you have good design instincts, work and coding habits -- as Joel Spolsky says, whether you're Smart and Get Things Done.

A Java shop that's looking for someone with specific platform skills and experience -- JavaEE, Spring, whatever -- probably has a round hole that needs a round peg, and won't take you. A Java shop that's just looking for a good developer might. And the second shop is the one you want to be working for, anyway.As to whether you can do the job once you've got it -- I don't see why not.

:) 18 months later... I myself, despite my nearly-all-Java resume, am now senior developer in an iOS/Ruby on Rails shop, writing iPhone apps in C# with Monotouch. So it can be done!

Well worded and somewhat encouraging. Hopefully I can find a shop in town that is more like the latter in your scenario. – josha76 Jul 3 '09 at 7:21 The kind of reasonable and understanding shops described here are very, very few... :( – Graviton Jul 31 '09 at 8:12.

The language is truly just a small part of the equation. When they ask for "3-5 years of Java experience," they are talking about the platform, not the language, and depending on the job, it may be a particular segment of the platform even, not the whole platform. Let's put it this way.

You have been doing WinForms work. Imagine if someone asked you to work on a WPF project. That WinForms experience would be tangentially helpful, but you would find yourself having quite a bit to learn still.

2 +1 Nice analogy – William Brendel Jul 2 '09 at 3:15 Great point. Thanks. – josha76 Jul 2 '09 at 4:08.

My honest best assessment is that it depends on what end of the following spectrum you fall in: Extreme A - Microsoft purist who has done everything by the Microsoft book and has a vast amount of experience with Windows Forms, Web Forms, WCF, etc. Extreme B - Well rounded Microsoft technologist (the term Alt. Net'ers comes to mind). Familiar with tools ported from the Java world (NAnt, NUnit, N Spring.

NET, etc) and open to techniques such as DI/IoC, AOP, and ORM that haven't been part of the "traditional Microsoft curriculum". If you tend closer towards extreme B, you're skills are much more likely to transfer well into the Java world. If you tend towards extreme A, you've got a lot of hard work ahead.

Somewhere in between == somewhere in between.

Ngu's answer is good and very realistic as well. It's going to be hard selling yourself as a Java guy if you're a C# guy. Exception being, if you're a true Extreme B type of guy, I'd pick you up anyway since you likely have some of the other intangibles that I'd want for a team member.

– Thomas Beck Jul 2 '09 at 3:09 Unfortunately, I fall into "Extreme A. " Of the tools ported from Java, NUnit is about the only one I've used. – josha76 Jul 2 '09 at 4:02.

I don't want to discourage you, but depending on the HR, switching field can be a bit difficult. Believing that the past is a good predictor of the future, the HR people will try to scan your resume to see whether you have the correct experience or not. In other words, if on your resume you don't have the correct keywords, the HR people will simply just ignore you.

You are automatically excluded regardless of how brilliant you are or how fast you can pick up new technologies. That's the worst kind of treatment can ever be bestowed upon, even worse than turning you down because when people turn you down, at least they gave you some consideration in the first place.

1 Take this one step further...say you lie on your resume and change out all your c# experience for java experience. Then you land on the job cause you managed to BS your way through the interview...then they find out you lied! Not a good idea.

Stick with C#. It pays better anyways! – Andrew Siemer Jul 2 '09 at 3:01 1 Sadly, that snippet is so true.

I've found great resumes that my HR didn't pass to me for consideration because it was missing "XML" or "ADO. Net" Very unfair. – josha76 Jul 2 '09 at 4:12 @Andrew - Yeah, I agree.

While I would fudge something small that I feel I could pickup with a few weeks of hard studying, I don't think I'd ever go as far trading out my c# with java. I couldn't take the embarrassment of getting torn up at a tech interview :( – josha76 Jul 2 '09 at 4:15 This has been discussed about recruiters as well. HR just needs an overhaul if the company does not want to let talent go.

– whatnick Sep 25 '09 at 5:14.

There are some language/framework environments where solid code design and good programming ability are far more important than specific experience (Python/Django and JavaScript come to mind); and there are others where no matter how smart you are, without deep and long experience with the libraries you're just lost. J2EE is the epitome of the last. If I had a position for a generic Java developer, I might consider someone with mostly .

NET experience, as long as he has done some Java. If I wanted a J2EE developer, I definitely wouldn't give a second look to anyone without a year of real J2EE work, at least.

1, J2EE is overwhelming at the beginning, I remember that I had to chew through plenty of concepts just to create a simple proof-of-concept app. – please delete me Jul 2 '09 at 3:48.

I am afraid your chances are not very high. Your best bet would probably be to apply for a beginner level Java position to gain some experience. With over 1 year Java experience plus your .

NET knowledge your chances will be considerably better.

However, the language is just a small part of the whole equation. You're correct. You're best bet would be to apply for a software "designer"-type role armed with your .

NET experience and an SCJP certificate to prove your understanding of the Java language. The force of your argument should be in the direction of your skill in designing (experience, pattern application, integration etc) to convince the prospective employer. Uphill, but doable.

Your best hope would be to find a place where they will be willing to overlook your lack of Java skills due to your otherwise outstanding programming skills. If you try to BS your way through an interview, and do land a java job, it will most likely be in a really crappy place where there's no one good enough to see through the BS. As everyone else said, the language is a small part of the ecosystem.As a Java developer, you're not only expected to know the core libraries (which will be quite different from .

NET), but also where to get and how to use thirdparty libraries that don't come with the SDK. As a Java developer, you'll be doing that a lot, which is a very different mindset than the one prevalent in the . Net world (where it's either part of the toolkit or you most likely have to implement it yourself.

).

Jumping to a mid-senior level "usually" require J2EE on your resume, it's just the truth. Mastering the language to the point where you'll be qualified and seen as a mid-senior Java developer will take years, even if you don't sleep at night. There are too many Java libraries and frameworks that senior developers are expected to have expertise in.

However, if you happen to meet an intelligent person, which I seriously doubt, especially during this recession, he'll understand that . NET to Java is not that a huge risk depending on what the company uses(frameworks, libraries, tools, etc. ). The first time I wrote some C# code was when .

NET framework was new, that year I spent lots of time preparing an essay on it at University. I didn't use . NET that often professionally.

I think that if I wanted to switch from Java to . NET, people would probably offer me a Junior to mid level position. That alone is enough for me not to switch(huge salary cut, job title, etc. ).

If I were you, I'd keep trying to find a job or move to another city if you can. This is not a trivial career change especially when you have 5-10+ years of experience. Whatever you decide, good luck.

It doesn't seem realistic to land a mid-senior Java position. Jr. level is more possible. Side notes: I've been a developer using Microsoft Visual Studio for a very long time.

First VB, then VB. NET and into C#. Before my transition to C# I decided to accept a job using a non-MS language.

Didn't work for me, guess I've been assimilated. Maybe you'll find a great career path in Java. Are you looking at the Java route because you really want the change or you really want a job?

I lost my job early this year and got another position a few months by leveraging my US citizen status and searching URL1. Maybe you could land something at Area 51 ... oh that really doesn't exist, or does it? ;) Best success in whatever path you choose!

As others have mentioned, you'll pick up the language in no time - it is almost a subset of C#. However, what I suspect will take time to pick up is the technology that inevitably comes with a Java project. The Java eco system is extensive.

Here are a few examples of what you'll need to know to be considered for a senior level java developer role: Java the platform (as opposed to Java the language) - There is a heap of technology provided in the JDK that you will need to understand. The Java VM is much more tunable than the CLR for example. Just knowing the Java Language Spec is not enough.

Third party libraries - there are some that are so popular they are defacto standards. Spring, log4j, Apache's offerings, etc. Maven - unless you've tried the . Net port, this will be quite new to you ORMs - have been quite popular in Java for a while.

Bernate is the most well known, but there are all sorts of ways of "helping" you avoid SQL. JDO, JPA, EJB 3, etc *nix OS - Windows is not a popular OS for Java server applications so you are going to be expected to have a working knowledge of *nix OS's. Java servers / containers - there are loads of web servers, JSP containers, EJB servers, IOC containers, Java databases, etc to contend with.

IDEs are pretty simillar - the transition from a Resharper-equipped Visual Studio to IntelliJ is particularly straightforward. However you will probably spend a while fiddling with plugins and learning keyboard mappings. None of these items is particularly difficult, but learning enough to be productive adds up to a fair chunk of time.

Thanks for taking the time to list those. Yes, this is what I was worried about. There are easily this many external factors when it comes to windows/.

Net programming, I knew there had to be just as many for the flip side of the coin. – josha76 Jul 3 '09 at 7:19.

I cant really gove you an answer,but what I can give you is a way to a solution, that is you have to find the anglde that you relate to or peaks your interest. A good paper is one that people get drawn into because it reaches them ln some way.As for me WW11 to me, I think of the holocaust and the effect it had on the survivors, their families and those who stood by and did nothing until it was too late.

Related Questions