Why so many companies at my country ask for Java Developers

I thought javascript was already the biggest thing right now (and I gotta say there are plenty of JS jobs) but I have seen particularly in my country (ESP) there is a lot more of Java developers needed and less of the “MEAN stack” while in other countries like UK , I have seen more opportunities for Node.js for example

Or could it be just coincidence? You think dev positions change between countries even now that the world its so “global” and more with technology

pd: WIll learning Java would increase my chances of being employable even though I plan to build portfolio and future apps in Node.js/Express? (so I don´t plan to be doing “real programming” with Java, because to me it seems unreachable, in that sense is it worth to learn a language just for it syntax and do some exercises/algorithms)

Java is probably the most common language chosen for writing applications (JS is probably the most common overall, but to program for the browser there is no choice, it has to be JS, so that skews the rankings). And Node has quite specific use cases, whereas Java is more general purpose.

Edit: the big languages are Java, Python, C++, and I guess C. JS is up there, but it isn’t the right tool in many sectors. Any sector where the correctness of the software is very important is a biggie - for example financial, medical, scientific, engineering, infrastructural sectors. Or any sector where performance is critical - gaming, for example. But generally, optimum path is to learn one language well: in your case JS.

1 Like

Short ans because java is multi threaded language and java script is only single threaded even though there is a web api that provides asynchronous functions. Large enterprises needs a more scalable system like many banks relies heavily on java. Also one important factor is coding for large enterprises is a different ball game than startups where full stack term is commonly used. Look up concurrency/parllalism and threading which is used in java

1 Like

Java is used often for enterprise application and use-cases, where correctness is more important than speed to market. Java is highly sought after in markets where enterprise consulting for development is a big. Java is often see as “the enterprise language of choice” due to it be “enterprise safe” since its type-safe, has been around a while (people have 20+ years of experience using it) and has proven time again it can do the job.

The simple fact is dynamically typed languages are faster/easier to write, but easier to introduce bugs. Java is tried and true, and for most companies that’s what they want. Javascript is web oriented, and not that great in many use-cases (since its single threaded), whereas Java is very flexibile in its potential use-cases, since it can run anywhere that can run the JVM.

Java enterprise applications sometimes get a bad wrap due to “highly paid consultants” writing terrible code, even tho “java is enterprise”. Bad code is bad code, bug that isn’t the languages fault. Regardless of the programmer, Java has stood the test of time, and for most companies that’s good enough.

So learn Java if you want to use Java. Don’t learn Java if you don’t want to use Java.

Finally, job markets are all relative. Knowing whats in demand where you want to work is important because there are differences. If getting employed is more important than using the framework/language you want, then you should adapt to the most popular where you want to work, just to make your job search easier.

Programming is programming, if you can program complex applications using Javascript, the jump to Java or any other language shouldn’t be that hard. Learning the syntax, and design decisions between the languages is important to, so you can decide which language would be better for a given problem.
Heres some examples:
A business application that needs to be as correct as possible, such as bank software, should be built with security and “correctness” in mind, shouldn’t choose a dynamic language like Javascript or Python.
An application where “speed” is the most important, such as graphic drivers, or game engines should pick a language like C or C++ due to these languages speed.
An internal IT application that needs to be built cheaply (probably via offshore development) will probably pick a stack with the cheapest bidder.
An internal IT team needs to build a simple CRUD app with user-friendless in-mind, then Nodejs+Javascript might make a good choice, since the web is accessible, and full stack is easiest (since its full stack JS)

Not everything makes sense as an express/node app, but a lot of use-cases do, so its a good choice, but again if your goal is to get a job, examine the job market to know whats best for you

Good luck :smile:

1 Like