Developer Certifications: Joining the Mainstream
For many years, the conventional wisdom held that certification was unimportant to the developer community. Traditional classroom training methods were rejected in favor of a heavy emphasis on reference books and a self-starter approach. All of this worked well for a while, especially during the growth years in the 1990s. Now, employers are more discerning about the professionals they hire. In many cases, they try out new developers on a contract basis. Therefore, improving your resume and providing third-party credentials to support your development skills is more important than ever, not only for getting a job, but also for finding opportunities as a contract worker.
Who’s Getting Certified?
For the experienced programmer moving from a structured programming environment to an object-oriented environment like .NET or J2EE, certification is a way to validate the ability to perform at a high level in a new programming paradigm. Many new programmers entering the marketplace with C++, Java and HTML skills suddenly realize the in-depth requirements of working in teams to build enterprise-scope applications. Last, but certainly not least, many Java and .NET pros see the best jobs demanding skills in many of the enterprise toolkits, such as Microsoft Visual Studio .NET, BEA’s WebLogic or IBM’s WebSphere. For perhaps the first time in the industry’s history, developer certification really makes sense to the buyers and the sellers.
This article will provide a few basic guidelines for developers seeking certification. A treasure trove of additional resources is available online at each vendor’s training and certification Web site. Before you pick a track, take the time to look at how your path will progress, which jobs relate to which certifications, and whether exams taken for entry-level certifications serve as building blocks for the more advanced credentials.
.NET or Java? The Eternal Question
A favorite of many pundits looking to start an argument, the question of whether to focus on .NET or Java as a development environment is, in many ways, a silly one. Each environment has seen widespread adoption and is used by a wide-ranging clientele. In fact, many companies use both environments simultaneously. Most likely, you’ll make your choice based on what your current employer utilizes or which environment has the most opportunities on the job boards during a particular month. For the best results, pick the one with which you are most familiar and build on it.
Creating a Certification Preparation Plan
For those who have been certified before, the process of preparing to get certified is probably as unique as the individual. That said, there are many basic guidelines that cross all disciplines when you’re preparing to gain a credential, and they are just as true here:
- Get the tool, use it and get comfortable with it. No matter what training programs you take, documentation you read or pretesting you do, the most important preparation step in any certification path is to install, configure and use the tool. Many vendors offer free or inexpensive downloads of the toolkits that allow you to gain extensive practice with building applications. Learning the technologies is critical, but for large development studios like WebSphere, half the battle is learning how to use all the toolkits, wizards and other automating tools to streamline the process. Not only will this help you in preparation for certification, but it also will put you in position to build solutions quickly and effectively, increasing your value to your employer.
- Study the exam’s objectives. These toolkits are huge. With their many advanced features, it can take years to master them. Fortunately, most of the certification programs have intermediate steps as you learn new skills and gain experience. Carefully note which technologies are covered in a certain exam, and save some of the more advanced skills for later. For example, core J2EE technologies like JSPs, servlets and JDBC are the expected building blocks for an IBM Certified Solution Developer, but more sophisticated skills like EJB development and Web services development can be picked up as you progress.
- Take the practice tests. Getting familiar with specific types and styles of questions is an important part of getting ready to take any exam. Practice tests also serve as a reality check and help you pinpoint opportunities to improve your skills. Most vendors offer free practice exams. As in other certification markets, there is a wide array of third-party self-test solutions available as well. Practicing enough to make it second nature will make the real thing much less stressful and will prepare you to do your best.
- Get trained. Developers are reputedly resistant to traditional instructor-led training, but I suspect this is because they’re resistant to learning in a classroom from non-programmers. There is no substitute for a good subject-matter expert (and given the stereotypes about developers, it’s hard to find great instructors). When you look at developer training options, be sure you’re not getting a “presenter,” but a developer with experience in enterprise architecture, design and development. Great instructors teach you things that aren’t in the books: leveraging open-source frameworks like Struts, shortcuts to help build tools faster and places on the Web to get help and support.
- Read, read, read. The documentation available for developer tools is terrific, and many developers-in-training spend the lion’s share of their preparation time reading. Many WebSphere developers, for example, find that the IBM redbooks provide a terrific and ready reference.
The Microsoft Developer Certifications
Microsoft developers have a choice of two different credentials to highlight their Microsoft .NET expertise: Microsoft Certified Application Developer (MCAD) and Microsoft Certified Solution Developer (MCSD). The primary differences when choosing between the credentials are:
- Whether you seek to develop .NET applications for the Web, for Windows or for both.
- Whether you seek to develop, test, deploy and maintain smaller applications or applications for a larger enterprise, and how much you will be involved in architecture and design of the application.
The MCAD certification, designed for job roles like programmer and software developer, requires two core exams:
- One exam focused on either Web application development or Windows application development in the language of your choice (Visual Basic .NET or C#).
- One XML Web services and server components exam.
In addition to the core exam requirements, you must also pass one elective exam that demonstrates expertise with a Microsoft server product, such as Biztalk, SQL Server or Commerce Server. To learn more about the requirements and the training resources available, visit www.microsoft.com/learning/mcp/mcad/requirements.asp.
Designed for higher-level job roles like software engineers and software architects, MCSD requires the developer to be adept at both Web- and Windows-based programming, with skills in application design and architecture for good measure. MCSD requires four core exams:
- One exam focused on Web application development in the language of your choice (Visual Basic .NET or C#).
- One exam focused on Windows application development in the language of your choice (Visual Basic .NET or C#).
- One exam on .NET software architecture.
- One XML Web services and server components exam.
In addition to the core exam requirements, you must also pass one elective exam that demonstrates expertise with a Microsoft server product, such as Biztalk, SQL