Advertisement
If you have a new account but are having problems posting or verifying your account, please email us on hello@boards.ie for help. Thanks :)
Hello all! Please ensure that you are posting a new thread or question in the appropriate forum. The Feedback forum is overwhelmed with questions that are having to be moved elsewhere. If you need help to verify your account contact hello@boards.ie

Is it advisable to move from Java to C#

Options
  • 15-05-2014 10:20am
    #1
    Registered Users Posts: 7,863 ✭✭✭


    Bit of a vague question, I know.

    I've been offered an interview with a really good chance of an offer at the end. The only issue is, they're a .NET house and I've been doing Java since college 2 years ago.

    I did some C# in college but not since, and I've been focusing my career on Java so I'd be worried that if I took this job, I'd forget all my Java and basically have wasted the last 2 years.

    The company is big. Everyone would know them if I mentioned their name, even non-Devs. They offer some good training program and promise to train me to a high standard, but in C#.

    My current job is basically a dead end, and I'll be out of there ASAP since they've moved projects and arent doing any Java at all.

    So basically my choice is, take the C# with the multinational, and supposedly get trained to a high standard (which to me feels like I'll be leaving Java behind, even though they have Java projects in there as well), or hold out for one of the other little companies I've interviewed with, and hope they offer me a Java role (one is offering Android, which is what I'm hoping for).

    They're looking for an answer today, so I'm kinda rushing and panicking trying to decide.

    Any advise?

    Cheers.


Comments

  • Registered Users Posts: 3,945 ✭✭✭Anima


    C# is very similar to Java and better in my opinion. It won't take you long to learn it and if you like the job, this shouldn't be a barrier. A programmer shouldn't really be typecast by a single programming language like you're suggesting.

    Plus it's better for your career development to have another area of expertise. Java devs are a dime and dozen. I wouldn't like for that to be the only thing I knew.


  • Registered Users Posts: 586 ✭✭✭Aswerty


    Most Java skills can be transferred to C#/.Net and vice verca. Specifics about the JRE and CLR are less transferable but since they both are runtime environments they are still quite similar. Also the main frameworks are pretty similar. Be it MVC, ORM, or IoC both ecosystems are fairly diverse.

    I'd say make the move since this sounds like a good opportunity . The only reason as to why you might not want to migrate is that C# is entirely windows centric where with Java you can be developing on Unix based systems. Also with C# your choice in IDE and web servers is restricted.

    I did Java in college and started in a C# role and never had an issue transferring my skills.

    Also the idea of wasting 2 years of learning Java is a bit daft. In that 2 years your main learning was how to program, how to use an object oriented language, how to use an imperative language, how to use heavy weight IDE's such as Eclipse/Netbeans/etc., how to debug software, how to write technical reports, how to write clean readable code, how to do a million other things. Then after all that you learned the syntax and environment of Java. Almost all your skills are completely transferrable, especially since syntax and environment wise Java and C#/.NET/CLR are as similar as any language/runtime will be.


  • Registered Users Posts: 4,080 ✭✭✭sheesh


    Also remember that alot these C# places need a java person in there too for small bits and pieces. The 2 years of jave would not be wasted.


  • Registered Users Posts: 7,863 ✭✭✭The_B_Man


    OP here.
    I suppose the concern I have is moving BACK to Java afterwards, but I suppose when I become a Senior dev, I'll have probably have branched out to a whole host of other languages.
    Being restricted to Windows is also something I thought about, as well as not having experience in Spring and other Java frameworks. I also think there's more potential earnings in Java. The main selling point, to me, is the promise of "being trained to a high standard" as I don't feel my current role has benefitted me at all in terms of improving my Java or OO competency. I'm beginning to feel like I'm falling behind tbh, hence why I'm even considering this role.

    Its basically the promise of getting trained vs leaving the language I know.


  • Moderators, Society & Culture Moderators Posts: 9,689 Mod ✭✭✭✭stevenmu


    Honestly I really don't think you should worry about the language at all. If it's a great role with great prospects then you should jump all over it.

    In terms of future potential, I suspect that if you were to look at salary surveys that Java and C# devs of similar experience would earn roughly the same, variations are far more likely to be based on an individuals specific skills and roles. And in terms of prospects/security, both Java and C# will have plenty of both for the foreseeable future.


  • Advertisement
  • Registered Users Posts: 208 ✭✭httpete


    It's a non-issue, a developer should be able to work in several environments, not be restricted to one language. In my last job I would use C#, Java, and JavaScript on a daily basis, and this was in one of the top 3 biggest software companies in the world. Take this job and then you will leave yourself open to both higher paid C# and Java jobs in the future.


  • Registered Users Posts: 2,781 ✭✭✭amen


    Also remember that alot these C# places need a java person in there too for small bits and pieces

    why and to do what in Java ?


  • Registered Users Posts: 26,571 ✭✭✭✭Creamy Goodness


    As everyone said a programmer should and will be able to code in several languages. C# and Java are very similar the transition would be easier than say going from PHP to Objective C for example.

    If I remember correctly you do a bit of Android in your spare time, that's more than enough to keep yourself fresh in Java and it's in an area which is - if not will be - hugely beneficial to have.


  • Moderators, Business & Finance Moderators Posts: 10,254 Mod ✭✭✭✭Jim2007


    The_B_Man wrote: »
    Its basically the promise of getting trained vs leaving the language I know.

    Imagine for a moment that you were bringing your car in for a service and you overheard the mechanic comment 'well I'm really good with a hammer but I have no idea about how to use a screwdriver'. Would you really consider him to be qualified to do the job???

    In the same way, a programming language is just a tool used by a software engineer and an engineer skilled in just one tool is not going to be much use in the long run!

    When I started out the 'must have' languages were COBOL, Fortran and various dialects of Basic, then came C, Smalltalk, C++, Java, C# and now Javascript... The one thing I can tell you for sure is that you will have to leave Java behind at some time!

    But the thing is no matter what language you use, the basic issues you face in developing an application remain the same and the principles you use to address those issue remain the same, it is just the approach that changes.

    At 50+, I figured that .Net would be the last technology I need to keep me going to retirement at 58... Well that has not worked out for me! I stared working on a new project at the beginning of the year, where the main language I'm using is Dart. You just never know what is around the corner for you in IT.

    So I would say go ahead and take the job, you have a lot to gain by this experience, espically so early in your career. There will be plenty of time to specialise later.


Advertisement