Preparing for the Oracle Certified Professional: Java SE 17 Developer Certification Exam
How I passed both the Oracle 1Z0–819 and 1Z0–829 exams
If you are working with Java professionally and if you are serious about what you do, the Oracle Certified Professional: Java SE 17 Developer (1Z0–829) exam is for you. The knowledge and experience you gain through the exam preparation sets you apart from those who have not done so. It really does. Deepening your understanding of the language enhances your development skills and proficiency as a developer. The Java SE 17 1Z0–829 exam summary, including syllabus, can be found here.
So, how do you go about preparing for the exam? I thought I’d share my experience, in case it may be of benefit to someone out there. If I had access to this information a year and a half earlier, it would have saved me a lot of time and struggle.
First things first. The exam is (really) hard, but it is not impossible. So persevere. I had worked with Java a good 6+ years prior, but it still felt like the exam was on a different level. Be prepared to put in the hours if you want to get certified! It pays off in the end.
Study Guide
At the start of my journey the Oracle Certified Professional: Java SE 11 Developer (1Z0–819) was the first of the new format Oracle Java SE exams with the monster syllabus. I initially watched Tim Buchalka’s Udemy video series one and two (Edit: There is a more current version available for these courses based on Java 17). Whilst these videos are good (still relevant for the 1Z0–829 in terms of general knowledge required), this alone won’t be enough. At the time Oracle had a $25 exam offer and I sat the exam back then with only about 1.5 months’ of preparation, and only having watched the videos. I failed. Badly.
About a year later I picked up the studies again. By then I had made my own notes based on the videos, but they felt quite inadequate. That was when I discovered the Java SE 11 exam study guide (Edit: there is a Java SE 17 exam study guide available). This one is a real must. It helped smooth over the gaps in the theory from the video series. I studied this book to destruction. I carried it around with me everywhere, swotting on planes and trains and whenever I had a few minutes spare. Towards the end, the pages, all smeared in highlighter fluid and graphite, were literally dropping out of the binding.
Take-home message: regular study is key. If you slack off, you end up revisiting work already covered instead of making progress into new sections.
The book is good, but note that it is lacking in some vital areas. This is where the videos started to shine. Topics such as JDBC, Concurrency, Modules, Generics and Collections and I/O are best supplemented with the code examples and explanations from the videos, or alternative reputable sources, such as the Oracle Java documentation pages.
Practice Tests
Being armed with all this knowledge is essential, of course, but you still need more. Really. The exam requires a minumum of 68% in order to pass. You have 50 questions and only 90 minutes, meaning, time is not on your side. What you need next is to learn to cope with the pressure and difficulty level of the exam questions. You need to learn how to do the exam. At my first exam attempt I made the mistake of rushing through it too fast. I had a decent 15 minutes at the end, but I left a trail of destruction in my wake.
To better equip myself mentally, and to learn how to sit the exam the right way, I used the Enthuware practice tests. The practice tests helped point out my weak spots, as well as teaching me a few things I hadn’t been aware of up to that point. These tests are hard, so don’t be discouraged if you fail the first few. Or five. Or six. I even struggled to pass the last three unique tests, but by then I had a gut feeling that I might be ready for the exam. Understanding why you failed a practice test is part of the learning process. Where I had incorrectly answered a practice test question and felt uncertain about the explanation, I would enter the code into my IDE and play around with it a bit.
Learning by doing helps to reinforce concepts that you need to be able to react instinctively on.
What the practice tests teach you, most of all, is how to normalise the exam pressure. By the time I sat the exam proper I must have done thousands of practice questions. Having a daily 90 minute Java quiz had become the norm, so doing the exam proper felt like part of this ritual. I would actually go as far as to say the Enthuware tests were, on average, somewhat harder than the real deal. But do make sure you feel comfortable enough in your preparation before you sit the exam.
Note also that the exam is an online proctored affair booked via the Oracle University website, so get comfortable in your preparation with the idea of not having access to pen and paper and having to mentally juggle computations, such as day-light saving calculations across time zones.
Exam
In terms of advice for the actual exam, ensure that you read, read, read, read and read the questions. Properly. The exam creators work overtime to try and mess with your brain. You need to be able to spot and side-step their trickery if you are to pass. If a question asks about options that will throw a runtime-error, for example, you can ignore compile-time errors, and vice versa. Switch off all background processes in your brain and don’t get discouraged if there are a couple of dud questions that your brain struggles to cope with at the time. This is normal. You will be nervous. If you start to allow negative thoughts to creep in, you will lose. Stay focused. Mark the questions you are uncertain about, and come back to them at the end. Time is tight but your mock exam preparation helps you here. You should have a feeling of roughly where you need to be time-wise at a specific stage in the exam. There should be some time left in the end. I had about 18 minutes. And I can almost guarantee you that, by the time you revisit those befuddling questions again, you will feel less frazzled and see the solutions more clearly. Don’t lose heart and keep going.
Java SE 17 exam v Java SE 11 exam
The Java SE 17 exam was released before I could finish studying for the Java SE 11 exam. Bummer. So, on passing the Java 11 exam, I immediately decided to leverage on this time investment by studying the delta I needed to know to pass the Java 17 exam. I again used the relevant Java SE 17 exam study guide and Enthuware practice tests for this. The Java 17 exam was mostly similar in scope to that of the Java 11 exam, although it felt a bit harder. Questions on JDBC, concurrency and serialisation were more intense and involved than on the Java 11 exam. The study guide also felt a bit inadequate on these topics, so ensure that you read widely and study the relevant Oracle documentation as well. Since object-orientated programming is Java’s distinguishing characteristic, ensure also that you are well versed with all of the Java aspects relating to this paradigm, regardless of which Java exam you sit.
I sat many certification exams over the past year and this one was hands down the hardest, both in preparation effort and exam difficulty. The process was painful and I had to sacrifice a lot. It is expensive in both time and money. Yes, it is worth it. Perhaps not so much the destination but the journey itself. So, what have I gained from this experience other than the two certifications? Something more worthwhile: I supercharged my Java expertise. I can now more easily analyse existing code and generate new code better, faster and with greater conviction. And this is what it is really about, after all.
Just don’t use the DriverManager. Ever.