A TechRepublic member wrote in with a request for more information about Java certifications and for opinions about their worth. So here's a quick overview of Sun's Java certification offerings, along with my thoughts about how much stock I put into these certifications. (Hint: My two certificates have not opened any doors for me.)
Sun's Java certification track
Sun's Java certifications are designed to be focused on particular roles in the software development cycle and, therefore, are more useful than all-in-one certifications such as IBM's XML certification.
Sun currently offers eight Java certifications, which are classified by level and specialization. Most of the certifications require you to pass a multiple choice exam, but some also require you to write an essay. It is recommended to have six to twelve months of actual job experience before attempting to pass any exam.
- Sun Certified Java Associate (SCJA): This entry-level exam certifies only knowledge of basic Java language concepts and general knowledge of Sun platforms.
- Sun Certified Java Programmer (SCJP): At the "foundation" level, there are exams for Java 1.4 and Java 5.0. These exams certify solid knowledge of the Java language. (Note: It is not required to have SCJA to get SCJP, which makes me wonder why SCJA certification is needed at all.)
- Sun Certified Java Developer (SCJD): Many employers may focus on this level of certification for two reasons: You need to be an SCJP (any version) before you can try to become an SCJD. Also, the SCJD requires candidates to develop a small business system according to the problem and write an essay defending the solution and explaining the design and programming decisions.
- Sun Certified Web Component Developer (SCWCD): This exam can be of interest for Web developers who specialize in using Java technologies such as Java Server Pages (JSP) and servlets. SCJP is a prerequisite for taking this exam.
- Sun Certified Business Component Developer (SCBCD): This certification, which consists of only one exam, is the kernel of J2EE certification -- as long as it certifies your knowledge of Enterprise Java Beans (EJB). The exam is pretty hard to pass if you do not have any Enterprise JavaBeans (EJB) project experience. SCJP is a mandatory prerequisite. This certification can be of interest to employers who use EJB for project development.
- Sun Certified Developer for Java Web Services (SCDJWS): This certification is for Java developers who build Web services. You have to take one exam for this certification, and SCJP is a prerequisite.
- Sun Certified Mobile Application Developer (SCMAD): This is a certification for developers of Java applications for cell phones or any other devices containing J2ME onboard. You have to take one exam for this certification, and SCJP is a prerequisite.
- Sun Certified Enterprise Architect (SCEA): This is what the Sun certification program is all about. This certifies enterprise architects responsible for architecting and designing J2EE-compliant applications from scratch. There are no prerequisite requirements even though it is the most advanced certification. In fact, if you cannot pass any of the previously listed certifications, you will never succeed with this one. To achieve this certification, candidates must complete three steps: a multiple choice exam, a development assignment similar to SCJD (but on a much larger scale), and a final essay exam where you will defend your solution.
See the Sun Microsystems Web site for more information about Java certifications, including the cost of the exams.
Is the effort you expend worth the result?
I have two Java certificates: SCJP and SCWCD. I earned the first certification while I was student at university; my professor awarded students with vouchers for attempting to take the SCJP exam. With the second certification, Sun contacted me about its new certification program and invited me to assess my skills for free (and take the actual exam) in exchange for my feedback about the questions and about the certification itself.
I think both of my certifications are pretty much useless pieces of paper. The main reason why I got these certifications was to prove to myself that I am proficient in Java. While preparing for these exams, I learned a lot; also, since I was engaged in real production projects at that time, I immediately started applying my newfound knowledge. This is the only reason why I would recommend that Java developers pass the entry- and mid-level exams. None of my employers showed interest in looking at my certifications.
The SCEA certification, however, is a completely different story. If you peruse career sites, there are lot of vacancies for which SCEA is considered highly desirable. Developers can only earn this certification after having a lot of experience in software architectural design and working with J2EE, i.e., with a broad range of Java technologies. SCEA is the most attractive certification for developers who are seriously thinking about becoming a software architect. I don't think the other certifications offer much value.
It's been my experience that most employers will overlook your certifications unless your resume shows that you have hands-on experience working with a particular technology. At the other end of the spectrum, I have seen examples of successful career building on the base of certifications. In my opinion, this is more a question of a particular certification program and particular holder's attitude to the certification. Most IT pros take certification exams more for self-learning than for their employer.
Do you have any Java certifications? If so, do you think they have been beneficial to your career? Share your thoughts about whether you think Sun's Java certifications are worth the effort by posting to the article discussion.
Peter V. Mikhalenko is a Sun certified professional who works for Deutsche Bank as a business consultant.