It's
24th December now and only a few days have left in the year 2017. It's a good
time to look back and retrospect what you have achieved in 2017 and what you
could have done better. This will help you to create your goals for 2018. 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 of changes
with JDK 9, 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 2017, I thought Java 8 was new and before I could finish learning Java
8 completely, Java 9 is ready. It came with a lot of interesting features e.g.
Jigsaw modules, API enhancements like collection factory methods, a command
line tool like JShall and many more. I am really excited to learn those in
2018.
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 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,
2018 will be all about getting myself up-to-date with things which matters
most.
What Programmers should
learn in 2018
Here is
my list of things a Java developer should learn in 2018.
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 2018. If you are in the same boat and
want to learn Git in 2018, do check out that course from Udemy, it's very
handy.
Unit testing
Another
area which I want to improve in a 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
are 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.
Java 8 and 9
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. 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.
In the
last Udemy 10$ sale, I have purchased a host of courses and one of them
is Java 9 MasterClass and I am looking forward
to starting my Java 9 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.
Spring Framework 5
The
year of 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 2018.
If you use Spring, probably it's the best time to learn Spring 5.0. If you like
books, you can also check out the Learning Spring 5.0 book from Packt
Publications, one of the first book on Spring 5.0
RESTful Web Service
One
more thing I want to improve in 2018 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 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.
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 2018 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.
Spring Boot 2
The
Spring Boot framework also has a new release Spring Boot 2. If I get sometime
after all these goals in 2017 then I will learn 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.
Angular JS 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 2018, one
of my goals is to learn Angular JS and I will be starting my journey with
Udemy's Angular 5- The Complete Guide. If you are in the same boat
then you can also take a look at that course, it's very handy.
Android
If you
don't know how to write Android Apps in 2018 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 2018 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.
Apache Spark and Kafka
One
more thing I want to explore in depth in 2018 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 2018, 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 2018? 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 2018.
Read more: https://worldoflearnandfun.blogspot.in/
Read more: https://worldoflearnandfun.blogspot.in/
No comments:
Post a Comment