Yep, I did that. And it was a total pain in the ass.
I Guess I’ll Study
Although I am a senior Java developer with 7+ years of experience at the time of writing this, my work projects hadn't prepared me for this at all. I lived my life just fine without the abomination known as the OCP Java exam. Sometimes, the weird thought of passing the exam crossed my mind, but it was quickly blown away by the understanding of how much I would need to study for it.
However, one regular day, the team lead at work told us that they were planning to increase the number of certified people, and I was at the top of the "priority" list. Honestly, I wasn't against it. At least now I had some kind of motivation: "Management needs me to have this cert." I had the option to choose between passing the Java 11 or Java 17 exam (at the time of studying and writing this post, there was no exam for Java 21 or newer), so I chose Java 17. Since I had to study anyway, I thought it didn't really matter.
And so I began to study. I got the book (OCP Oracle Certified Professional Java SE 17 Developer Study Guide: Exam 1Z0-829) to prepare myself for the cert. Quite quickly, I understood that this exam is more "academic" rather than "practical." I had seen some wild things in different projects, but reading this book, I encountered some unseen shit. For example, I never saw anyone actually use Java modules or access a member of a list using binary instead of regular decimal int. Or using some super specific collections members. I realized that my Java knowledge wasn't that deep. Or rather, it wasn't that wide.
Java, But Make It Weird
You see, I learned Java by myself, mostly through various projects at home and at work. I understand how the JVM, GC, and other Java-related things work, and I've spent 7+ years working on Java projects, writing various business logic for different projects and clients. Yet I understood how little of the language you actually need to know to peacefully work in a corporate environment, writing some code.
Anyway, I read through the book without caring too much because that's how I study—first, get acquainted with the whole thing, and then dig deeper. And I needed to go deeper. After the first read, it became clear to me that the book wasn't enough. I got myself practical mock tests and a video course partially based on the official study book and continued my efforts. And the "fun" began. I hated this exam already. Some questions were weird, some exploited how carefully you could examine code (like, no one actually reads through the import list or package names) and tried to fail you in some bizarre way. Here's some examples from mock tests which were not too far from the real exam:
These and similar ones were the triggers of "fuck it, I'm done for today".
Torture, Triumph, and an Official PNG
Anyway, after a few months of torture by studying on and off for the exam, the deadline has come and I had to actually take the exam. I booked the date, took the exam and failed :). Not too far from passing the exam, but still failed. It took me another month or so of studying to try again and the second time I passed the exam. Here's look, I have the official PNG! I have no clue why it says 2022, though - I took the exam in 2024. Here, look:
Anyway.
Is it a difficult exam? Yes it is. Unless you can memorize a lot of things or actually use the WHOLE Java regularly.
Should you take Java OCP exam? I don't know ¯\_(ツ)_/¯. If you have over 5 months to spare your evenings, then why not.
Am I happy now that I am a certified Java dev? Sure, why not, looks nice on my CV ;). And a nice flex: "I'm CeRtIfIeD, bY tHe wAY".
Thanks for the read.