Studying for OCAJP8
As part of my graduate contract with Black Pepper, I’ve been offered the chance to study for two fairly well known Java certifications. These are the OCAJP8 (Oracle Certified Associate, Java 8 Programmer) and the OCPJP8 (Oracle Certified Professional, Java 8 Programmer). This blog post will focus primarily on the former. The aim of me studying for these is to bolster my skillset, gain a couple more reputable qualifications from a trusted authority (Oracle issue these qualifications), and become a more well-rounded programmer.
While that last point may sound odd (why more well-rounded, it’s a qualification specifically for Java), let me show my workings.
As part of the OCA qualification, your knowledge of Java is tested from the ground up. And when I say ground up, I mean it. From declaring variables, compiling using the command line, and use of basic programming constructs, you move through Java basics to more complicated matters (including Java 8’s shiny new features, such as streams, and the Time API).
Ok, so that still sounds pretty language-specific. But it isn’t. The test is actually quite in-depth, but mainly around concepts. For example, you are asked to study and fully understand keywords and concepts that are seen across a multitude of languages, follow program flow, understand how a compiler thinks and much more. The areas that are Java specific mainly seem to be a bit of application based around this.
Luckily enough, I have used Java before, so I wasn’t diving in to a qualification in a language I had zero experience in. Unluckily enough, the practice exams (contrary to initial impressions) are somewhat tricky. When I first read about what this exam entailed, I was quite pleased to find out it was a single 2 hour 30 minute exam consisting of 70 questions, all multiple choice. A passing grade is 65%.
All multiple choice.
65%
My brain, only recently recovered from the rigours of third-year exams, couldn’t quite believe it. After essay questions, pure and applied mathematic proofs and dry-writing code, multiple choice sounded a doddle. Spoiler alert: it is not.
So far (about three months of on-off revision in), I’ve actually found the test suites to be a little tricky. I’ve been using Mala Gupta’s book as a primary source of study, exercism as a way to practice applying these concepts, and both the Enthuware and Whizlabs exam suites.
I honestly believe that both the Mala book and exercism are fantastic ways to study - but the practice tests have been a bit harder to appreciate. Enthuware is advertised as particularly difficult, which I have no issue with, as I guess it will make the real exam seem a bit easier. But both sets of questions seem to be almost half trick questions!
While I am sure that the real exam will have some trick questions (a couple of colleagues have warned me that it is not an exam to take too lightly), I’d be very surprised to be subjected to that many deceiving questions.
Either way, regardless of this fact, I am gaining more and more confidence in my ability as a programmer, I’ve already noticed differences in how I think about mine (and other people’s) code, and feel more analytical in writing and reviewing Java.
I’m very excited to get this qualification under my belt, and begin study for the next one!