A small tip for your educational plan - 1 I've decided to write about what I really missed when I first began my studies on Java programming, namely, what needs to be studied and in what order:
  1. From the very first levels of the course, you can begin a parallel study of database management systems (In my case, it was MySQL on sql-ex.ru. Roughly the first 70 tasks will be enough) and work through the free HTML Academy course. There you'll learn about HTML and CSS.

  2. Once you feel you've more or less understood the basics of Java Core (corresponding to Level 15 on CodeGym, I think), come up with a project that you will find personally interesting and useful. You'll have something to show and talk about at interviews.

  3. I recommend climbing to Level 40 on CodeGym.

  4. After Level 20, start exploring things like version control systems (Git, githowto.com) and figure out what Maven is.

  5. After Level 30, start mastering Hibernate.

  6. At the finish line, before finding a job, you should take a deep drink of Spring (Read "Spring 4 for Professionals").

At the same time, read books on the topics you're studying. Use time management skills (if you aren't already) and then it will only be a matter of time before you get an offer. My training phase took a year and a half and roughly 700 hours of pure study. Here's a separate list of approximately what you need to know to confidently go for an interview at a good company:
  1. JavaSE (here you should know everything, though there is some leniency when it comes to multithreading)

  2. JDBC, MySQL (you should have a good mastery)

  3. HTML, CSS (everything is quite simple here, no deep knowledge is needed here)

  4. JUnit (nobody said testing isn't necessary)

  5. Git (publish your own project, you'll figure out how)

  6. Maven (nothing complicated here, figure it out)

  7. Hibernate (this is where the difficulties begin)

  8. Spring (I'm only delve into it myself, I regret that I didn't start earlier)

As for my own project... I wrote an ordinary console-based CRUD application using JavaSE and Hibernate, compiled using Maven. Interviewers are very interested in the code you have written yourself. And that's basically my message here. All that remains is to wish good luck to those who have just embarked on this thorny path (yes, it will be difficult).