If you’re here for the top tips, we assume you’re ahead of the “how to learn Java” part and already boarded on your flight of learning Java. In this lesson, apart from just throwing some do’s and don’ts, we’ll be asking some basic questions that will help you align your path with what’s best for you.

Are you following a plan?

Determining your goal and creating a learning strategy is more significant than you can probably think of. Your ambition, execution, and consistency can make or break your career. So if you want to become a full-time Java Developer shadowing a layout/map goes without saying.

Are you a master of the basics?

Mastering the basics doesn’t necessarily mean learning syntax by heart and not be able to do anything with it. It actually means you’re comfortable working with keywords, know the language protocols, smartly use variables and loops. Know how to choose a data structure depending upon a certain problem. Able to implement object orient approach, since Java is an object-oriented language. Understand encapsulation and how to tamper with it. With this much content freely available widely on the web, newbies are most likely to fell prey to learn more in a shorter period of time. However, you need to understand you can’t build a sustainable building over a weak foundation. Hence, it’s forever helpful to give due time to all the concepts in order to truly “master” them.

Are you coding every day?

This habit of yours will majorly determine how badly you want to fulfil your ambition that you have planned in step 1. Yeah, there are plenty of amazing books you can buy to learn Java. Books are and have been one of the best ways of preserving knowledge over the period of centuries. They will add more to your knowledge, but they can not make you a great programmer. Depending upon the nature of this industry, books aren’t the best way to go. You can consult a book to look for syntax, but that will take enough time to search for it. You can easily learn Java online at CodeGym while having the freedom to practise and test your code right away! This platform practically executes the 80/20 rule to make you code more, more and a little more. Ideally, after consulting the theory, you should be practising everything you read. So this is a great place to grow.

Are you familiar with “dry-run?”

Errors, bugs and blockers are bound to happen when you will start coding. The person who doesn’t get frustrated and continues to dive despite the challenges is the one to remain undefeated. There’s a traditional method of “dry-running” the code if you do not understand why your code is not performing the way it is supposed to be. You can execute the instructions on a piece of paper and run the code line by line. It’s good to write output what you compute against each line and see where it’s different from the desired one. It will help you read other developers code and you will be able to understand the problem at first glance over a period of time. 

Are you debugging your code yet?

Debugging tool is mostly provided by all renowned IDE’s to support the developers. By running your program in the debugging mode you can see the output of every line one by one in the IDE. It will help you resolve the possible errors in your program. Developing the habit of debugging will train you to produce error-free code. You can fix your own errors before anyone else spots them for you.

Are you building meaningful blocks of code?

Learning a language without building anything useful will lead you nowhere. It’s better to practise your coding skills by creating small utilities like a program to sort two numbers, a basic calculator or a tic-tac-toe if you’re adventurous. Developing such programs will help your real-life understanding of software. After you’re good at this, you can advance to higher levels like taking input from a file and searching/sorting its content, implement a phone call directory using hash-maps e.t.c.

Are you familiar with the standard libraries & API’s?

Java comes with a diverse set of libraries and API’s readily available. After learning programming fundamentals and an object-oriented approach your goal should be to develop a decent desktop application and a web-based application. This will introduce you to new dimensions of learning and growth. It may take you from weeks to months to get there, but if you keep busting the bugs and overcome the challenges you will get there eventually. After having a desktop app, mobile app, or web app on your portfolio you will unleash new milestones of confidence. It will prepare you for the challenges you’ll face as a professional. Consistently resolving the bugs polishes a developer to build optimized applications in the first go in the future. 

Are you a part of Java online communities/forums?

Joining online forums like CodeGym, Stackoverflow, Reddit, etc will get you in touch with professionals having years of experience. Your job is to learn from their experience and wisdom. You can either look for the issues you’re facing, get a consultation and find optimized solutions to your problems. Or you can act as a resource by helping junior developers than you. Both ways you are growing differently. By looking at beginner-level programs, you can see what mistakes they are doing and how you can help them mature. Apart from that, it will diversify your code reading abilities and avoid mistakes that others are doing.


The best tip out of all would be an old school one, “practice paves your way to perfection”. Be consistent, don’t shy away from asking, and don’t isolate while learning. The world is your oyster! Happy coding! :)