Are you stuck in the learning root, or do you feel like your Java study doesn’t bring the results you’re craving for? If so, you’re not alone. As a Java tutor, I can assure you that many students make mistakes. It’s ok to undergo the cycle of “trying, failing, and overcoming these mistakes.” However, I’d like to go through the most common Java learning mistakes and the best ways to avoid them. This will speed up your learning process a bit and help you make as few errors as possible on your way. Let’s dive in.
Suppose you’ve already shelled a hefty sum of money on various programming books and your day typically starts with Youtube Java tutorials, but you still can’t succeed. In that case, again, you’re not alone. The most “popular” mistake novice Java learners typically make is that they really believe they should read many Java books and tutorials (ultra-thick, preferably) and only when they soak all the knowledge to proceed with practice.
This can’t be further than the truth. Ideally, you should consume the information in tiny portions and then hone your knowledge and freshly acquired skills with practice. Try to start coding from your first topic and the first day of your study. Remember that you will never get confident in coding unless you make the practice your daily habit.
Also, you should adjust the amount of time devoted to theory and practice. From my personal experience, I can assume it’s better to stick to the 80/20 rule with 80% of the learning time spent on training and 20% on theory. As for the whole time devoted to learning Java daily, I believe that it’s better to start slow and spend 2–3 hours so as not to get overwhelmed at the beginning and, accordingly, stay motivated and make the studying process easier for yourself in general.
Many newbies don’t know where and how to start their learning path and hesitate to attend offline or online classes. Then, what courses to choose from a myriad of options? I particularly recommend students to gravitate towards online resources with hands-on tutorials, so-much-needed practice, and interactive lessons but with less expensive fees than offline ones. Among the best web resources, I can highlight CodeGym, Codecademy, and FreeCodeCamp. These courses cover all aspects of Java and can help you quickly prepare yourself for actual coding. For instance, CodeGym boasts the 80/20 learning principle, with most of its content focused on practice. Plus, all its engaging lessons are made with step-by-step instructions to be easily understandable even for complete beginners.
Besides the said resources, you may also like Coderbyte, ZetCode, JetBrains, and GeeksforGeeks sites that are also full of different useful techniques to help you learn Java as easily and quickly as possible.
You know, a certain category of students can’t imagine their life without studying. And in their rage for knowledge, they consider programming just as another hobby they may need just in case. However, hardly anyone can become a successful Java developer without specific aims and understanding what you’d like to do after completing the course. So, first and foremost, you should define whether you need Java for becoming a skilled specialist (Java Developer, Android Developer, or for QA Automation) or creating coding projects for your own good.
From all this comes the next mistake…
As just mentioned, no goals mean no success in whatever field you’re going to get your foot in. Set reasonable objectives to keep yourself motivated and happy with every new goal you reach.
At first, you need to set the main goal — generally, it can be becoming a Java Developer.
Then, define additional goals or sub-objectives with deadlines for the different stages of learning. For example, it may sound like:
- Core Java. To get the basic knowledge of Java, you should first read informative tutorials, watch video lectures, and look through articles on Java regularly.
- Writing code daily. Use online courses with an emphasis on practice, where you’ll be able to nail down your knowledge after each topic.
- Creating real projects. Be ready to start some challenges when you feel you’re prepared for them. For example, you can try an engaging and interactive way of practicing — creating small projects like simple apps or games. You can try writing chatbots, aggregators, or games as soon as you’ve got confidence with basic codes. For example, Java students may use the aforementioned CodeGym’s ‘Games’ section with lots of detailed instructions to re-make popular games like Minesweeper, Racers, Snake, and more. Don’t fear to experiment, and much fun is guaranteed!
- Getting ready for a job interview. Constantly browse through different websites like Upwork, Hubstaff, and Fiverr to get a glance at the average salaries of Java programmers, the demand for them, and the requirements to keep up with the everchanging world of programming and to understand which particular skills you need to sharpen.
That just being said, don’t try to reach too many different practicing methods and technologies at once. Learning several programming languages simultaneously is also a big no-no since those who like studying everything popular that pops up usually end up getting totally confused.
To prevent yourself from getting overwhelmed with new information (even if you’re learning only Java), you definitely need a specific plan which should cover Java Core, coding projects, and optimal programming tools. Without a personal plan, any student risks becoming a lifelong learner with no defined timeframe. That’s why it’s essential to schedule your education and create a comfortable plan for yourself.
The adequate plan is a pretty important topic that should be explained in a separate post. Fortunately, I’ve already written such a post to help newbies stick to a clear and concise plan.
Needless to say, every student absorbs information at a different pace. But, generally, I suggest starting small rather than starting hard regardless of your background and skills. It’s always an excellent idea to sharpen a particular skill to perfection and only then move to another topic. All in due time, my fellow friends.
Also, don’t overload yourself with too much information and too little time for yourself at the beginning, as you may quickly lose motivation and feel frustrated. Ideally, you should devote 2–4 hours to Java learning daily with 20–40 minutes spent on theory and 1.5–2 hours on practice (always remember to code more than you read). Anyways, programming is not rocket science.
That just being said, you shouldn’t take long breaks. Actually, “daily coding” is a mantra for Java learning at all ages, so don’t make gaps in your education path by any means. If you have a lure to skip a day or two of education, this may easily become a habit and a beginning of “the end.” Keep in mind that Java is a logical chain of different topics, and when you start a new subject, it refers to the previous one, which, more likely than not, you won’t remember at all if you skip learning days regularly. And, naturally, “amnesia” will constantly drag you back.
It’s pretty natural to feel stuck at some point in your Java learning process. But it’s unnatural to fear asking questions and to avoid looking for support. Many students don’t typically ask anything since they fear their questions are rather stupid and their peers will troll them. It’s a big mistake that won’t help you to progress. Bear in mind, it’s ok to get help from different communities like Stack Overflow, GitHub, Slack, and Reddit. Be sure to give a comprehensive description of your problem, and don’t be afraid to show your code. For sure, you’ll find the help you need and will be able to learn from each other’s mistakes without feeling shy.
Moreover, if you enter a community, you’ll get the added bonus as boosted motivation. Many successful Java programmers share not only their experience and programming hints but also their lifestyle, valuable suggestions, and support.
Hopefully, now you know all the “obstacles” on your path to successful Java learning. So, let’s review how to fight or avoid them. First of all, try to create an effective plan and minimize distractions. Next, find the engaging resources and adjust the theory/practice balance (no matter what, try to practice every day). Additionally, don’t forget to enter some communities or communities where you’ll be able to find a coding buddy, ask questions, as well as draw inspiration from both green programmers like you and professionals. And, finally, continue learning and advance your skills every day even when you think you’re all set.
By mixing these educational hints, there is no chance of failure. So, put off all your doubts and fears. Go for it!
First published at JavaRevisited.