This article was first published on Medium.
This post describes how I passed the Java SE 8 Programmer I exam.
Why take the exam
Opinions differ on how useful it is to pass this exam. It certainly isn’t easy. You’ll need to know quite a lot about Java syntax, and what the compiler will or will not allow you to do. However, it does not teach you to be a good Java programmer; you don’t have to write any actual code, and the code examples provided are definitely not clean code. They might even be anti-patterns.
When I took the exam, there was only one study guide available for Java 8:
Overall, this guide was very helpful. It covers what you need to know, and provides practice questions at the end of each chapter, as well as several practice exams (which are also accessible online). It also provides great tips on how to pass the exam. The best tip for me was: for each question, if one of the options is “does not compile”, check if the code example will compile before looking at any of the other answers.
Personally, I found the book very helpful. Although some topics weren’t quite clear enough for me, and I did end up googling additional information.
In the mean time, other guides have become available. Since I didn’t use them, I can’t comment on their quality. I might try the guide by Mala Gupta, as I found her Java 7 version to be quite concise (which is helpful if you need to know exactly what will or won’t compile).
Another thing I did was write lots of code snippets to figure out some details; this way you see exactly what will compile or not, and what the result will be. It will help you find some common mistakes everyone makes when first starting out (missing semi-colons and brackets, etc.). And running code with a debugger will help you understand better what’s going on.
Apart from studying the exam topics, both by reading and trying out code, I found practice exams essential. Practice taking the exam as much as you can! Any exam guide will likely offer one or more practice exams. In addition, you can buy more mock exams.
In my case, I bought exams from Enthuware, which are good quality and not very expensive. They helped me learn the how to answer the types of questions you might expect on the exam, as well as to manage my time. (Pro tip: mark questions you’re not sure of and come back to them later. Do answer them; an answer that may or may not be correct, is better than no answer which is sure to be incorrect).
In addition, it showed me which areas were my weakest. Then, I would research those topics some more and clear up any confusion I had before doing another mock exam. Once I was consistently passed the mock exams, I also passed the actual exam.
Because my employer at the time paid for it, I also did a course at Oracle. This one week course covers all of the topics, with some exercises. It is useful to have an instructor to help explain things to you. If you don’t take the course, you might have to ask friends or coworkers. In my opinion, doing more mock exams (even if you pay for them yourself) is better value for money. But if your employer is willing to pay for the course, it can’t hurt.
If you want to pass the exam, it will take some work. Don’t just read a book, but practice; both with code and with mock exams.
The exam is not easy and therefore does show that you have a firm grasp of the language. However, it doesn’t show that you are able to use it well. For that, you’ll need actual experience.