Hello guys, another year is approaching and it’s a good time to look back and retrospect what you have achieved last year and what you could have done better.
This will help you to create your goals for 2021. As a programmer, your biggest challenge is to keep yourself up-to-date. Technology changes very fast and you will see a new version of your favorite programming language and framework coming to every year.
For Java developers, the last, couple of years has brought plentiful changes and posed a challenge with keeping up-to-date with a new Java version every 6 months, Spring 5, Spring Security 5, and Spring Boot 2, etc.
When I started this year, I thought Java 11 was new and before I could finish learning Java 11 completely, Java 14 and Java 15 were already out.
So, they came really fast but came with a lot of interesting features like Records, var with local variables, API enhancements, GC improvement, Thread Local handshake, and many more. I have documented them here and I am really excited to use those in 2021.
The same goes with Spring framework and Spring Security, I didn’t know all the changes on Spring 4.0 and Spring Security 4.0, my project was still using Spring Security 3.1, and boom we now we have version 5.0 for both Spring and Spring security.
I managed to catch up many of those last years, hence, 2021 will be all about consolidation and keeping myself up-to-date with things that matter most on the technology side, improving my toolset chain, and exploring the DevOps landscape
What Java Programmers should learn in 2021
Here is my list of things a Java developer should learn in 2021:
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 overwhelms many developers but you don’t need to worry. I have shared a DevOps RoadMap which you can follow to learn and master DevOps at your own speed.
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.
If you are looking for some awesome resources then Jenkins, From Zero to Hero: Become a DevOps Jenkins Master is a great course to start with, particularly for Java developers.
Git and Github have been around some time and while I have used Git in past with Eclipse, but I am yet to become a master of Git on the command line.
Why I haven’t mastered Git so far? Simply because I didn’t need it yet. I have occasionally downloaded projects from Github and run from Eclipse but I am still not so great with Git commands, particularly reverting changes and handling errors.
Since now most of the companies are migrating their projects from SVN, CVS to Git, its high time to learn and master Git. I have recently purchased the Git Complete: The definitive, step-by-step guide to Git from Udemy on their last 10$ sale and this would be the first item to complete in 2021.
If you are in the same boat and want to learn or improve your Git skill in 2021, do check out that course from Udemy, it’s very handy.
3. Java 9–15
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 in 2021 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.
In the last Udemy 10$ sale, I have purchased a host of courses and one of them is The Complete Java MasterClass, which is updated for Java 11 and I am looking forward to starting my Java 11 journey with that.
Btw, if you have yet to start with JDK 8 then here is my list of favorite Java 8 tutorials and courses which you can free of cost: 10 best tutorial to learn Java 8.
If you need a list of courses to learn new features from Java 9 to Java 13 then you can take a look at this list of courses to learn new features from JDK 9 to JDK 13.
4. Spring Framework 5
I have been hearing about some new features like the reactive programming model on Spring 5, adoption of recent Java features, some unit testing improvement, etc but I have yet to try that.
Anyway, I have already started learning Spring 5.0 by following Spring 5. 0: Beginner to Guru and will keep the momentum going in 2021. If you use Spring, probably it’s the best time to learn Spring 5.0.
5. Unit testing
Another area which I want to improve in the coming year. There are a lot of new frameworks and tools available for Java programmers to unit test and integration test their application e.g. Mockito and PowerMock for mocking objects, Robot Framework, and Cucumber for automated integration test and of course the new and shining JUnit 5 library.
There is plenty of stuff to learn on this front. If you can invest some time upgrading your unit testing skill, not only your coding skill will improve but also you will become a more professional developer, which every company looks form. To start with, you can check out the JUnit and Mockito Crash Course from Udemy.