
Ask HN: I've been a java dev for a couple of years, should I move langauge? - eecks
Like the title says, my first job out of college was&#x2F;is a java development role. I do database level (stored procedures) and front-end stuff (html, css, js, etc) as well so I am technically full stack.<p>I have seen a few job openings that advertise transitioning into python or ruby without needing the experience. Is it worth time and effort to program in a different language for awhile?<p>What is best for a career path as a software engineer?
======
AnimalMuppet
Why would you want to move languages?

Do you dislike Java as a language (or feel it is technically inadequate in
some way)?

Do you feel that it would be good for your career to know more languages?

If you've been out of college, and you're able to find work with what you
know, I'd say your career priority is to get better at what you know. Become
"master of one" before worrying about "jack of all trades". (I'm not saying
"don't learn another language", but it's lower priority.)

But if you feel that Java is inadequate for the kinds of programs you want to
write, or if you feel like you are on a career dead end without learning more,
then make learning a new language your priority.

~~~
eecks
> Do you feel that it would be good for your career to know more languages?

This is basically what I am trying to ask. I know Java is popular in a lot of
fintech companies but less so in startups. I don't want to cut myself off from
certain types of jobs.

------
cauterized
It's always a good idea to be competent in more than one language. For two
reasons:

1) it gives you more opportunities and options and prevents you from being
pigeonholed 2) the more languages you learn the faster you'll pick up the next
one - giving you even more flexibility

As some other people have commented, you should choose your next language
based on both what sorts of project you'll be able to build from it and what
you'll learn from it (be that working with pointers, a completely different
syntax family, or a programming paradigm that's new to you).

------
angersock
I'd suggest C, since you already know Java, and that'll get you closer to the
metal. Do some little stuff on an Arduino or whatever.

Then, there's some different paths.

More metal means C++, Rust, D.

More webdev means Elixir/Phoenix, Ruby/Rails, PHP/Laravel.

More systems means Erlang, Elixir, Ruby, Go.

If you just want to round out your skillset, conisder Elixir, Haskell,
Clojure, OCaml.

------
PaulHoule
Personally I think Java in 2016 is better than ever. And if you are in the JVM
you have a choice of languages like JRuby, Clojure, Scala, Kotlin, etc.

