Changing language

Nintendo / IT . 🐈.
Nov 6, 2017 15 Comments

I am a java sr dev by trade, however there are a couple of groups at Microsoft that I want to apply into that are looking for c# or c++ devs. Now I can brush up on my different c's (luckily c# is very similar to Java, and really c++ only has triple the rules, but idioms of the languages can be quite different) but I assume don't apply for a senior position and be ready to take a hit to pay.

Really though this question steps past Microsoft and to anyone out there. What struggles have you found changing languages?

comments

Want to comment? LOG IN or SIGN UP
TOP 15 Comments
  • Carvana / Eng
    cFaS24

    Carvana Eng

    BIO
    Product Manager (Fmr Sw Eng - Joined the dark side)
    cFaS24more
    Java and C# are very similar. You’ll just end up hating Java after switching because of how nice it is to write code in C#.
    Nov 6, 2017 0
  • Microsoft
    yMcg47

    Microsoft

    BIO
    Amicitiae nostrae memoriam spero sempiternam fore
    yMcg47more
    Good teams shouldn’t care. If they do, you don’t want to join
    Nov 6, 2017 0
  • Microsoft / Eng Leetcode🏅
    If you struggle changing languages, you're not doing something right
    Nov 6, 2017 1
    • Nintendo / IT . 🐈.
      OP
      Nah, it's more of a question of "what struggles would I have with getting a new job with a different language than what my resume dictates". However, that said, spotting a race condition by understanding that Java servlets are singletons and not instanced objects is a common mistake new devs to Java make. It's these finer details about special language rules and assumptions that could fill books and are usually picked up by another dev telling you that is bad and this is why.
      Nov 6, 2017
  • Microsoft Phoenix1
    Yes Java and C# are easier to switch. But c++ don't even think that u can start as a senior in C++. The language is pure evil and will make u do all the labor. It will take a year to perform at the same level of productivity and only if u r patient enough...
    Nov 6, 2017 2
    • Microsoft
      NeilGamby

      Microsoft

      PRE
      Amazon
      NeilGambymore
      Right but who is going to give you that chance?
      Nov 6, 2017
    • Microsoft kappan
      In my experience, the expected productivity is proportionately lower for c++. Ymmv.
      Nov 7, 2017
  • Google / Eng ae521
    Switching languages isn't a big deal. You can learn as you go and still be productive.
    Nov 6, 2017 0
  • Microsoft TheCurate
    I have a lot of Java experience and picked up C# fairly recently. It’s not that hard. Jon Skeet’s book is good.
    Nov 6, 2017 0
  • Starbucks HAqV85
    You shouldn't have any problem picking up C#. It's Java with different terms (I'm over simplifying but you'll see what I mean a few hours in) The biggest learning curve would be some of the dependency Management and iDE workflows. I can't speak to those in depth because it's been a few years since I worked with visual studio and I know they made a lot of changes since then.

    The only time I've really had a hard time picking up a language is when it's a completely different syntax or backed by a unique methodology. Something like objective-c . Even then it wasn't tooo bad since the core principles tend to stay the same. It mainly becomes a lot of internet searches that basically amount to "I know how to do X in Java, how is that done in (language)".

    Oh and the most important thing probably is to research the key differences of a language/platform. For example, Going back to objective-c it's collections and memory management methodology is different than Java and early on I found myself making naive mistakes.
    Nov 7, 2017 2
    • Google / Eng ae521
      +1

      I started with JavaScript when I was 12 and everything has felt similar since... Until I got to scheme/LISP varients. I still haven't gotten comfortable with those.
      Nov 7, 2017
    • Carvana / Eng
      cFaS24

      Carvana Eng

      BIO
      Product Manager (Fmr Sw Eng - Joined the dark side)
      cFaS24more
      With Microsoft moving towards Git it’s made working with Visual Studio much much easier. No more figuring out one off TFS branching strategies or workflows.
      Nov 8, 2017
  • Microsoft / Eng Ayrr11
    What everyone else said. Don’t look too much into the language. That’s not what makes you senior
    Nov 6, 2017 1
    • Microsoft WbPl02
      From my mentor "senior engineers write code that junior engineers can maintain. Junior engineers write code that only seniors can maintain"
      Nov 6, 2017
  • Qualtrics Q123
    It highly depends on the number of languages you already know and their concept diversity. Learning the 2nd vs learning the 5th can be considerably different as the more you know, the more "deja-vu"s you get. e.g. C# is pretty close to Java. JavaScript would not be that close and things like closures and prototype inheritance would seem confusing at first. C++(I assume you refer to native) would require you to handle things like memory deallocations, learn that templates are evaluated at compile time, inline functions, virtual functions etc. Even though this will require you to learn on the side, that would be just part of ramping up for the job and even expected in most cases.
    Nov 6, 2017 0

Salary
Comparison

    Real time salary information from verified employees