I have a strong C#, Microsoft stack background but, for whatever reason, in my area there are significantly more Java jobs going and I am quite interested in switching technology and applying for those Java jobs as there would appear to be more opportunity in that technology locally. But I am struggling to get to the interview stage. What can I do to make my Microsoft C# heavy resume or cv look attractive to a Java recruiter?

Assume that for this exercise the Java recruiter has no experience of C# or Microsoft technologies (the companies I'm interested in appear to only use Java stack technologies). Yes, the two languages are quite similar but I'm concerned the recruiters are dismissing my application because of no actual Java experience and / or experience with typical Java frameworks e.g. Spring, Tomcat, Junit, etc.

I typically see requirements like "3+ years of Java development experience", is there any way I can work around that in my application?

What should be emphasised in the resume or cv to address this?

What to state in a covering letter or email to address the transition?

Possibly relevant related posts:
The following posts offer the opinion that a transition from C# / .Net to Java is not that big a thing, some said they found the transition quite easy, and I'm wondering how best to get that across in resumes & cover letters to Java recruiters who may not realise or may not have people able to assess someone coming in from a different language because they don't know any other language or technology than Java. Also, the posts may be useful to anyone else also considering similar transition.

Moving from .NET to Java [duplicate]

Tips for moving from C# to Java?

Going from C# to Java [closed]

  • 2
    It's a tough problem. the only language that can help you is the handy job title for software engineers "generalist". It signals that you are not language specific.
    – Fattie
    Jun 29 '17 at 11:25
  • 3
    A good way of achieving this is finding an employer that is Java-based but more interested in general software engineering skils than the specific tech stack. Look for adverts that emphasize this. Use these jobs as a way to make the transition.
    – Ant P
    Jun 29 '17 at 12:19
  • 1
    C# is a decent substitute for Java on a resume, but there really isn't much more advice to give beyond trying to customise your resume to other requirements of the job (job requires X, Y is similar to X, so focus on X or Y). If you're really concerned about this, start working on an open-source or resume-worthy personal Java project. Many people just don't care much or at all about language. Also, this question seems to require too specific domain knowledge to be on topic here (and is also too specific, too broad and opinion-based). Jun 29 '17 at 13:23
  • 1
    As nvoigt correctly says, another good one is just - simply - fieldname-then-engineer. Hence, instead of "c# engineer" go with "Full Stack Engineer"; instead of "Android Engineer" go with "Mobile Engineer".
    – Fattie
    Jun 29 '17 at 14:02
  • There's a chance your profile is automatically filtered out since it presumably doesn't contain "Java" at all. There definitely isn't a way around that without lying or plugging it in in some other way (which would almost certainly result in your resume getting thrown out at a later stage due to that behaviour more than lacking Java skills) or doing resume-worthy Java things. If you're not getting interviews despite many good-match applications, there's probably a better chance that your resume is just lacking other things (because, like I said above, language just isn't that important). Jun 29 '17 at 14:46

I'm concerned the recruiters are dismissing my application because of no actual Java experience and / or experience with typical Java frameworks

Well, maybe they are right? If you don't have that experience, then I'm afraid you don't have that experience. If they have that requirement, you will not be a good fit for the job.

Assuming their requirement is softer and a compromise can be reached, emphasize that you are a developer, solving problems. Make the language and stack and second priority. Companies are not actually interested in the specifics, they hire people not to develop software with Java, but to solve their business problems (Good read on that topic). So focus on how you solve business problems and make money for the company.

Better yet, in addition to focus on being a problem solver, show them that you have started transitioning to Java. This can be a project in your old company, a hobby project or just a class you once took. Show them that Java is not that thing you never heard of, but just something you need to get better at.

  • Right. "Generalist" is about the only common term that may help. So at the top of OP's cv at the moment it may say "Johnnie Jones, Senior c# engineer and architect". Change to something like "Johnnie Jones, Senior full stack generalist, architect".
    – Fattie
    Jun 29 '17 at 11:27
  • 3
    Personally, I would prefer simply "developer" or "engineer", dropping the language specifier altogether thereby implying a wider field. If someone calls himself a generalist explicitly and then only lists one language, that'd sound weird to me.
    – nvoigt
    Jun 29 '17 at 11:31
  • "...maybe they are right? ...you will not be a good fit for the job". Yes, fair enough. Just that I see opinion in other SE posts that it should not be a difficult transition (I'll add links to main post) so I'm wondering how best to get that across in job applications and if anyone has good workaround or response to the "X years experience" requirement
    – abc123
    Jun 29 '17 at 12:38
  • 1
    @abc123 just because it's not a difficult transition, doesn't mean all companies realize that ;) (Or even has people capable of judging if you're a fit. Most people in my current company wouldn't be able to assess someone coming in from a different language because they don't know any)
    – Erik
    Jun 29 '17 at 12:48
  • @nvoigt - you're right, it's a tricky one. "Generalist" can sound a bit like you're "trying hard to point it out". It's a tough problem. I agree that just "mobile engineer" is a way around it. (Rather than "iOS-Swift Engineer", say.)
    – Fattie
    Jun 29 '17 at 14:00

This is similar to an experience I had when applying for DevOps roles earlier on in my career. It is possible recruiters dismiss your candidacy due to not having experience. But that shouldn't stop you!

My advice is to start diving in to those technologies. If you don't have a GitHub account, make one. Start working on small projects with the technologies you listed: Spring, Tomcat, Java, etc. This can certainly make up for the professional experience that is missing. When you feel comfortable enough, put those projects on your GitHub account and slap your GitHub URL on your resume. This will serve as your portfolio and will be sure to turn heads.

Not the answer you're looking for? Browse other questions tagged .