When I first heard about this certification I was really excited and wanted to find out what I can about this exam before I start any initiative to pass it. What I found however was the complete lack of resources, guides, information or mock exams of any kind. The only reasonable resource online I was able to find before my exam was a blog post about certification experiences by Jeanne Boyarsky on her well-known blog. However these information are almost 3 years old and few things have changed since then, so please allow me to update you on the current state of the certification process.
The first thing that struck me was the ordering process before any certification-related stuff even started. The whole ordering process was really long and required extensive email communication with VMware’s support (support people were actually quite helpful and made it more bearable). Given my employer at a time was in VMware’s partner program I don’t know how the experience is for regular customers. It might be caused by recent VMware’s acquisition of SpringSource. To paint a complete picture I was ordering the certification for me and two other colleagues. So beware, there might be dragons there.
Back in a day, there were two possible ways of getting certified: by attending the course or being a grandfathered candidate. Grandfathering is no longer allowed so the only way to get the certification is to attend the course and afterwards pass the exam. When you register for the course you pay about 1 375 € (around 1 900 $). This price covers the course (+ the course-ware) and one free exam attempt. Any following retake attempt costs 150 $. Unlike with Oracle’s Java Programmer certification there are no requirements for prior certification/course (besides experience with Java development).
Mandatory part of the certification is a 4 day course that focuses on following topics:
- Introduction to Spring
- Advanced XML Dependency Injection
- Annotation-Based Dependency Injection
- Java-Based Dependency Injection
- Bean Life Cycle: How Does Spring Work Internally?
- Testing a Spring-Based Application
- Aspect-Oriented Programming
- Data Access and JDBC with Spring
- Database Transactions with Spring
- Integrating Spring with JPA and Hibernate
- Spring in a Web Application (MVC)
- Spring Security
- Advanced Topics (remoting, JMS, JMX)
Each attendee gets a starter kit depicted below. It contains Core Spring Lecture Manual full of slides presented throughout the course. Most of the chapters are required for the certification however the last few chapters are there to help you understand some of the related issues to main topics. The second book you will receive is a notebook for your notes and pictures/diagrams. These two books come with USB stick that contains all materials in digital form as well as all labs that are necessary to complete the course. Tablet is not part of the kit, but I can highly recommend using it if you have one, since all the slides are available in PDF form.
Please note that the course is prepared the way that even person with no prior Spring experience can complete it with proper studying before the exam. Having only a year worth of experience with Spring when I started the order process I was really glad that even if you have never worked with for example AOP you could practice the exercises prepared in labs. The course is divided 50% lectures and 50% lab time. This brings me to labs – a series of workspaces. Each workspace comes in two favors: incomplete/non-functional workspace and fully working workspace providing a solution to all problems simulated in the previous one. This is an essential part of the course since you get a hands-on experience with all of the topics. Course is led by an experienced Spring lecturer that is able to answer any question and if not they are willing to try out / simulate any twisted idea you are able to think of (based on the course I attended).
I must say that the course was a really pleasant experience for me. I found the materials easy to work with (mostly based on the fact that their business domain remains the same throughout the course). Even if you happen to be an experienced Spring user there are always some aspects of Spring framework you might (willingly) have no experience with. The course provides you with enough theory and examples to gain basic orientation in given area. The ultimate goal of your attendance should be a state when you understand everything in your course book. If you feel uncertain, ask questions – course trainer will surely explain any problematic areas.
Exam is 90 minutes long including 2 minutes for legal agreements and stuff like this. You are expected to answer 50 questions in 88 minutes which I found plenty of time (it took me about an hour with one final revision at the end). Passing score for the exam is 76%. Always read every single word in a question very carefully. Some questions ask which of the following is/is not correct and you have to be absolutely sure that you know what you are asked to do. There were only single choice and multiple choice questions. Most questions were addressing container and testing, AOP and transactions (smaller number of questions from other areas). There are no questions about REST (contrary to the Jeanne’s version of test).
Don’t expect tricky and syntax heavy questions like in Oracle’s Java Programmer certification. Questions are straightforward and you either know the answer or not. Exam software allows you to browse questions, mark them for a review and final review. You will receive the results of your exam right after submitting your answers. You will learn your overall score, section scores and final grade.
When it comes to the exam preparation I found 3 weeks to be enough to get myself prepared for the exam (passing with 94%). My first move was to ditch course-ware for a week and hit a well-written book about Spring called Spring in Action, Third Edition by Craig Walls. Having read first and second parts of the book (excluding chapter about Spring Web Flow) I gained a solid understanding of all mentioned areas of Spring. This was my first week of studies after the course. After this I decided to study official Spring documentation to gain even more insight into the container capabilities (not necessary for the exam, but definitely worth reading for real world applications – there is no such thing as over-studying). As final step I did all the labs and went through the course book. As an additional resources I would like to include works of others sharing their experience with this certification.
My study plan:
- 1 week
- 4 day course
- 2 week
- Read first two parts of Spring in Action, Third Edition
- 3 week
- Read most of The IoC container documentation
- 4 week
- Read course book and did all the labs
- 5 week
- Took the exam
Helpful notes from fellow bloggers:
- jeanne’s core spring 3 certification experiences
- After the Spring Core 3.0 Exam
- Spring Professional Certification Exam from Java CodeBook
Even though the course-ware combined with Spring in Action, official documentation and Jeanne’s study notes provided quite a robust preparation material I felt the need to create a small addition to these. There were certain areas that needed to be cleared for me so I did my own addition to those study notes. It is rather brief and short (based on the fact I had quite a lot of material already). However I find them to be a valuable resource since they provide big picture of certain areas of Spring.
I find it slightly disappointing that VMware is not providing a hard-copy of the certificate. So do not expect to receive any mail from them. The only thing you will receive is a soft-copy that you yourself can print out.
Since I am still waiting for mine I can’t provide more information.
It seems that unless you explicitly ask for PDF version of your certificate you won’t receive anything. So I did write to VMware’s certification support, provided all documents and scores regarding my exam and got my certificate in a day or two.
Definitely a positive experience – all the way. When I started with the certification process my Spring knowledge was quite limited and I was lacking understanding of some core Spring principles and concepts. However after the course I felt more confident and grew my knowledge by studying resources introduced in previous chapters. I can honestly say that now I am using many things learned there in my daily work. It is rather expensive certification, but definitely worth the trouble. So if you are planning on taking the exam I wish you good luck and hope this post helps you on your way to becoming SpringSource Certified Spring Professional.