Thursday, 3 October 2013

ORACLE CERTIFIED PROFESSIONAL, JAVA SE 7 PROGRAMMER (OCAJP7) - AKA 1Z0-804


Hi everybody how is going?
As I announced before, the first topic we are going to discuss, regards the Oracle Professional Certification.
Why? Because I just got certificated few days ago, and I want to share my personal experience with you !



All the work I've done is still very fresh in my mind so I would touch as much more topics is possible for providing a complete view of the certification and a study plan as well, but in the meantime I'll try to be as much synthetic as I can, so that nobody will have to spend a week to read this post.


WHY TO GET A JAVA CERTIFICATION

So this should be the first question in everybody mind. Why would I make a big effort for getting a piece of paper? I asked this question myself when I got the first certification, the OCAJA7 - AKA 1z0-803, which is indispensable for getting JAVA professional certified. The answer is the following points:

  1. Nowadays there many computer science graduates around. While is true that the market is still growing, it is also true that I'm noticing that in many job offers, the Java Certifications are a big advantage over the other candidates;
  2. You actually have to study a lot of things that I'm sure you didn't know before! I have asked some of the most simple questions that are included in the certification, to some experienced developers. They did not give the right answer in most cases! It can be strange but in this exam, a lot of hidden spots that JAVA has, are supposed to be understood;
  3. It's a way to practice you programming ability and understand your weak points;
  4. At the end of the day, It's funny and enjoyable to prepare the exam.

  
THE CERTIFICATION PATH

Before you start thinking to take any Java certification you may want to have an understanding of the "big" picture below:


As you can see, the Oracle Java certification stack is just huge, but you may not be interested in all these exams. However one thing is certain: for getting any high level certification the OCPJP7 is a prerequisite. If you don't own this certification you can't access to the "speciality" level neither to the "advanced". But there is still something to consider. For becoming an Oracle Certified Professional Programmer, the OCPJP7 itself is not enough. You have to get also the Oracle Certified Associate (OCAJP7) before your certification will be full approved by Oracle. The image below is totally self-explanatory:

  
To be  more specific, you don't need to follow any order for these two certifications. You can think even to take the 1z0-804 before and the 1z0-803 after. When you'll have both done you will finally be an ORACLE CERTIFIED PROFESSIONAL PROGRAMMER. If you get only one of them, it will be formally "not recognized".


EXAMS TOPICS and GENERAL INFORMATION

The list of topic is fully available here. In short you will have to deal with:

  • Java Class Design 
  • Advanced Class Design
  • Object-Oriented Design Principles
  • Generics and Collections
  • String Processing 
  • Exceptions and Assertions
  • Java I/O Fundamentals 
  • Java File I/O (NIO.2)    
  • Building Database Applications with JDBC
  • Threads 
  • Concurrency 
  • Localization

Fortunately the price for the exam has been lowered to 245 US dollars.
The number of question is 90.
The passing score is 65% (59 correct answers)
And the time available is 150 minutes.

 STUDY MATERIAL

This certification is quite new so there is not a huge amount of material out there.
For the previous certification, the OCPJP JAVA SE 6, many people used this book, which was excellent:

Thus, when the new certification was released, everybody was waiting for the new version of this book, related to the JAVA7 version. But for some very strange reasons, the new version of this book won't be available until the 29 of December 2014. I have no clue what is the story here.
Some people are still using the old book for preparing the new exam. Bert Bates, author of the book, wrote on coderanch:

" If you're studying for the OCA, our book (K&B 6), should give you pretty good coverage. If you study the following chapters from K&B 6 you should be in pretty good shape for the OCA:

chaps: 1, 2, 3, 4, and 5
chap 6 - the String and StringBuilder sections
chap 7 - the hashCode() and equals() sections, and only the ArrayList class.
chap 10

The chapters (and sections) listed above ARE NOT a perfect overview of everything you might encounter on the real exam, but I'd say they represent a 95% overlap. We'll be nailing down that last 5% over the next several weeks."

However an other book was published in the early in 2013. You can find it here




This is a quite comprehensive book, that touches all the topics listed before, but to be totally honest, it contains many errors. Probably the authors have written it rushing a little bit, because there was a big lack of available material around. Myself and several other people, contributed to the correction of this book. You can find an errata list here. You'll notice my name there as well.

Given the lack of material available, I would strongly suggest to everybody who wants to try this exam, to buy this book !

If you don't want to spend extra money, don't worry. You can still use the Java tutorial provided by Oracle.
It also true that this tutorial won't be enough in my opinion for passing the exam. You definitely need to go through the Java Doc and do a lot of practice by yourself if you want to use it as unique resource.    

MOCK EXAMS

Some people think that using mock tests is like cheating. I personally don't agree. You're going to try to take an exam that cost about 250 dollars. You do not want to fail, do you ? 
Mock exams can be used in three ways:
  • Try some exams before you even start your preparation; In this case you will be able to understand the topic more deeply.
  • Prepare yourself quickly, going trough all the exam topics and after try some mock exams. You will probably fail but you will be able to understand your weak points. Some people have different weak points based on their personal studying or working experience.
  • Prepare yourself deeply going trough all the material I've shown you and do the mock exam only for having an idea about how the questions will be, the timing, and getting familiar with the typology of exam.
  
I've tried only Enthuware mock exams and I have to say that they are brilliant. Off course there were some small mistakes that you can easily report using the botton "review" on the software that will be provided, but the errors get usually fixed in few days and a new version of the question bank is released.

The software looks like this:

    
And it can be downloaded on the Enthuware web site for ten dollars. I think it's definitely worth!

You can find some mock questions also directly on the Oracle web site.

Other mock exams vendor are:

  
But I've never personally tried them so i wouldn't be able to writ each chapter e a fair review.

OTHER USEFUL RESOURCES

CodeRanch.com has a forum that treats all the Java Oracle certifications. You can find the section regarding this certification here.

 
HOW TO PREPARE THE EXAM


When I decided to prepare the exam I did not have to worry much about bureaucratic things, like registrations, voucher, locate a certification center and etc. because I had already done the Java Associate Exam. So I focused only on the preparation of the exam.
This was my detailed plan:

  • Read each chapter of the book I've shown above. I planned to study a chapter every three days. It could take less time, but it's very important that when you go trough the book, you write down the programs in your own IDE and you try them. If  you don't  understand something, you definitely want to take a look to the official Java documentation or tutorial.
  • I did all the objective wise questions present on the Enthuware software, but I had a bad news, I badly failed in most on them. 
  • I went back to all the chapters were I was failing and I spent a couple of days for each of them.
  • I've taken the objective wise questions again for those chapters and I was still failing on three topics: Thread, concurrency and collection.
  • I took a full mock exam for understanding how much this three topic would impact on the overall score. I scored only 58%.
  • I went back to those three objective and I started reading the Java tutorial on-line. 
  • I  took a mock exam and I scored 62%. I took note of my weak points. The software has some nice statistics and graph thanks to which you can understand where you have to improve.
  • I went to study those objectives from the Java doc directly.
  • I took one more exam and I scored 66%.
  • I read all the notes I've taken and all the syntheses available on the book and on the page I ve suggested you above.
  • I took the forth mock exam scoring 69%.
  • I took the last mock exam scoring 72%.
Remember the most important thing to do, is to read and take note of all your error after every mock test you take. This is the best way to improve where the book and the on-line resources are lacking.
HOW TO BOOK THE EXAM


The exam is run in Pearson Vue center. For booking the exam, you have to connect to www.pearsonvue.com.


First thing to do is to register.  Then you will be 't need to bring anything asked to choose the exam you want to take and locate a test center. Once you're done, you will have to pay and you will receive and email with the confirmation of the booking. You won't need to bring anything with you. Everything is already automatically set. Follow the instruction in the e-mail and go to the center choose half hour before the exam. You will need to provide to two form of identifications and compile a module with personal information. Also a photo of you will be taken. If you pass the exam the photo will appear on your Oracle profile on-line!
BEFORE THE EXAM

The day before the exam or the day of the exam itself, if you have to take it in the afternoon, it's a very good idea to go trough this Ocpjp 7 Quick Reference Card



This cards are done by the same author of the book I've shown you above, and do not contain error.
Print them and read them at least a couple of time. 
They can really help you to get some correct answers. 

Once you arrive to the center, you may want to  go to the toilette. You will be given a paperbook and a pen for taking your personal note.

AFTER THE EXAM

After the exam you want knoe anything about the exam. Don't worry you will get an email from oracle very soon. If you succeed you will be able to login on Oracle certView.
You will see a screen like this:



Sorry for the photo, I was tired and sick.

     
THE CERTIFICATION


If you passed the exam, you will receive a beautiful certificate at your delivery address, like this:







And you will receive also a professional card like this:



STAY CERTIFICATED !

LUCA
 

Monday, 30 September 2013

YOUR SOFT ENGINEER IS ON-AIR






Hello everybody, how is going ? I'm very glad to announce the born of this blog. I have thought a lot of time about making this editorial space, and finally I decided to invest some of my time and my knowledge for all the guys out there passionate in software like me!

So first of all, why "http://www.yoursoftengineer.blogspot.ie/"   ? The name comes from the fact that we are going to mostly speaking about software development, techniques, processes, programming certifications, frameworks and many other cool things. I will often bring in also a "testing perspective", because I'm really passionate about this ring of the chain as well.

Now, Let me speak a little bit about me.
I'm a 26 Italian guy living in Ireland, specifically in the center of Dublin.
I graduated in informatics and I've taken a master in computer science at University College of Dublin. I'm now working full time for a big Irish company as a software engineer.





I have just done the exams for the Java programmer associate and professional developer, so these will be the first two topics I'm going to speak about. If you're planning to take this certifications as well, you will find a lot of useful advices and resources on these pages!








STAY TUNED!

LUCA