Hacker News new | past | comments | ask | show | jobs | submit login
Ask HN: I've been a java dev for a couple of years, should I move langauge?
3 points by eecks on July 14, 2016 | hide | past | favorite | 5 comments
Like the title says, my first job out of college was/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.

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?

What is best for a career path as a software engineer?




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.


> 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.


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).


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.


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.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: