04 May 2015

The Java Certification Trials

I've recently decided to certify my skills as a Java developer (after nearly 10 years of development on the Java platform).
At first it seemed a bit ridiculous - what would that bring me besides costs of money and time. Most of the developers I know branded it as some eccentricity of mine. However I did have my reasons:
  • It'd be a good stimulus to learn all the new features of Java 8 and some of the features of Java 7 that we always wanted to use, but never did.
  • It'd be a reality check for me - do I know Java well? How well do I know it? Are there gaps?
  • Lastly it'd be a test of the Oracle certification system, one that might save other people money and effort, or perhaps inspire to take certification tests.
I decided that the Java SE - Certification Path is what I need. Here is what I learned during my trials at the Pearson VUE (official certification authority that Oracle trusts with the certification tests).

Oracle Certified Associate, Java SE 8 Programmer


Where it all starts - as an apprentice working for a master.
(Took the exam on the 4th of May. May the fourth be with you!)
My thoughts:
  • I prepared using the OCA: Oracle Certified Associate Java SE 8 Programmer I Study Guide: Exam 1Z0-808 - the book is quite large (435 pages) and assumes no previous knowledge in the Java (or software development) realm. As such it was totally inadequate for me, however it could be valuable for somebody less experienced. I just lost a lot of time reading things I knew, trying to pick out the trick questions 9which this book actually makes sure to outline, but alongside a lot of information that is irrelevant for somebody who has worked in software development).
  • The test itself gave around 2 minutes per question, which is relatively fast paced, especially compared to other certification tests I've taken. I was personally unable to double-check most of my answers.
  • I admit I was ill-prepared considering the fiasco with my choice of preparation material, however the test itself was mostly trying to test how good you have prepared for the exam itself and not how well you know the Java language and ecosystem itself. There were a lot of questions that required knowledge in the Java APIs (such as what method signatures the String class has). There were also quite a lot of trick questions where something small would be missing ( a semicolon perhaps) or changed (misspelled).
  • Overall managed to achieve 84% with 1 day of preparation.
Key takeaways :
  • Learned a few things from Java 8 I never had a chance to see in practice such as default and static methods in interfaces and simple lambda
  • Felt a little stupid
  • Found a few areas I am still a bit shaky at. Most of them were such that I never gave a lot of thought about them - such that the compiler would always warn me about or I'd rarely use in practise.
  • Added it to my Linked.in profile almost immediately :)

Oracle Certified Professional, Java SE 8 Programmer

The next step (I just love it how Oracle have designed this path to mimic the craftsmenship) is to become a professional.
I'll take this step someday this May.

Oracle Certified Master, Java SE 6 Developer


And finally - becoming a true Jabba Master!
(So when you reach this level you are apparently no longer a programmer, but instead become a developer)
This is by far the most difficult level I would reach. I would not only have to pay a lot of money to certify as a Java Master, but I'd have to also:
  • Visit some Java training session (choose it from a list)
  • Receive a task assignment and complete it in a few months
  • Submit the task along with an essay on the actual exam
My own ETA for this is June

Voilà

At this point, somewhere in the Summer of 2015, I should be an official certified Jabba Master. May the force be with me!