A recent post in the Oracle Certification Program blog posed some questions about the Java certification:
- I’ve been a Java Developer for years. Why should I get Java Certified?
- How different are the Java SE 8 certifications compared to the Java SE 7 certifications?
- For the Java SE 8 Certifications, why is Oracle Certified Associate (OCA) now a prerequisite for Oracle Certified Professional (OCP)?
- Do I need to buy training classes from Oracle University in order to earn my Java certification?
These are the kind of questions that can arise if you are thinking about getting a Java certification, so I thought that it will be helpful if I gave you more information about these and other similar questions, based on my own knowledge and experience. Keep reading to know more.
I'm an Experienced Developer. Would You Recommend Me Get Java Certified?The answer is yes, as long as you have motivation and clear expectations. I myself was an experienced Java Developer when I decided to study to get the Java Programmer certification. My main motivation was to improve and update my knowledge of the Java language (while at the same time getting it validated by obtaining this valuable and recognized IT credential). I can tell you that once you start studying, you soon get to realize that the time you spend doing it is by no means wasted, but instead very worthwhile. I assure you that even if you’re an experienced programmer you’re going to learn new and interesting things, not only about the new features of the language you still don’t know, but also about some things you think you master.
What Are OCA and OCP?If you’re new to the world of Java certifications, this OCA and OCP terminology can be a little confusing. I will try to explain in a few words:
- OCA is the entry-level certification for Java programmers. It’s a very good starting point to learn the very basics of the language (variables, data types, arrays, loops, classes, methods, exceptions) and also some not-so-basic topics (implicit narrowing, explicit casting, autoboxing, nested classes, polymorphism and inheritance, abstract classes and interfaces, and some specific APIs to deal with collections, strings and calendar objects)
- OCP is the next-level certification for Java programmers. It’s a fairly more advanced exam that deals with topics like design patterns, generics, File I/O (NIO.2) , JDBC, threads and concurrency.
Obviously, in order to be eligible to do the exam for the OCP you must first get the OCA, so the certification path is clear. That being said, when a new version of Java is released (e.g. Java 8), the previously existing exams and certifications are continued and maintained by Oracle for a while (several years). This means that your first step could be to get the Java 8 OCA (the latest release) or to get the Java 7 OCA. At the moment of writing this you could even try Java 6, but I’m going to leave it out of the comparison (it makes no sense since it’s a much older one).
The following tables shows the exams you have to do in order to get the OCA and OCP for Java 7 and Java 8:
|OCA||Oracle Certified Associate||1Z0-808||Oracle Java SE 8 Programmer I|
|1Z0-803||Oracle Java SE 7 Programmer I|
|OCP||Oracle Certified Professional||1Z0-809||Oracle Java SE 8 Programmer II|
|1Z0-804||Oracle Java SE 7 Programmer II|
Why Are There Two Exams?Before Java 7 there was only one exam and certification, originally called Sun Certified Java Programmer (SCJP, exam CX-310-065) and later changed to Oracle Certified Professional Java Programmer (OCPJP, exam 1Z0-851). What was the reason to split the certification into 2 exams? On one hand, if you think of the large list of topics included in the Java 6 exam, it makes sense. With just one exam, getting the certification was an overwhelming task for many people. Having two exams allows you to establish more achievable goals and also to have a first certification (OCA) in less time. On the other hand, now the exams are more difficult (higher passing score and less time per question) and altogether more expensive:
|Exam||Price||Passing score||Questions||Right answers to pass||Duration (minutes)||Time per question|
|Java SE 6 Programmer||238€||61%||60||>=37||150||2:30|
|Java SE 8 Programmer I||212€||65%||77||>=51||150||1:55|
|Java SE 8 Programmer II||212€||65%||85||>=55||150||1:45|
Should I Target the Java 7 or Java 8 Certification?The following table list the main additions done to the latest releases of Java:
|Java 7||Binary literals, e.g.:
Underscore in numeric literals, e.g.:
String constants in the
Multi-catch block: catching multiple exceptions in just one
|Java 8||Default methods in interfaces
New date and time packages
There are many more small additions in Java 7 and 8 but I’ve gathered here only the ones that are included in Java SE Programmer I exams. For further information about the Java new features and enhancements included in each version you can visit the following sites:
So given the above information, what certification should you target? I recommend you go for the Java 8 certification, since it’s relatively new and will keep being the latest version of the Java Programmer certification for a while (at least 3 years). The additional content you must study for the Java 8 exam with respect to the Java 7 exam is not that much and however worth learning (e.g. lambda expressions). In fact, only 7 pages of my book The Java Certification Roadmap are more than enough to cover the Java 8 additions (default methods for interfaces, lambda expressions and the new date and time APIs).
I Already Have a Java 6 or Java 7 Certification. What Should I Do?Well, this depends on your own goals and situation. My honest recommendation is the following:
- If you have a Java 6 certification, I would go for the Java 8 certification. The certification you have is becoming old and altogether there have been significant additions to the Java language in its last two major releases.
- If you have a Java 7 certification, I would probably wait for the Java 9 certification. You still have a pretty recent certification and the changes introduced to the Java language in Java 8 are not that important. You should also consider that these kinds of exams are relatively expensive and that preparing for them requires time and effort. So what I would do (and this is exactly my case) is just learn about Lambda expressions and the new calendar classes to keep your Java knowledge up-to-date, and then wait for the Java 9 exam to be released.
When Will the Java 9 Certification Exam Be Released?
At the time of writing this, the official Java 9 release date is March 2017, exactly three years after the release of Java 8. From that point on, Oracle usually takes its time to release the exam (first there is a several-month period intended for beta exams).
According to Oracle Beta exams «evaluate new exam questions with the participation of a live audience before being released to the public. Data gathered during beta testing are used to select the best questions for the production exam, and to eliminate questions that are ambiguous, too easy or too difficult, or unhelpful in evaluating a participant’s knowledge». Beta exams can be a good opportunity to get your certification at a much lower cost (usually 50$).
Based on the previous Java exam releases, my guess is the Java 9 Programmer I exam will be released by January 2018.
Do I Need to Pay for Training in Order to Get My Java Certification?The answer is no. All you need to prepare for the exam is a good book and a simulator to practice exam questions. As it’s said in the Oracle Certification Program blog itself, training is not a requirement for the Java Certifications (OCA and OCP).
I would never recommend you to pay for classroom-based training because this kind of training is usually very expensive. However, if you still feel that you need help, you can always ask your company to pay for it. On one hand, by letting your company know that you want to get a Java certification, you will show them that you care about your skills and therefore about your work. On the other hand, if your company pays for it, it’s not only supporting your career growth but also bringing value to the organization itself by improving its employees’ skills. So ask your manager or Human Resources. What do you have to lose?