In order to keep up with IT my next challenge for myself was to become Sun Certified Java Programmer (SCJP, CX-310-065). I took the exam yesterday and scored a nice 95%. I'll share some observations about the whole process.
PreparationI first took a two day exam training (utilizing
some special HBO-fund ). Looking back this wasn't really necessary, but didn't hurt me either.
I already had an
impressive exam book by Rasmussen but
the book I got at the training was even better. The Rasmussen book is very comprehensive but the (for me) difficult topics of generics and inner classes were too dry to get through. The Sierra/Bates book was just more readable.
At the end of the training we took a mock exam and I scored 60%. The current pass norm is 58% (used to be 65%). So I decided to study my weak topics and all should be ok. After studying my weak topics I took the 2nd mock exam: 60%! Hmmm, shouldn't I be scoring higher?
After about 30 hours of going through the entire book during the christmas holidays I took the 3rd mock exam. 61% WTF!? I never had so little return for so much study.
I was starting to get pretty annoyed with the whole thing. The Sierra/Bates questions were often about nitty gritty details, or contained tricks within tricks within tricks. I'd study a whole chapter and the first test question was about the exception to the exception in some small corner.
The last day of study I toyed around with live code, instead of just reading the book. This also helped and I could have done more of that.
ExamThen the exam came. It turned out to be way more easy than the Sierra/Bates mock exams. One big difference is that Sierra/Bates phrased most questions as "choose all that can apply". On the real exam most often the number of options to choose was specified ("choose the 3 correct answers"). That made a huge difference. The other big difference was just that the questions were less tricky. There were some, but most questions were straight about testing your understanding on the topic at hand.
Another weird thing was that I identified 3 (out of 60) questions to have clear reproducible errors in them. And these were unintentionally since the answer "will not compile" was no option. One was a declaration "private name;" (missing String), the other was "private void() methodName{}" (parentheses misplaced). The other was "choose the two correct options" but then providing a radiobutton . I find this pretty astounding for an official exam taken by thousands of people.
AfterthoughtsThen came my score: 95%! At first I was happy, but then felt a bit disappointed. If it is this easy and the norm is 58% then everyone can to this. The certification isn't very exclusive and I could have saved a lot of studytime. Oh well, I'll just make sure to mention my score to everyone ;-)
So does this whole experience make me a better programmer (/lecturer)? I'd say that 50% of the effort was useful in seeing things about the Java language in which I didn't have much experience. The other 50% is more a testimony of determination, concentration, focus and study capabilities. But I could also have shown that by learning Spanish or how to play the piano (oh, if only a day had 48 hours... :-)
Next stop is to educate myself more on research but I'll be back for the developer exam (SCJD) in the future.