DEV Community

Discussion on: Start learning a new language or go deeper with Java

Collapse
 
sargalias profile image
Spyros Argalias

That's cool. It's great that you want to improve. First of all, don't be discouraged. Interviews are always stressful and you may get asked questions that you're not ready for. It doesn't mean that your work isn't good. In fact, it sounds like you've been doing pretty well, especially since you passed to the next stage.

As for how to improve, both options you mentioned sound good. Learning something new and different gives you a different perspective, as you mentioned. But also going deeper into Java would be good too.

Since you're asking for an opinion, I would say:

  1. Learn Java deeper. It's what you use at work and it's what started you on worrying that you need to improve. In JavaScript (the language I use), I read a book like You Don't Know JavaScript, which explains the finer details of the language at a level deeper than what you normally use at work. Having that knowledge of your language can be useful.
  2. Learn how to write clean code and learn about programming principles. I'm not sure if you feel like you need this. However, when someone asks me how to improve this is always my main answer (other than being able to use your programming language). Clean code and programming principles, in my opinion, make you a better developer far more than learning anything else does. I also consider them far more important than knowing more programming paradigms like functional programming and such.
  3. As you mentioned, learn more paradigms / something new that will give you a different perspective. This can be a higher level language (like Ruby / Rails as you mentioned) or functional programming with something like Clojure or Scala. Alternatively, you can also learn functional programming while sticking with Java. It just might be harder to learn because you're not forced to use it in Java, so you might fall back to standard OOP.

Hope that helps :)

Collapse
 
sayantjm profile image
sayantjm

Thanks a lot, it really helps! I read some books related to spring framework and I should do the same with Java, as you proposed. I will look for a book similar to your suggestion but for Java.
Regarding point two, I know some techniques related to clean code and design patterns and I always have them in mind when I review code, but it’s true that reading the concepts again will always help.
As you said, as Java is what I usually use in my day to day, it might be better to go deeper with it and maybe give a chance to functional programming in Java.