Is it worth learning Java in 2021?

Some reasons to show you why should consider learning Java now

Diego A. Rojas

In the IT world, where everything changes every day, is very often to be involved in discussions about which technology is better. One of the most common topics is related to programming languages, which one is newer, which one has better performance, why you would use that one and not that other, and so on. Has no sense to start enumerating all of them because nowadays, the startup ecosystem is so empowered that we can find in-house built-in programming languages targeting specific business needs (Like Clojure for fintech, bought by Nubank).

So, with all those languages coming up, developed in this modern era with big companies supporting them, why should we invest time learning Java, created almost 30 years ago?

In most big companies, we will find some services built in Java. Very common to find scenarios where that old service (~10 years old) is being now migrated, the point here is that migration most of the time consist of architecture update, transforming from monolith to microservices, framework migration, or just language version updates, instead of replacing the entire project with a completely different platform.

Based on the JetBrains developer survey, we can find Java is present in the Top 5 of the most used programming languages, with a market share of 5% of total worldwide companies.

https://www.tiobe.com/tiobe-index/

Is not only the language, is the entire ecosystem: Libraries, frameworks, and the community. One of the biggest benefits is all experience around Java, almost 30 years with a very strong community around, you will find all required documentation, code examples, and video courses on the first Google page. The collaboration environment built by all people around Java makes it easier to share, learn and directly apply the knowledge in your day-by-day work, so you will be able to look and measure your progress, improving your code skills, and even achieving the certification path recognized worldwide.

Java started as an open-source project backed by Sun Microsystems, becoming very popular for allowing writing the code once and executing in different device types. Nowadays Java is owned by Oracle and since 2019 we have “paid” versions of the JDK, but don’t worry, we still have the open-source version available and maintained. If you want to know a little more about the main differences, take a look at this article:

But Oracle is not the only one. Remember, Java is strong because of the ecosystem. One of the best frameworks you will find is Spring, 100% open-source backed by Pivotal. The support is too big that Spring has its own yearly event: The Spring One, announcing all framework updates and plans for the future.

If you don’t know Pivotal, maybe you know this one: Netflix. Yes, Netflix is a big contributor to the Java ecosystem, opening a lot of libraries for cloud environments and now integrated into the Spring Cloud suite.

A lot of modern programming languages run over the JVM. Some of them, such as Kotlin were designed for being a better version of Java, with simple syntax and considerable improvements, being today the default language for writing Android programs replacing Java. Is this bad? Of course not, because Kotlin is 100% compatible with Java, and the foundations are the same, so if you know Java, learning Kotlin will not be difficult. Like all new technology, the community is small yet, but the idea is to work together and exchange support with the Java ecosystem.

Considering the market share, popularity, and support from the community, it’s natural to have good job opportunities if you have knowledge of this language. Based on the JetBrains development survey of this year, Java is the second principal language for interviewed professional developers, followed by Python.

So, following an offer-demand rule, with more people focused on Java, job opportunities should be less? That’s not true in this case, and the answer again is the Java ecosystem. You can be a Java specialist, but like all programming languages, if you don’t challenge yourself to learn more and getting out of your comfort zone, your salary expectation will be under the average.

In most of cases, knowing Java can be just the entrance door for a major technology stack

I started learning Java at the institute, and find it really easy to apply object-oriented principles using it. Today, almost 8 years later, I still finding Java easy to perform integrations with 3rd party systems and implementing design principles such as DDD in a proper way.

This article is not to say Java is better than others, neither to make you choose between Java or another language. The main idea is to show you how you can increase your programming skills by learning a language with a strong presence in the market, big developers community, and good job opportunities. Until now, I don’t have any doubt Java is one of the best tools in my portfolio.