I would like to share with you my experience in obtaining the coveted titles of Oracle Certified Associate, Java SE 8 Programmer (hereinafter OCA) and Oracle Certified Professional, Java SE 8 Programmer (hereinafter OCP).

Updated Oracle Certified Associate badge

Updated Oracle Certified Professional badge

Yes, I know that Habré already has a sufficient number of articles on this topic: one , two , three , four . In my opinion, they are good, but they do not answer the main question that arose after I started preparing for the first exam - OCA. I could not find an answer to this burning question - why do I need it from the developer's point of view, what "profits" besides the badge and the electronic certificate on the site will I get? Wouldn't that be a waste of money and time?
I will not describe the certification levels, you can read it in other posts. In this post I would like to share my personal experience of preparing and passing these exams, as well as describe the experience gained, its relevance and usefulness.
So, my background at the time I started preparing for the exam:
- Read The Java Philosophy by Bruce Eckel
- About 1.5 years working with Java
- Basic knowledge of OOP and multi-threaded programming
Some stability has arisen at work, when there are no urgent and hot tasks, the routine begins to drag out. I was somewhat relaxed in terms of deadlines and deadlines. This is where I wanted to add some "pepper". About certification in the company where I work, there were conversations around every now and then on this topic, but it remained only conversations and no one had a chance to give it up. So life would go on calmly and measuredly, until fate pushed me against one of the Luxsoft lecturers, who pushed me into the abyss of learning.

The lecturer, by a lucky coincidence, is the author of the book Nailing 1Z0-808: Practical Guide to Oracle Java SE8 Programmer I Certificationfor the preparation of OCA. Preparation for the first exam (OCA) took about a month, I spent almost all my free time with a book in my hands or at the enthuware simulator .
The surrender process is pretty simple:
- you book your exam at one of the certified centers in one of the cities of your choice, in my case - Moscow
- pay about $ 150
- go to the exam at the appointed time.
The exam takes place in a separate room with a bunch of cameras pointed at you. Discard the idea to write off immediately, in my opinion, it is simply unrealistic. Time is limited, but I consider it sufficient for OCA with sufficient training. You will find out the result quite quickly, for example, I received an e-mail after 30-40 minutes. And hurray! The first exam was passed with a decent score of 94%
OCA result

Subtotals after passing the OCA, from the point of view of a working developer. At first glance, some of the topics raised in the certification process seem like toys, but they cannot be underestimated. I believe these are the very subtleties that separate some developers from others. Yes, all of us probably know how to create classes / interfaces, use inheritance and write an if statement. But only a small percentage of people look under the hood of the tool they are working with. Everything I learned during the preparation and delivery of the OCA, I immediately began to distribute among the members of my team. No, I didn’t boast about this certificate, lifting my nose, I didn’t say anything to anyone, but just started to apply the knowledge I gained and share it. Without exaggeration, I would compare it to refresher courses.
It would seem that you need to calm down, enjoy, albeit a small, but victory. Instead, the realization comes that the OCA is small and it is necessary to storm the OCA immediately. Having phoned Igor and describing my results and desire to go further, I received in return support and useful information about preparing for the OCP.
This time I used several books at once, because the scope of the topics covered is quite extensive and this exam will not work just like that.
The books I have used:
- Java I / O, NIO and NIO.2
- OCP: Oracle Certified Professional Java SE 8 Programmer II Study Guide: Exam 1Z0-809
- OCP Java SE 7 Programmer II Certification Guide: Prepare for the 1ZO-804 exam
Well, where without the enthuware simulator .
This time the preparation took 2.5 months. I also spent most of my free time either reading a book or using a simulator. The OCP topics are more complex and much deeper than the OCA. We repeat the registration procedure, pay $ 150 and go to take it. For the sake of interest, I chose another center for delivery. Surprisingly, the room was almost the same with the same pile of cameras. This time there was a catastrophic lack of time, the fragments that had to be read became larger + the very logic that had to be followed became more complicated. Despite my active preparation, I barely managed to answer all the questions and make a small review. Just like last time, the answer came within 30-40 minutes. This time the result was lower, but I still consider it worthy - 85%.
OCP result

So, what happened in the bottom line , I spent about 4 months on preparation and delivery, $ 300 for the exams themselves + buying books and two licenses for the enthuware simulator. Is it a big investment of time and money in comparison with the knowledge gained? My answer is no. In the course of this training, I managed to understand the principle of the Stream API, some percentage of work with multithreading and much, much more. Was it possible to learn all this without passing any exams, without buying books and other things? Here I will answer yes, but everything is not so simple. By personal example, I can say that learning outside the time frame is not so effective.
The profound knowledge of the language with which I work every day has increased. More than a year has passed since the moment of delivery, and I still remember and apply the knowledge gained. This was reflected in the process of passing the code review. It also affected almost all members of my team, because I share the knowledge I have gained to this day.
And answering the very question that tormented me, "is it worth it and what I will get in the end." I can say that you should at least try your hand at handing over the OCA. Some of you will be able to look at things that have long become familiar from a completely different perspective. And of course, in some companies, even the first level certificate will be an excellent reason to ask for a raise.
Constructive criticism is welcome, I will be glad to receive feedback. I have a few more topics that I am ready to share with you: how I got to work in this large bank, having about zero knowledge of Java, or, how after a while, I became a team leader without asking for it and not really wanting to, or how by chance I spoke at the conference "Code".