It’s been ~1.5 years since I decided to choose Java as my main programming language. I spent some long time considering what to choose… another candidate was Python… a much lighter and a whole different animal. Given what’s going on with TIOBE index nowadays I had some time to question my decision… Python is really in demand and Java is dropping. But there was something magical in Java, may be that it didn’t look as light and the challenge that it was putting in front of me? Definitely I started and dropped learning Java 2 or 3 times before. 🙂 So back to the point I’m on my journey to Oracle Certified Java Programmer achievement. The surprise from Oracle was that they decided to retire 1Z0-815 and 1Z0-816 exam and created an new one – 1Z0-819 that combined both… so basically they put me away from my goal to take 1Z0-815 in 2020. Because the knowledge of 1Z0-815 isn’t enough for 1Z0-819 I’m kindof stuck with learning the 1Z0-816 part now to have a complete knowledge for the new exam. But I needed something so I went and got certified as Java Certified Foundations Associate at least something to keep me going.

I must say that the body of knowledge for 1Z0-819 is huge… pretty much ~1500 pages which one needs to not only make sense of but be able to answer really tricky questions about. So on my way I have changed a lot of different approaches to learning that much. So I want to share my latest idea here and look at it later and revisit it and may be add something for the future me or a reader 🙂

1st go:

  • Divide the material into sections – e.g. 1 section contains 2-3 chapters. Smaller sections are good too.
  • Read through the section without digging too deep, try to make sense of material but don’t cram it.

2nd go:

  • Work on each chapter from the section:
    • Write a compendium in own words. This helps a lot! Checks the understanding on the fly.
    • Experiment with material, examples are good but experimentation is much better.
    • Get Additional info from other sources to get unstuck if there’s a wall. Yep, that’s Ok. I’ve hit many of those.
    • Try to explain the material to somebody else. Like your own kid. Kudos to Feynman learning technique.

3d go:

  • Apply the knowledge:
    • Practice coding! What can be better than that? Do what you have learnt, apply it.
    • Practice katas, those are nice to. is a good place to do that.
    • Practice by building something that would use the material

4th go:

  • Return to the previous section later and review the compendium.

Repeat all of that for the next section of chapters.

Good luck and happy learning! Make that happen!