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

Java RoadMap

 

IPL 2025: The Ultimate Season Preview, Stats, and Predictions

 The Indian Premier League (IPL) 2025 is set to be bigger and better than ever. With a mega auction, new regulations, and rising superstars, this season is shaping up to be the most thrilling edition in IPL history. Let’s dive deep into team analyses, key player stats, historic milestones, and predictions to see what IPL 2025 has in store! IPL 2025 at a Glance Start Date: March 22, 2025 Final Match Venue: Eden Gardens, Kolkata Total Matches: 74 Teams: 10 New Rule: Introduction of 'Power Boost Over' (Allows a team to add an extra over to Powerplay if all wickets are intact by the 8th over) --- Interesting IPL 2025 Data & Records 1. The ₹100 Crore Auction - Highest Spending in IPL History Total Money Spent: ₹1050 crore (~$125 million) Most Expensive Player: Rishabh Pant (Lucknow Super Giants) - ₹27 crore Shreyas Iyer (Punjab Kings) - ₹26.75 crore Trent Boult (Delhi Capitals) - ₹18.5 crore 2. The ‘Orange Cap’ Race - Run-Scoring Machines Predicting the top contenders for the hi...

Mastering Java Streams: Best Practices and Common Pitfalls

  Introduction Java Streams, introduced in Java 8, have revolutionized the way developers handle collections and data processing in Java. However, mastering Streams requires understanding not just the syntax but also the best practices and common pitfalls that can arise. In this post, we'll explore advanced tips for working with Java Streams, helping you write more efficient, readable, and maintainable code. Table of Contents Introduction to Java Streams Best Practices for Using Streams Leverage Parallel Streams Wisely Avoid State Mutations in Stream Operations Use Method References for Cleaner Code Short-Circuiting Operations for Efficiency Common Pitfalls in Java Streams Overusing Parallel Streams Modifying Collections During Stream Operations Ignoring Lazy Evaluation Improper Use of Optional with Streams Advanced Stream Operations Grouping and Partitioning Collectors and Custom Collectors FlatMap for Complex Mappings Conclusion 1. Introduction to Java Streams Java Streams provid...