Hi there! Since I’m interested in Backend development and I saw that there are a lot of job offers for Java Developers where I live (Berlin). Is it just a case? In particular I noticed that it is used a lot with big data and data science. But Node.js seems to be scalable as well… Would you recommend to learn Java?
Nope! No language is really essential to being a Backend Developer! Yes Java is a fairly popular language, but unless you want to program android apps if you don’t want to learn java there is really no need! Node.js is an excellent option and gaining a lot of popularity currently.
@twmilli is right. NodeJS is gaining a lot of popularity. However, at least here at Spain, there are roughly a couple of positions that wants NodeJS for backend per month. The biggest companies (which are the ones that demands more developers) ask a lot for J2EE and PHP. Again I say that this is the situation at Spain. The best you can do is to look for jobs on your country and see which are the requirements.
I know that Java is the most used language in the world, but many people describe it as a “monolithic” language and this made me feel like not learning it at the moment, as there are other languages that I find more attractive…
Agree . The so called Gorilla / Banana Problem described by Eric Elliot which extends to all OOP languages. However I think Java is the most evident:
The problem with object-oriented languages is they’ve got all this implicit environment that they carry around with them. You wanted a banana, but what you got was a gorilla holding the banana and the entire jungle.
Yet, Java is a very important language that it’s going to stay for very long. It’s very monolithic, indeed, but it’s very reliable for big applications because the restrictions it imposes to the developers. A friend of mine told me that the best thing about Java is its error logs. Thus, and because it’s very worldwide spread in all companies, stills a good choice for web careers.
Nevertheless I agree with @alodavi and I’m more fond of more dynamic languages (Python, PHP, JS …).
Essential no, but if you can learn Java, why not?
Of course, if you want a job in Java, you have to know a little more than the basics of the language, primarily the use of frameworks and application servers, but this can be trained/learned too.