10 Things Java Programmers Should Learn in 2019
It's 24th December now and only a few days have left in the
year 2018. It's a good time to look back and retrospect what you have achieved
in 2018 and what you could have done better. This will help you to create your
goals for 2019. As a programmer, our biggest challenge is to keep ourselves
up-to-date. Technology changes very fast and you will see a new version of
programming language and framework coming to every couple of year. This year
has plentiful changes with keeping up-to-date with new Java version every 6
months, Spring 5, Spring Security 5 and Spring Boot 2, it's probably the
busiest year in terms of changes for Java developers.
When I started 2018, I thought Java 9 was new and before I
could finish learning Java 9 completely, Java 10 and Java 11 was ready. It came with a lot of
interesting features e.g. var with local variables, API enhancements, GC
improvement, Thread Local handshake and many more. I am really excited to learn
those in 2019.
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.
My learning speed has slowed down a little bit in last a
couple of years and I haven't managed to keep myself up-to-date with latest and
greatest e.g. I am yet to get comfortable with Git, JavaScript frameworks like
Angular and React, latest changes on unit and integration testing space and new
version of popular framework e.g. Spring, Spring Security, and Spring Boot.
So, 2019 will be all about getting myself up-to-date with
things which matters most on the technology side, improving my toolset chain
and exploring the DevOps landscape
What Programmers should learn in 2019
Here is my list of things a Java developer should learn in
2019.
1. Git
Git and Github have been around some time and while I have
used Git in past with Eclipse, I am yet to become comfortable with Git on the
command line.
Why I haven't mastered Git so far? Simply because I didn't
need it yet. I have occasionally download projects from Github and run from
Eclipse but I am still a novice with Git.
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
2019. If you are in the same boat and want to learn Git in 2019, do check out
that course from Udemy, it's very handy.
2. 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 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 JUnit and Mockito
Crash Course from Udemy.
3. Java 9,10,11 or maybe 12
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 in
2018 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.
4. Spring Framework 5
The year 2017 has seen many major upgrades to Spring and
Java Ecosystem and Spring Framework 5.0 is one of them. I have been hearing
about some new features like reactive programming model on Spring 5, adoption
of Java 8 and 9, 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 2019. If you use Spring, probably it's the
best time to learn Spring 5.0.
If you like books, you can also check out this list of
advanced Spring Books for Java developers from Manning and Packt Publications.
5. DevOps
This is another area where I am seeing a lot of traction
last year as more and more company 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 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 Master
Jenkins CI For DevOps and Developers is a great course to start with,
particularly for Java developers.
10 Things Java Programmers Should Learn in 2019
5. RESTful Web Service
One more thing I want to keep improving in 2019 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. If you
are also in the same boat and want to learn how to develop RESTful Web Service
using Spring, The REST of Spring MasterClass from Eugen Paraschiv is a good
starting point.
6. 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 another priority Item for me in 2019 along with
Spring 5.0 framework stuff. Thankfully Eugen has updated his best selling
course Learn with Spring Security to include 5.0 features and added a separate
module for OAuth 2.0., probably the best material to learn Spring Security 5.0
at this moment.
7. 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. If you also want to learn Spring Boot 2, you can
check out this free Spring boot course from Udemy for a quick start.
If you need more choices then you can also check this list
of top Spring boot courses for Java developers to learn in 2019.
8. 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.
In 2019, one of my goals is to learn Angular and I will be
starting my journey with Udemy's Angular 7- The Complete Guide. If you are in
the same boat then you can also take a look at that course, it's very handy.
9. Android
If you don't know how to write Android Apps in 2019 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.
Even though I know Android basics, I have yet to publish any
Android apps, maybe 2019 will change that. For now, I have shortlisted these
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.
10. Apache Spark and Kafka
One more thing I want to keeping exploring in depth in 2019
is the Big Data, 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 Big Data is probably the hottest technology at this
moment.
If you also want to learn Big data in 2019, you may want to
check my list of shortlisted courses to learn Apache Spark for Java developers
from Udemy and Pluralsight.
That's all about what to learn in 2019? As I 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
2019.[Source]-https://javarevisited.blogspot.com/2017/12/10-things-java-programmers-should-learn.html
We provide best java classes in vashi, navi mumbai. We have industry experienced trainers and provide
hands on practice. Basic to advanced modules are covered in training sessions.
Comments
Post a Comment