OCP Java SE 17 Developer (Exam 1Z0-829) Programmer's Guide by Khalid Mughal and Vasily Strelnikov - Book Review by Hanumant Deshmukh

OCP Java SE 17 Developer (Exam 1Z0-829) Programmer's Guide by Khalid Mughal and Vasily Strelnikov - Book Review by Hanumant Deshmukh
We, at Enthuware, are always on the lookout for good study material for various Java Certification exams. We were elated when we learnt about the new book on OCP Java 17 certification (Exam Code 1z0-817) exam written by Khalid Mughal and Vasily Strelnikov. Mr Mughal needs no introduction, as he has been a Java expert at least since I started programming in Java. I passed my first Java certification more than 20 years ago (it was called SCJP 1.2 back then) using his book. There were multiple certification books at that time, and his book stood out due to the quality of its contents in terms of coverage, depth, and technical precision.

In the present day, the latest professional level Java Certification is the OCP Java 17 certification, and a there is only one book on the market for this exam as of now (March 2023). A second book by a seasoned expert such as Mr. Mughal is greatly appreciated.

Last week I received a copy of the new book for review, and here are my thoughts about it:

  1. The book is huge at 1800 pages and comes in two volumes. I can easily see why that is. First, the exam covers a wide range of topics ranging from beginner to expert level. Any book that claims to prepare a student for this exam will be thick. Second, this book doesn't cut corners. If the authors feel something is important enough to be told and explained, then it is covered even if it is not directly mentioned in the exam. Third, the book can be used even by a Java beginner, so concepts are taught from the ground up.

  2. While going through the book, I noticed that it covered some topics such as Annotations and Security, that are not present on the OCP Java 17 exam anymore. They were there on the older Java 11 exam. I enquired about it with the authors and learned that they included these topics partly because they felt they were important and partly to make the book useful for candidates taking the OCP Java 11 (Exam Code 1Z0-819) exam.

  3. Complicated concepts such as Generics have been taught thoroughly. For example, students find it confusing that Node<Integer> and Node<Double> are not subtypes of Node<Number> even though Integer and Double are subtypes of Number. Concurrency and parallalism is another tough topic to grasp. The book explains all such topics in great detail.

  4. The chapters are peppered with objective questions, and at the end there is a full sized mock exam with detailed explanations for all of the questions.

  5. If you are short on time and want to just focus on passing the exam in the shortest time possible, then you may have to look for other resources because the book does include topics that are not required for the exam at all. For example, Appendix G on the Java Logging API can be skipped. But in all fairness, the official exam objectives do mention it in passing. We haven't prepared a complete list of such topics, but we might do that later as we start using the book in our training program.
Overall, the book is quite useful for anyone studying for this exam. I am happy to note that this book has maintained the same standard that I appreciated as a test taker twenty years ago, and if you are planning to have a career in Java programming, I wholeheartedly recommend studying for the OCP Java 17 exam using this book.

Hanumant Deshmukh
Director, Enthuware