This last Friday I took the Sun Certified Java Programmer exam (Java 5 edition). I am going to talk about the experience, what I would have done differently and why it will end up mattering.
So just how hard is the SCJP? Instead of phrasing it in some vague way, I’m going to tell you what I did and how it all worked out for me. For starters, I studied for about 25 hours over the course of 10 days before my exam. I would say that having 18 months of Java experience did not help much. I also took 2 practice tests **but they **weren’t as helpful as I would’ve liked. However, I do still highly recommend reading the SCJP Study Guide by Sierra and Bates. It was fairly thorough and contained many helpful tips.
I got a depressing 55/72 or about a 76%. 59% is a passing score. From this experience I have learned these 3 important things that you might consider when preparing for the SCJP:
First, give yourself at least a month to study. Doing it all in 10 days was a mistake in that I did not really get time to assess my weak points and work on them. And I mean study at least an hour per night but don’t cram too much into the week before.
Second, write a lot of code. When I say this I mean those little programs that use some small feature of Java you don’t write everyday. Write an anonymous inner class. Use more generics. Unfortunately I was out of town without a good computer for much of my study time, and I would definitely make sure to fit this in were I to take it again.
Last but likely not least, use more than 1 resource to study. Get your materials from more than one place mainly. Take mock exams for 2 or 3 places. You might use the exams that came with your study book(s) but also consider using a community such as JavaBlackBelt or JavaRanch.
Why would one even go through all this effort for 4 letters to stick on a resume?
More than getting a certificate, I learned a ton of new quirks and small features of Java and I am now a lot more well-rounded as a Java programmer. I learned why some things are the way they are in Java which helps solidify what I already do know. Even though I mentioned that my experience did not help, I feel more comfortable using different programming structures and concepts as well as having a better view of what is possible. I can also now pursue my SCWCD certification (which I plan on having a much happier post about).
One final recommendation: get your company to pay for your certification exam. Lucky for me, mine did :) If you think that an exam is a lot at $300, compare that to the $100,000 or so your company spends on you every year (ok maybe that’s not all pay but employers pay a lot for benefits, equipment and insurance) . If it gives you even a 1% productivity increase, the returns for your company’s investment will be enormous!
Please share your SCJP experiences in the comments!