Developer Certification: An Overview and Survey
No matter what kinds of programming tools, applications, platforms and so forth a company might use to help build or customize its IT infrastructure, chances are pretty good that one or more of those elements might be the target for some developer certification. In conducting as thorough a review of such offerings as possible, I learned about a great variety of such credentials, which may be organized along multiple dimensions.
It’s also implicit in the range and kinds of certification programs and exams available to software developers that there’s a lot of complex, challenging information that such people need to know to do their jobs well. Likewise, a large number of developer support, skills or management credentials argue that not only is the particular focus that drives software development worthy of certification, but also the many disciplines that a savvy developer or development manager must practice are likewise certification-worthy.
In fact, the primary organization of this article might be called a “tale of two tables,” in that Table 1 recounts an impressive list of more than 100 outright developer certifications, and Table 2 recounts an additional 16 developer support certifications, on topics that include project, engineering and software management, software test and quality control and various specialized software development methodologies. What shows up in Table 1 applies to some specific development platform, tool or programming language, while what shows up in Table 2 relates to some method of managing, analyzing, driving or controlling the processes involved in software development, testing, deployment and maintenance.
Table 1 also includes some interesting designations for the certifications it covers. It uses three relatively specific terms, and one catch-all, to identify the focus of specific developer certifications. Such a focus might include one or more (sometimes all) of these terms:
- A(pplication): The credential delves deeply into some specific program or application, such as SQL Server or another database engine like Oracle.
- P(latform): The credential covers what the certifying organization or vendor calls a platform, which may mean an operating system plus related application programming interfaces (APIs) or some complex development environment that consists of too many components to fit a simple application designation. Microsoft’s .NET or Sun Microsystems’ Java 2 Enterprise Edition (J2EE) are good examples.
- L(anguage): The credential deals with or involves one or more specific programming languages, such as Visual Basic, C, C++ or Java, to name a few of the more common languages that developer certifications cover nowadays.
- O(ther): The credential covers software development theory, process or practice outside the purview of the first three terms mentioned, but important to the exam and to the proper training and guidance of professional software developers. See Table 2 for some of the kinds of topics that are likely to fall into this category, among a host of others.
Another way of looking at the relationship between the tables is that Table 1 includes those certifications that take on some aspect of one or more of the first three terms, while those in Table 2 deal only with the theories, processes, practices or methodologies associated with software development, as independently of applications, platforms or languages as possible.
Types of Developer Certifications
There’s another way of dividing up developer certifications, other than by focus as already described. That’s by the type of coverage involved—this is where we distinguish between credentials that deal with developer topics and their potential focuses by the kind of allegiance they pledge or coverage they provide for specific, proprietary implementations.
Thus, as with many other kinds of certifications, I distinguish between two types of developer certifications as well:
- Vendor-neutral: These are developer certifications on general concepts, policies, practices, principles and types of platforms or applications (for example, general database coverage is likely to be vendor-neutral; Oracle and Microsoft database certifications are not). They do not focus on specific product, platform or technology implementations, except where there is no realistic alternative. Vendor-neutral developer certifications are good because they force candidates to develop a sense of the whole field and of its history and conceptual underpinnings. You’ll find a mixture of user and industry associations behind such programs, as well as training companies, consortia and so forth.
- Vendor-specific: These are developer certifications that originate with some particular vendor and usually concentrate on how best to design for, install, configure, maintain and troubleshoot specific solutions, platforms, tools or technologies related to developing software. Vendors create such certifications to help manage the costs for technical support and to make sure organizations have ready access to trained, knowledgeable professionals who know how to implement and work with their solutions.
The difference between Table 1 and Table 2 is not between vendor-neutral and vendor-specific; rather this distinction rests on whether the certification aims to support some type of development (such as database or Web development, for example; both categories include vendor-neutral and vendor-specific alternatives) or focuses on some aspect of software development, design, management or configuration almost independently of what kind of software is being developed.
Thus, in Table 2, you’ll find numerous alternatives for topics like project management, quality control and testing—all of which are important in just about any software development effort of any kind, but none of which really speaks to what kind of software is being developed. Instead, the certifications in Table 2 address how software is developed, managed and so forth.
Picking Developer Certifications
It’s easy to describe a rationale for selecting vendor-specific developer credentials. If your employer (or a prospective employer) uses the products, platforms or technologies that a vendor-specific credential covers, that’s usually all you need to know to select a program. When it comes to deciding whether or not to pursue such certs, how they’re financed will play a big role (in other words, will the employer pay, or must you foot the bill in whole or in part), as will the time, energy and interest you must spend chasing that certification down.
When it comes to picking vendor-neutral developer certifications, I urge a more hard-boiled approach, then provide a means for possible mitigation:
- Consider name recognition: How well is the program known? Does it appear in any job postings online or classified ads that you can find? Do your peers or co-workers know about this program?
- Consider size of the certified population: Most big players in the certification industry believe that a program isn’t “for real” unless it can claim 10,000 or more certified professionals among its ranks. If you can’t find numbers for a program’s population, it may mean they don’t want you to know how small they are.
- Consider the costs involved in obtaining the credential and the resulting benefits: How much do exams cost? How long will it take you to prepare? How long does the certification last? What’s the impact on your paycheck? How long will it take to pay back the money, time and energy versus the career benefit? If the benefits don’t match or outweigh the costs, don’t do it!
In general, I don’t recommend pursuing a vendor-neutral developer certification unless it’s one of the top three programs in its category, whic