Did you just finish Core Java Course?
Did you get 'your' dream job?
No?
Still wondering what to do next?
Let me ask you a question - How did you learn Java?
If my guess is not wrong, most of you have learnt in one of these 3 ways - self-study, an online course, or a physical classroom course.
More or less, the process is same.
- Take classes and work hard for a month (or more)
- Practice plenty of examples
- Give sample tests (some easy, some not so easy)
But is that enough?
After all this hard work, let me tell you a secret that I have learnt after training 1250+ students across industry and academia.
The secret is  that it simply does not matter what you learnt. It does not matter HOW you learnt it - whether it was an online course, a classroom course or you taught yourself.
What matters the most is what you DO with that knowledge and how well you APPLY it.
You should be happy and proud of yourself - you completed the first step to mastering Java. But the journey for you has just started. There are many branches or applications which use Java. You must decide what you want to do next based on your interest and career plans. The possibilities are endless!
Right now, you are in the same situation as most people reading this article. Just like you, your friends who have just finished learning Core Java are also trying to figure out what to do next. With all this knowledge in your heads, you must figure out quickly what you want to do next.
To help you answer this question, first you have to make yourself clear - Why did you learn Core Java?
- Is it because you want to get a job?
 - Is it because you want to do a certification?
 - Or do you want to both - first certification, then job?
 - Or you want to build apps independently?
 
Depth Of Technologies Needed to Get A Job As Java Developer
After you have learnt and mastered the basics, you can opt for other highly specific technologies when you need to use them.
There are of course so many Java technologies popular in today’s IT companies. Each company has its own preferred technologies. Some like open source, some use paid versions for its features. But for you to learn a particular technology, it is important to understand its significance and its application as well - which I am going to discuss in this article today.
The primary objective of this post is guiding the beginner learners to understand the usage of each of these technologies:
- Web Services
 - Design Patterns
 - Android
 - JavaFX
 - Servlets and JSP
 - Spring
 - Hibernate
 
Some other important set of tools which are very popular and have high demand in the industry are change management systems like Git or Subversion (SVN).
Apart from these, Maven is an important build tool used in ALL companies.
Which one to choose? That depends totally on your own interest and inclination. You can also choose more than one if you like.
The secondary objective of this post is to provide Java learners of all levels with a good set of resources (courses or books).
Benefits of Online Learning
Learning in the IT world is a never-ending process. Do you remember Cobol and Delphi?
No? Me neither! I have also only heard the name, just like you. But these are some of the earliest programming languages that were taught to computer science students before even I started learning Java. They weren’t complete but they laid the foundation for most modern programming languages in use today!
The pace at which new technologies are being launched isn’t going to slow down. Chances are - by the time you have finished reading this article, there are few more technologies and languages launched, each one claiming to be better than previous ones.
I cannot keep you up to date on all the latest technologies being launched. I can give you a hint: “Google is your best friend!”. And online learning portals like Udemy and Coursera are here to stay.
Because Udemy is offering ALL of its online courses in just $10 USD (Rs. 700 INR  approximately). This is your chance to save close to $140 USD (Rs. 9500 INR or more) on many popular courses. That’s basically getting an high value course for almost the price a weekend movie for two.
Which is why if you want to learn something, this is the best time to do it. You will find these links with the description on each course in this article.  Trust me guys, I have used many of these resources myself and I can assure of their quality. You will not regret investing on these courses.
But remember - you need to decide quickly because these prices are not going to stay forever - the sale ends January 10th!
Click here to directly jump to the list of books and courses to learn after Java
The description of each technology in this article comes with a set of reference books from Amazon.in or a self-study course from Udemy.com.
Pro Tip : If you want to learn at your own pace, you can go for the online courses for $10.
But because some may not be able to spend so much on an online course. So, I have also included books for each technology - most of these books (except the imported ones) cost less than the online course.
It is proven in numerous studies - the more you have at stake, the more you will be motivated to get the value for your money.
Do I need to learn all these technologies to get a job?
As mentioned earlier, Servlets, JSP, Spring (Core and MVC modules at least) and Hibernate are necessary for freshers. Experienced programmers can go for Web Services and Design Patterns.
From tools perspective, Maven is also non-negotiable, you must learn Maven. This is true for both freshers and experienced developers.
If you want to build desktop apps with Java, use JavaFX. If you want to build mobile apps and games, you should be learning Android.
- Servlets & JSP
 
Servlet is a small Java program which runs on a web server. Servlets will let you send HTML output from your Java Web Application, which is visible in a web browser. So, in a servlet file, you will use a Java class which by using the principle of Inheritance, will act as a Servlet. Within this class, you will be writing all your code inside special doGet() and doPost() methods. Ultimately, you will have to write HTML tags which will be sent as an output.
So, a servlet has combinations of both - You will use HTML tags within Java code.
Instead of stand-alone applications where you perform input / output on a console, a Java web application created using Servlet / JSP will be accessible over a network with the help of a web address (also called as URL).
JSP stands for Java Server Pages (JSP). It is an extension (one level higher) of Servlets, it lets you write HTML and Java code in a more readable manner. JSP has Java code within HTML Tags.
Basically, every JSP is converted into a Servlet every time it is executed. But that does not mean you will be using only JSPs.
Any Java web application is built on many JSP pages (for user interface logic) and multiple Servlet programs (for back-end processing logic). So, you will need to learn both.
Servlets and JSP are the building blocks of a Java web application. Without this any web application is incomplete and therefore, you must buy any of these books / courses today if you want to go into Java Web Development.
Here is a quick list of books and courses on servlets and JSP.
Best Books To Learn Servlets and JSP
 ![]()  | Buy Head First: Servlets & JSP on Amazon.in | 
 ![]()  | Buy Murach's Java Servlets & JSP on Amazon.in | 
 ![]()  | Buy Black Book on Amazon.in | 
 ![]()  | Buy JSP-Servlet Interview Questions on Amazon.in | 
Best Online Courses To Learn Servlets and JSP
JSP, Servlets, and JDBC 
by Chad Darby 
Udemy Course Rating: 4.7 / 5.0 (1000+ ratings) 
7,650+ Students Enrolled 
 | Buy This Course on Udemy for $10 | 
Java Servlets and JSP 
by in28Minutes Official 
Udemy Course Rating: 4.6 / 5.0 (120+ ratings) 
1,980+ Students Enrolled 
 | Buy This Course on Udemy for $10 | 
- Spring (Core and MVC)
 
Spring is a framework that provides Dependency Injection (DI) feature in your application. DI simply means instead of you creating an object using “new” keyword, you will get the object ready-made from Spring framework.
This allows your application modules to be loosely connected to each other. All the dependencies between any two modules is handled by Spring. Therefore, any changes in one module do not affect the other module.
Spring is very popular in the industry because it simplifies large, enterprise-level applications. Spring is actually a very large framework. Some of the modules include - Spring Core, Spring MVC, Spring Batch, Spring Boot, Spring Security, etc.
For most applications, Spring Core and Spring MVC are enough because once you learn these two others are very easy to learn.
Spring is basically technology-independent and it can be used with ANY other framework or Java technology of your choice - be it desktop apps, Swing applications, or web applications. So now you know why Spring Core and Spring MVC are so popular!
I suggest you to learn Spring today as it is the foundation of most enterprise applications. Learning Spring well almost guarantees a job in an MNC.
Best Books To Learn Spring Core and Spring MVC
![]()  | Buy Spring and Hibernate on Amazon.in | 
 ![]()  | Buy Spring In Action on Amazon.in | 
 ![]()  | Buy Hibernate, Spring & Struts Interview Questions on Amazon.in | 
Best Online Courses To Learn Spring Core and Spring MVC
The Java Spring Tutorial 
by John Purcell 
Udemy Course Rating: 4.4 / 5.0 (2170+ ratings) 
21,400+ Students Enrolled 
 | Buy This Course on Udemy for $10 | 
Spring and Hibernate for Beginners 
by Chad Darby 
Udemy Course Rating: 4.7 / 5.0 (2100+ ratings) 
12,600+ Students Enrolled 
 | Buy This Course on Udemy for $10 | 
Spring MVC For Beginners 
by in28Minutes Official 
Udemy Course Rating: 4.4 / 5.0 (520+ ratings) 
2,800+ Students Enrolled 
 | Buy This Course on Udemy for $10 | 
- Hibernate
 
Hibernate is a database-specific framework. When an application has many functionalities, its complexity increases. So, most large, enterprise applications are divided into multiple layers.
The bottom layer uses Hibernate for to interact with the database. There are numerous advantages which I have explained in my first post on MyJavaTrainer.
In short, Hibernate acts as a layer on top of JDBC. With Hibernate, you don’t have to write any JDBC query. Also, as you change database specific for each customer, your code will require minimal edits as there will be no queries. Only a few XML files need to be changed.
Hibernate is one of the top 3 skills that are in high demand with MNCs. Once again, learning Hibernate well will at least guarantee you a few high quality interviews. I have compiled the list for best books and online courses to learn Hibernate, which you can buy today and secure your career.
Best Books To Learn Hibernate
![]()  | Buy Spring and Hibernate on Amazon.in | 
 ![]()  | Buy Java Persistence With Hibernate on Amazon.in | 
 ![]()  | Buy Hibernate, Spring & Struts Interview Questions on Amazon.in | 
Best Online Courses To Learn Hibernate
Java Hibernate Framework 
by Eighton School 
Udemy Course Rating: 5.0 / 5.0 (640+ ratings) 
740+ Students Enrolled 
 | Buy This Course on Udemy for $10 | 
Spring and Hibernate for Beginners: Learn Step-By-Step 
by Chad Darby 
Udemy Course Rating: 4.7 / 5.0 (2100+ ratings) 
12,600+ Students Enrolled 
 | Buy This Course on Udemy for $10 | 
Java Persistence: Hibernate and JPA Fundamentals 
by Deshraj Singh Kiran 
Udemy Course Rating: 4.5 / 5.0 (550+ ratings) 
4,500+ Students Enrolled 
 | Buy This Course on Udemy for $10 | 
- Java Web Services
 
Web Services are “head-less” applications i.e. without a user interface.
It allows you to create an object-oriented interface for data to be consumed by other Java code or a mobile application. These applications sit on top of the web service, consume the content and display it using interactive visual design.
Web Services output the data using JSON (JavaScript Object Notation) and XML (eXtensible Markup Language). These are data exchange formats over the internet.
Virtually every web application in the industry uses web services in one way or the other. Many operations are done between on the client side by the front-end developers. The business layer (also called as back-end) coordinates between the front-end and the database layer.
Most functionalities are coded in the front-end instead of the back-end. Web services are then used at the business layer to provide data to the front-end processing logic. You can then imagine why Web Services are in such high demand in the industry.
Web services are the core of any application. Technologies at other layers may change and get updated, but this layer remains constant. There are several courses on Udemy and books on Amazon which explain the concept and give plenty of examples.
Best Books To Learn Web Services
 ![]()  | Buy Java Web Services: Up And Running on Amazon.in | 
 ![]()  | Buy RESTful Java With JAX-RS on Amazon.in | 
 ![]()  | Buy Java Web Services Interview Questions on Amazon.in | 
Best Online Courses To Learn Java Web Services
Java Web Services 
by Bharath Thippireddy 
Udemy Course Rating: 4.4 / 5.0 (1450+ ratings) 
7,900+ Students Enrolled 
 | Buy This Course on Udemy for $10 | 
JSON with Java APIs, jQuery and REST Web Services 
by Tuna Tore 
Udemy Course Rating: 4.0 / 5.0 (40+ ratings) 
450+ Students Enrolled 
 | Buy This Course on Udemy for $10 | 
- AJAX / JSON / XML
 
These are not exactly technologies. These are underlying pillars of how web applications running on servers communicate with clients. These are technologies are invoked when you access a website from your laptop computer or your smartphone. You won’t notice but these are being used by the application at the back.
Have you looked at cricket or tennis live scores pages? Ever wondered how they work? How they are updating only part of the web page after each ball is played? They’re using AJAX in the background!
AJAX is a very simple technique of  sending / receiving small bits of data over a network. The normal request-response flow on a web page is commonly known to all. User submits form, browser sends data to server, server responds and browser will update the result after refreshing the whole page. This process is “synchronous” - your user has to wait until server responds.
AJAX modifies this process - the browser will send only specific fields. After receiving the response, it will make changes only in the required part of the web page. This is “asynchronous” as user does not have to wait and he/she can do whatever she wants, the browser will receive the data and upload it automatically in the web page.
JSON and XML are the data formats used in AJAX. At any point, you will be using AJAX with XML or JSON for your web application.
With so many Java applications which are in development or coming up, it is almost compulsory to learn AJAX, JSON, XML.
So here is a list of short courses on AJAX, JSON, and XML. All these courses are in less than 1000 rupees. This is great opportunity for you to put your plan in action.
Best Books to Learn AJAX
 ![]()  | Buy Head First: AJAX on Amazon.in | 
 ![]()  | Buy Professional AJAX on Amazon.in | 
 ![]()  | Buy AJAX: Complete Reference on Amazon.in | 
Best Online Courses to Learn AJAX / JSON / XML
Learn jQuery AJAX in 1 Hour 
by Laurence Svekis 
Udemy Course Rating: 4.5 / 5.0 (25+ ratings) 
1,900+ Students Enrolled 
 | Buy This Course on Udemy for $10 | 
AJAX using JavaScript and jQuery 
by Umang Shah 
Udemy Course Rating: 4.3 / 5.0 (350+ ratings) 
5,100+ Students Enrolled 
 | Buy This Course on Udemy for $10 | 
XML and XML Schema Definition in Easy Steps 
by Bharath Thippireddy 
Udemy Course Rating: 4.5 / 5.0 (190+ ratings) 
1,000+ Students Enrolled 
 | Buy This Course on Udemy for $10 | 
JSON in Action 
by Crypters Infotech 
Udemy Course Rating: 4.7 / 5.0 (65+ ratings) 
600+ Students Enrolled 
 | Buy This Course on Udemy for $10 | 
- JavaFX
 
Just like Swing, JavaFX also allows you to build GUI applications in Java. Oracle had initially recommended Swing for creating GUI apps. But now Oracle have themselves declared JavaFX as the official library for creating GUI in Java.
From Oracle’s point-of-view, they will support Swing enhancements the least. Ever since this announcement came, most businesses with Swing GUI have started moving their code to JavaFX now.
If you want to build GUI apps, your knowledge of Swing will not be of much use, instead you should focus on learning the JavaFX library.
If you want to learn the JavaFX library, here is a list of best books and courses to help you build JavaFX applications.
Best Books To Learn JavaFX
 ![]()  | Buy Java FX: A Beginner's Guide on Amazon.in | 
 ![]()  | Buy Introducing JavaFX 8 Programming on Amazon.in | 
![]()  | Buy Mastering JavaFX 8 Controls on Amazon.in | 
 ![]()  | Buy JavaFX Special Effects on Amazon.in | 
Best Online Courses To Learn JavaFX
Build Outstanding Java Apps with Java FX 
by Jonas Schindler 
Udemy Course Rating: 4.4 / 5.0 (50+ ratings) 
370+ Students Enrolled 
 | Buy This Course on Udemy for $10 | 
Advanced Java Programming with JavaFX 
by Alex Horea 
Udemy Course Rating: 4.4 / 5.0 (15+ ratings) 
1,500+ Students Enrolled 
 | Buy This Course on Udemy for $10 | 
From 0 to 1: JavaFX and Swing for Awesome Java GUIs 
by Loony Corn 
Udemy Course Rating: 3.7 / 5.0 (35+ ratings) 
1,500+ Students Enrolled 
 | Buy This Course on Udemy for $10 | 
- Android
 
If you are confident about your Java knowledge and are serious about putting it to good use, then this is the course for you.
Android coding is just like Java coding, it uses Java’s principles. Not just that, Android SDK is based on Java SDK. So, it’s like taking your Java to next level.
There are plenty of Android developer openings that you can apply to. The salaries paid to Android developers vary according to the company. You need to show them at least 2 good projects you have built entirely on your own from your self study. This way they will take you seriously and will offer you a good starting package.
Or if you have an app idea, you can also become an Independent Android developer. Then you can make money by publishing a paid app (or a free app with paid upgrades). You can also integrate advertisements in your Android app and you will get paid when someone clicks ads in your app.
If you want to learn Android, here are some amazingly simple, and effective Android learning books and courses.
Best Books To Learn Android Programming
Best Online Courses To Learn Android Programming
Complete Android N Developer Course 
by Rob Percival, Marc Stock 
Udemy Course Rating: 4.6 / 5.0 (930+ ratings) 
11,250+ Students Enrolled 
 | Buy This Course on Udemy for $10 | 
Master Android App Development With Java 
by Tim Buchalka, Jean-Paul Roberts 
Udemy Course Rating: 4.6 / 5.0 (1130+ ratings) 
11,900+ Students Enrolled 
 | Buy This Course on Udemy for $10 | 
Android N: From Beginner to Paid Professionalby Mark Price 
Udemy Course Rating: 4.5 / 5.0 (340+ ratings) 
8,350+ Students Enrolled 
 | Buy This Course on Udemy for $10 | 
Android App Development for Beginners: 64 Hours + 63 Apps 
by Morteza Kordi, Samy Mkacher 
Udemy Course Rating: 4.4 / 5.0 (348+ ratings) 
4,600+ Students Enrolled 
 | Buy This Course on Udemy for $10 | 
- Design Patterns
 
Design Patterns are reusable solutions to large software problems. Every enterprise app has its own set of components. They are organized to form its architecture.
Design Patterns are essentially solutions to problems at the architecture level. Beginners are not expected to know these patterns. But anyone with 2+ years of Java development experience must be able to confidently answer questions on Java Design Patterns in their interview.
Here is a list of books and courses that will help you immensely to learn Design Patterns and their implementation in Java.
Best Books To Learn Design Patterns
![]()  | Buy Peeling Design Patterns on Amazon.in | 
| Buy Head First: Design Patterns on Amazon.in | |
| Buy Design Patterns Book on Amazon.in | 
Best Online Courses To Learn Design Patterns
Basics of Software Architecture and Design Patterns in Java 
by Holczer Balazs 
Udemy Course Rating: 4.2 / 5.0 (70+ ratings) 
1,400+ Students Enrolled 
 | Buy This Course on Udemy for $10 | 
Design Patterns: A Pragmatic Approach 
by Peter Fajemisin 
Udemy Course Rating: 4.3 / 5.0 (9 ratings) 
100+ Students Enrolled 
 | Buy This Course on Udemy for $10 | 
Experience Design Patterns in Java 
by Stijn De Mulder 
Udemy Course Rating: 4.3 / 5.0 (280+ ratings) 
5,700+ Students Enrolled 
 | Buy This Course on Udemy for $10 | 
From 0 to 1: Design Patterns 
by Loony Corn 
Udemy Course Rating: 4.2 / 5.0 (100+ ratings) 
1,600+ Students Enrolled 
 | Buy This Course on Udemy for $10 | 
Bonus 1: Build Automation Tools - Maven & Gradle
Both Apache Maven and Gradle are “Build Automation Tools”. When enterprise applications are created, a build of the project holds the compiled, well-tested, and error-free source code.
Automating this process is essential because it provides numerous advantages as listed below:
- For continuous integration and continuous testing
 - Improves product quality and reduces build errors
 - Eliminates dependencies among team members
 - Saves history of builds of each version to investigate future issues
 
Some companies prefer Maven over Gradle because it has been around for longer time and the online community provides great support. Some prefer Gradle because it is open sources and that reduces cost for the company to a great extent. Most projects utilizing Spring use Maven for build automation as well.
However, Gradle is slightly more complex to implement and hence less popular. If you want to learn Gradle or Maven, here is a set of easy, quick, and effective books and courses for Maven & Gradle.
Best Books to Learn for Maven & Gradle
![]()  | Buy Maven: The Definitive Guide on Amazon.in | 
 ![]()  | Buy Maven Essentials on Amazon.in | 
 ![]()  | Buy Apache Maven 3 Cookbook on Amazon.in | 
Best Online Courses To Learn Maven & Gradle
Java Maven 101 
by Bruce Hilton 
Udemy Course Rating: 4.5 / 5.0 (290+ ratings) 
Over 2700 Students Enrolled 
 | Buy This Course on Udemy for $10 | 
Gradle Foundations 
by Keith Johnson 
Udemy Course Rating: 4.3 / 5.0 (140+ ratings) 
1,300+ Students Enrolled 
 | Buy This Course on Udemy for $10 | 
Maven Tutorial 
by in28Minutes Official 
Udemy Course Rating: 4.3 / 5.0 (120+ ratings) 
2,400+ Students Enrolled 
 | Buy This Course on Udemy for $10 | 
Bonus 2: Tools for Version Control and Source Code Management - Apache Subversion (SVN) and GitHub
Companies use Subversion to keep track of multiple versions of code, documentation, web pages, and other project resources for an enterprise project. Eclipse has a plugin for Subversion called Subclipse which makes it the default choice of most IT projects, because they all use Eclipse.
GitHub (also called Git at times) is slightly more advanced and it provides distributed version control. You can manage code in “branches”. You can add members of your team and restrict their access to these branches. They can download a branch and add their customized code to create their own version of the app.
GitHub.com is a website used by developers to maintain their Git repository. Some popular features of GitHub are bug tracking, feature requests, task management, and wikis for each project.
Version control for the code is one of the biggest headaches of any project manager. Most IT companies use SVN or Git to manage their code sources. Hence, it is absolutely essential that you learn one of these.
Here is a list of best books and online courses for learning how to use SVN & GitHub.
Best Books To Learn Usage Of SVN & GitHub
![]()  | Buy Learn Git In A Month Of Lunches on Amazon.in | 
Best Online Courses To Learn Maven & Gradle
Git & GitHub Bootcamp 
by Tim Buchalka, Bihash Roy 
Udemy Course Rating: 4.7 / 5.0 (100+ ratings) 
1,500+ Students Enrolled 
 | Buy This Course on Udemy for $10 | 
Complete Mastery With GitHub 
by Bihash Roy 
Udemy Course Rating: 4.6 / 5.0 (130+ ratings) 
Over 2700 Students Enrolled 
 | Buy This Course on Udemy for $10 | 
Git Going Fast: One Hour Crash Course 
by Jason Taylor 
Udemy Course Rating: 4.4 / 5.0 (360+ ratings) 
14,000+ Students Enrolled 
 | Buy This Course on Udemy for $10 | 
GitHub Ultimate: Beginner to Expert 
by Jason Taylor 
Udemy Course Rating: 4.4 / 5.0 (190+ ratings) 
1,800+ Students Enrolled 
 | Buy This Course on Udemy for $10 | 


























