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.
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.
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.
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.
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.
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.
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.
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.
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.
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 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.
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.
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.
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
Post a Comment