This article starts with the premise that certification plays an important role in a person's career path. As a quick review, the major reasons for certification are as follows:
- Certification establishes a skill level, which is one element in searching for a job.
- Certification forces one to learn material outside of the box of the day-to-day job.
- Certification is a badge of achievement.
If certification is important, so is the choice of a certification path. The choice you make has an impact on who accepts the certification. For a certification to having meaning, the issuer of the certification has to be recognized as a valid certification authority. For company's product, the company is the ultimate certificate authority.
Certification for Java is different than certification for products of a single company, such as a Cisco Certified Network Associate, or a Certified Novell Engineer. For corporate certification, the corporation controls the skill level breakdown, and the objectives for certification at each skill level. On the other hand, Java does fit this mold. Java is a multi-platform language implemented by different hardware manufacturers. For Java, the definition of skill levels and objectives for each skill level goes beyond a single company. The jCert Initiative attempts to create cross-vendor certification objectives and exams.
The jCert Initiative
The jCert Initiative is a consortium of companies (BEA Systems, Hewlett-Packard, IBM, ProsoftTraining, and Sun Microsystems) that was established in 1999. Oracle was part of jCert, but left the group as of the end of June 2002. Although the group of companies is small, jCert has an important role to play in Java certification.
The phrase "Certified Once, Recognized Everywhere" expresses the mission statement of the jCert Initiative. Through this mission, jCert seeks to reduce the number of redundant certification exams in the industry. To accomplish the mission requires an agreement as to the skill levels and the objectives for each skill level.
The jCert Initiative defines three skill levels:
- Skill Level 1 - Certified Programmer
- Skill Level 2 - Certified Solution Developer
- Skill Level 3 - Certified Enterprise Developer
Skill level 1 has a single set of objectives and a single exam. Skills levels 2 and 3 consist of two sets of objectives and two sets of exams. Skill levels 2A and 3A are common exams, while skill levels 2B and 3B are vendor specific. Thus, there are really five sets of objects and five exams as follows:
- Skill Level 1 - Sun Certified Programmer for the Java 2 Platform
- Skill Level 2A - Object Oriented Analysis and Design with UML
- Skill Level 2B - Application Development for the Java Platform
- Skill Level 3A - Enterprise Connectivity with Java Technology
- Skill Level 3B - Enterprise Development with an Application Server
The prerequisite for each skill level is passing the exam for the previous skill level. More importantly, it makes no difference whose exam you take, as long as it is listed as a qualifying exam. Thus, you could take Sun's exam for skill level 1, CIW's exam for skill level 2A, and IBM's exam for skill level 2B. The scheme works because of a common set of objectives to which each exam must comply.
The vendor specific exams for skill levels 2B and 3B are related to separate product lines. The skill level 2B exam relates to knowledge of a vendor specific IDE tool, such as IBM's Visual Age. The skill level 3B ties to a vendor specific implementation of an application server, such as BEA's WebLogic server.
While jCert defines the skill levels and objectives for each skill level, individual companies write the exams. Moreover, each member company has a Java certification path. How well do these exams and paths comply with the jCert standard?
Sun actually has five separate certification exams related to Java as follows:
- Sun Certified Programmer for the Java[tm] 2 Platform
- Sun Certified Developer for the Java[tm] 2 Platform
- Sun Certified Web Component Developer for J2EE[tm] Platform
- Sun Certified Enterprise Architect for Java[tm] 2 Platform, Enterprise Edition
- Sun Certified Developer for iPlanet[tm] Application Server 6.0
Of the five Java certifications, only two qualify under the jCert Initiative. The Sun Certified Programmer for the Java[tm] 2 Platform is the only qualifying exam for jCert's skill level 1. However, as of August 19, 2002 there are two versions of the exam. Exam number 310-025 is the older version of the exam and ties to version 1.2 of the Java 2 Platform. Exam number 310-025 is the new exam and is based on version 1.4 of the Java 2 Platform. Only exam number 310-025 (for version 1.2) qualifies under jCert. The exam is also the prerequisite for the developer exam and the web component developer exam. I doubt that you will see a change in jCert's recognition of the new exam, until version 1.4 becomes the standard version of Java for the products from the other members of jCert.
The iPlanet Application Server 6.0 exam qualifies for jCert's skill level 3B. Skill level 3B relates to a vendor specific application server. In other words, the exam relates to an implementation of J2EE by a vendor, and not the reference implementation that you can download from Sun.
The tendency is to take the developer exam after passing the programmer exam. Yet, the developer certification is not accepted by jCert and is not a prerequisite to becoming a web component developer. The developer certification just does not fit into any certification path.
My first impression was that the web component developer exam would qualify at jCert's skill level 3A. Skill level 3A is a common exam dealing with the components of the J2EE technology. Given the general nature of the jCert's skill level 3A objectives, my impression is that it will be approved as a skill level 3A exam.
Since there is a difference in objectives, the architect's certification has no jCert equivalent. With three separate exams, the certification stands by itself and has no prerequisites.
BEA Systems limits their certification exams to the WebLogic Server at skill level 3B. BEA Systems offers three different exams corresponding to the versions 5, 6, and 7 of the WebLogic Server. Only the exams for versions 6 and 7 qualify for jCert recognition.
While there are no prerequisites to the BEA Systems exams, they do recommend that you are a Sun Certified Programmer for the Java 2 Platform.
The Enterprise Developer Series for Certified Internet WebMaster (CIW) program from ProsoftTraining complies with the jCert skill levels 1 and 2A. There are a number of differences between statements made on the jCert web site and those made on the CIW web site. The CIW web site only mentions an Enterprise Developer certification, and does not contain any references to a Solution Developer certification. Furthermore, the Enterprise Developer certification appears to only accept skill level 1 and 2A certifications from other companies. I sent an email to their certification person to clarify these questions, but did not receive a reply.
The HP certification track for Java nicely matches the jCert certification track. Although it is not indicated on the jCert web site, HP does have a certification exam for each of the jCert skill levels. The certification exam appear as part of their educational series as indicated below:
|Skill Level||Education Series||Exam No.|
|1||Entry Level and Presentation Java||3H0-501|
|2B||Total e-server for JSP||3H0-503|
|3A||Business and Enterprise Java||3H0-504|
|3B||Total e-server for EJB||3H0-505|
While putting together the above table, I noticed a few typographical errors in the web pages. To make sure that my interpretation of the material was correct, I sent an email to HP. I received a response from Jamie Mulkey, Ed.D. (Worldwide Certification Program Manager) that really surprised me. She said, "Actually, HP is no longer part of jCert. The product offerings that map to jCert are playing a diminishing role in HP's overall product offerings." It looks like the end of a good Java certification track.
IBM has a vast number of certification exams related to Java. However, not all of them comply with the jCert objectives. As the following table shows, there are a number of certifications that fit nicely with the jCert skill levels.
|IBM Certified Solution Developer - IBM VisualAge for Java, Professional Edition, V4.0||155 (Skill Level 1)
486 (Skill Level 2A)
283 (Skill Level 2B)
|IBM Certified Solution Developer - IBM WebSphere Studio Application Developer for Windows, V4.0.3||155 (Skill Level 1)
486 (Skill Level 2A)
157 (Skill Lever 2B)
|IBM Certified Enterprise Developer - IBM WebSphere Application Server, Advanced Single Server Edition for Multiplatforms, V4.0 --- VisualAge based||483 (Skill Level 3A)
488 (Skill Level 3B)
|IBM Certified Enterprise Developer - IBM WebSphere Application Server, Advanced Single Server Edition for Multiplatforms, V4.0 --- WebSphere based||483 (Skill Level 3A)
158 (Skill Level 3B)
Finally, a set of certifications whose exams match the jCert certification path. To the best of my knowledge, this is the only set of certifications that have a perfect match.
The mission statement of "Certified Once, Excepted Everywhere," is a good mission. The skill level breakdown and the objectives for each skill level establishes a standard. The jCert Initiative provides a cross-vendor certification path for Java professionals. The problem is implementing the mission statement.
With HP leaving jCert, there are now only four companies involved in jCert. Only IBM has a complete certification path. In this situation, what is the best certification path?
The one thing that remains common to everyone is that becoming a Sun Certified Programmer for the Java 2 Platform is the first step. Until version 1.4 becomes the industry standard for the enterprise editions, certification for version 1.2 still carries more weight.
I like the idea of requiring certification in OOAD as part of the certification path. In my opinion, you cannot really understand and use Java until you understand OOAD. I would still recommend pursuing the OOAD certification from either IBM or CIW.
If you use VisualAge or WebSphere for application development, the next stage would be to take the one additional exam to become and IBM Certified Solution Developer. If you are using another application development, you may want to pursue certification for that tool.
Certification for J2EE really depends on the application server you are using. If you are using IBM's WebSphere, then becoming an IBM Certified Enterprise Developer makes the most sense. If you are using WebLogic or iPlanet, I would recommend becoming a Sun Certified Web Component Developer for J2EE[tm] platform. You would then be in a good position to certify for any application server.
Even though jCert is struggling to achieve their goal, you can still use their skill level model as a guide to your certification path.
About the Author
Bill Anderson is an author and consultant. He was a member of the team that wrote the 1.2 version of Sun's programmer certification exam. He is also the author of the ebook, "Guide to Java 2 Programmer Certification."