Going to Master Programming in Java from Scratch?

John Selawsky
Quick Code
Published in
6 min readJan 31, 2022

--

Once upon a time, there was a fellow learner who was going to master programming from scratch… He didn’t know where to begin and what programming language to select. Luckily, he met an experienced tutor on his way who convinced him to choose Java as a starting point.

My friend, that kind of information was worth a fortune. Today, this guy has grown into an experienced Java tutor who can help any green learner kickstart their own Java adventure.

Why Java? How long does it take to learn Java? Which sources to trust? Which snags to avoid on your way? Let’s go all the way through your future journey.

Why Start with Java?

Although there are many programming languages out there, they have a lot in common. They share similar patterns and structures, even though they look different on the surface. And by learning just one mainstream language, you’ll get familiar with key coding concepts.

I suggest sticking to Java. Why? It’s a well-structured, object-oriented language that is relatively easy to master for beginners for many reasons.

  1. First of all, many processes in Java run automatically, so you basically won’t need to delve deeply into “how the things work.”
  2. The next point in favor of Java is that it’s a multi-platform language that allows you to create an application, which can be further deployed on any device. Java is something like a core language widely used in web/non-web environments, any OS, and all types of devices, from mobile phones to supercomputers. Write once, run everywhere!
  3. From the above point, you may have already guessed that millions of Java programmers need to support all those devices running in Java. Not surprisingly, thanks to this wide pool of Java professionals, many large companies choose Java as the primary language for new projects. Hence, Java specialists are extremely demanded, with their salaries going higher than $100,000.00. Since the job as a Java developer is quite rewarding, perspective, and interesting, it takes first place in the rating of careers with the lowest switch rate.
  4. It’s the third most popular programming language in the world (according to TIOBE Programming Community Index) with more than 25 years of experience. Plus, Java is constantly enhanced with new features released every six months. So, I believe that Java will stand on the front burner for long years to come.
  5. This mature language has already seen tons of different bugs and errors that were fixed by skillful professionals all across the globe. What does it mean for complete beginners? Nearly any question you may want to ask about Java codes is already asked, answered, and posted in different communities.
  6. Java community is another strong point that makes learning Java even more exciting and motivating. Many communities can help you out if you get stuck at some point. Like-minded people from all over the world are ready to help you, as well as share their experience and knowledge.

Well, agree that it all sounds too good to be true, and you may wonder if there are hidden rocks for beginners? Nothing is ideal, and, yes, you may face some issues on your learning path. Ahead, I’m telling you about some mistakes that can be easily neutralized or avoided.

Problems on Your Way

Among some minor difficulties that may be waiting for you on your learning path, I can highlight:

  • No plan. No consistency. Novice learners often try to delve into too many different topics at once. This, naturally, leads to slow progress and loss of motivation (students easily get overwhelmed with all that new information). A good step-by-step plan can be a real lifesaver at the beginning of your learning process.
  • Jumping from one learning source to another. A plan should also include books you want to read and tools you’re going to use. Don’t try to read too many books and, accordingly, use too many different approaches as you may end up getting totally confused. The same goes for courses and web platforms.
  • No motivation. Quite often, students overload themselves with too much information at the beginning and get drained and stuck at some point. In this case, I recommend taking your time and reviewing what you’ve already learned to understand how far you moved. Also, you may look for support in Java communities.
  • Long breaks. That just being said, taking long breaks is also a big no-no. You’ll polish up your skills and grow as a successful programmer only by learning regularly. Ideally, you should devote 2–3 hours to learning Java daily, with 20% of this time spent on theory and 80% on practice.
  • No specific goals. Another common mistake among many students is that they don’t know what they want to become. It’s better to decide what you expect from Java initially. Would you like to connect your life with Web apps, Android apps, Scientific apps, or create software tools like IntelliJ IDEA, NetBeans IDE, and others? This will help you concentrate on the most “needed” things and never lose faith in yourself.

Building a Roadmap/Plan

As just mentioned, the cohesive roadmap is the number one thing any student should create before “breaking bad.” To help you on this front, I have prepared a brief plan that includes the essential topics in the proper sequence (you can view a more comprehensive plan here):

  1. Java Syntax (combinations of keywords, symbols, and operators).
  2. Java Core (objects, classes, methods, and different data types).
  3. OOP (Object-oriented Programming) concepts to gain the ability to do abstractions or inheritance.
  4. Java Collections (the Collection interface and Map interface).
  5. Java exceptions, Input/Output streams.
  6. Algorithms, programming patterns.
  7. Java Multithreading.
  8. Unit Testing.
  9. Git, learning version control systems.

Naturally, this is just a basic set, and after learning them, you may want to learn the next topics depending on what you’d like to become:

  • JUnit and other testing tools
  • DataBases
  • Libraries
  • Spring + SpringBoot + Hibernate
  • Android SDK

And, here comes the next question…

Where to Learn Java from Scratch and How to Do This Right?

Luckily, there are tons of open-source databases, communities, e-books, Youtube tutorials, and courses. For those going to learn Java from scratch, I highly recommend sticking to online courses as they are generally well-structured, engaging, and cover all of the essential topics. Plus, they let you study at your own pace, in the comfort of your own home.

Among tons of different options, I’d like to narrow down your choice to CodeGym, Codeacademy, Udacity, Treehouse, and FreeCodeCamp. All of them are pretty informative and suit beginners perfectly. Yet, CodeGym is my personal favorite since it can boost your programming stamina and help you build your Java muscles in a very engaging and motivating way.

What’s so special about it? Just like in a real gym, you’ll have a clear program with step-by-step lessons with 1200 practical tasks (500+ hours of practicing in total). And just like in the real gym, you’ll have your own personal coach, i.e., a virtual mentor that will review your codes, help you fix your mistakes, and give a clear list of requirements of what you need to do.

The course is well-balanced, with 80% of practical tasks and 20% of theory. And even the theoretical part here is non-boring because the course includes visualization, storytelling, gaming, and many other motivating technologies to make learning fun. The other CodeGym advantage is that it also teaches students how to work in popular IntelliJ IDEA and complete tasks directly in it.

On average, you will need 12–18 months to complete the course and prepare for your first job interview.

That’s All?

No! It’s just the start of the journey! As Java is continuously changing, any good Java specialist should constantly upgrade their skills to be on a roll. There will never be too much Java if you’d like to succeed in your field, so even after you manage to learn Java from scratch, don’t stop.

Also, don’t fear to begin, my friend, even if you have zero programming skills and don’t understand how things are done here. Learning Java is not a “rocket surgery,” and anyone can code. Just remember to build an effective plan, find the right learning resources, minimize distractions, and don’t neglect to join the community where you’ll always get suggestions and draw motivation from your peers. Good luck!

--

--

John Selawsky
Quick Code

A senior Java developer and Java tutor at Learning Tree International programming courses. In Java We Trust.