Skip to main content

What skills Java Programmers should learn in 2020

Here is my list of things a Java developer should learn in 2020:


1. DevOps (Docker and Jenkins)

This is one area where I am seeing a lot of traction last year as more
and more companies are moving into DevOps and adopting continuous
integration and deployment.
DevOps is very vast and you need to learn a lot of tools and
principles and that's what overwhelm many developers.
This means if you are an experienced Java programmer with a passion
for managing the environment, automation and improving overall
structure, you can become a DevOps Engineer.

2. Git

Git and Github have been around some time and while I have used Git in past with Eclipse, but I am yet to become master of Git on the command line, and I am not alone
Many programmers haven't mastered Git yet? Simply because they didn't need it yet as there code might be in SVN or CVS.
Since now most of the companies are migrating their projects from
SVN, CVS to Git, its high time to learn and master Git.
3. Java 9,10,11,12 or maybe 13
As I said, I am still learning Java 8 and many Java developers too. I will also spend some time learning new features of Java 9, Java 10, Java 11, and Java 12 in 2020 but for me, Java 8 is still a priority, until I moved to Java 11 which is another LTS release.
The JDK 9 brings a lot of goodies in terms of modules, Jigsaw, Reactive Streams, Process API, HTTP2 client, JShell, and API improvements like collection factory methods and I am really looking forward to learning them at the earliest opportunity.
Similarly, JDK 10 brings var to give you a flavor of dynamic typing and some GC improvement.
4. Spring Framework 5

I have been hearing about some new features like reactive programming
model on Spring 5, adoption of recent Java features, some unit testing
improvement etc but I have yet to try that.
5.Unit testing

Another area which I want to improve in the coming year. There are a lot of new framework and tools available for Java programmers to unit test and integration test their application like Mockito and PowerMock for mocking objects, Robot Framework, and Cucumber for automated integration test and of course the new and shining JUnit 5 library.
6. RESTful Web Service

One more thing I want to keep improving in 2020 is my knowledge about
writing REST API and implementing secure and scalable RESTful Web
Service in Java using Spring.
This is one skill which is highly desirable in the Java world and there are not many people who know both Java and REST well.
7. Spring Security 5.0

This is the third major upgrade on Spring Eco-System. The 5th version of
popular security framework has several bug fixes and a major OAuth 2
module, which you just can't miss.
8. Spring Boot 2

The Spring Boot framework also has a new release Spring Boot 2. If I get
sometime after all these goals this year then I will spend some time
learning Spring Boot 2.

9. Angular 2+ or React JS

These two JavaScript framework has completely changed how you develop web applications.
As a Java developer, I have used Servlet, JSP, and jQuery at client side but haven't yet tried my hand with Angular or React.
10. Android

If you don't know how to write Android Apps in 2020 then you are lacking
something. Mobile is one of the best platforms to reach a large number
of people and Android is probably the most popular platform to write
mobile applications.
If you need more choices then I have also shortlisted some Android online courses to refresh my knowledge and get to the next level. If you are also in the same boat then you may find them useful as well.
11. Apache Spark and Kafka

One more thing I want to keeping exploring in depth in 2020 is the Big Data space, and particularly Apache Spark and Apache Kafka framework.
I am not sure if I will get time to look other Big data technologies
but its seriously good stuff and along with DevOps and Machine Learning,
Big Data is probably the hottest technology at this moment.

That's all about what Java developers should learn in 2020. As I have said, Technology changes with rapid speed and the biggest challenge for programmers are to keep themselves up-to-date.
Apart from this list, there are plenty of other stuff which you can
look-up in new year e.g. learning a new programming language like Kotlin
but for me, I will be more than happy if I can achieve these goals in
2020.

Comments

Popular posts from this blog

What is JDK, JRE and JVM?

What are JDK, JRE, and JVM: JDK :- Java Development Kit (in short JDK) is Kit which provides the environment to Develop and execute(run ) the Java program. For eg. You(as Java Developer) are developing an accounting application on your machine, so what do you going to need into your machine to develop and run this desktop app? You are going to need  J-D-K  for that purpose for this you just need to go to the official website of sun or oracle to download the latest version of JDK into your machine. Hence, JDK is a kit(or package) which includes two things i) Development Tools(to provide an environment to develop your java programs) and ii) JRE (to execute your java program). JDK is only used by Java Developers. JRE: - Java Runtime Environment (to say JRE) is an installation package which provides an environment to only run(not develop) the java program(or application)onto your machine. For eg(continuing with the same example) after developing your accounting ap...

JDK 25: The new features in Java 25

 Java Development Kit (JDK) 25, scheduled for release in September 2025, is set to introduce several significant enhancements. Here's an overview of the notable features: 1. Stable Values API (Preview): This feature introduces stable values—objects holding immutable data treated as constants by the Java Virtual Machine (JVM). By allowing greater flexibility in initialization timing compared to final fields, stable values aim to improve application startup times. They enable performance optimizations akin to constant-folding, previously exclusive to JDK code, and ensure thread-safe, single-time initialization. This decouples the creation of stable values from their initialization without significant performance penalties.  2. Removal of 32-bit x86 Port: JDK 25 plans to eliminate both the source code and build support for the 32-bit x86 port, which was deprecated in JDK 24. Maintaining this port has become less beneficial, especially with the challenges in keeping it updated wit...

Top 50 Java Interview Questions and Answers for 2024: Ace Your Next Job Interview

  Introduction Preparing for a Java interview can be daunting, especially with the ever-evolving landscape of the language. To help you land your dream job, we've compiled a list of the top 50 Java interview questions, ranging from basic to advanced. Whether you're a fresher or an experienced developer, these questions will give you the edge you need to succeed. Table of Contents Basic Java Interview Questions OOP Concepts in Java Java Collections Framework Exception Handling in Java Multithreading and Concurrency Java 8 Features Advanced Java Interview Questions Conclusion 1. Basic Java Interview Questions Q1: What is Java? A: Java is a high-level, class-based, object-oriented programming language that is designed to have as few implementation dependencies as possible. It is widely used for building enterprise-scale applications. Q2: What are the main features of Java? A: Some of the key features include platform independence, object-oriented nature, robustness, security, an...