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 |