In the past, the Microsoft Certified Solution Developer (MCSD) certification was the ultimate goal for developers specializing in Microsoft technologies. Attaining this level involved five tests and much classroom and studying time. When .NET arrived, Microsoft added another stepping-stone in its certification path, one that caters specifically to code-centric developers. MCSD still exists, but the intermediate-level MCAD (Microsoft Certified Application Developer) is now available too. I recently earned the MCAD, so I want to provide an overview of the certification.
Read more about certification
Check out these recent Builder.com articles for additional certification information:
- "Certifications: Make the best hire by asking questions"
- "Developing your .NET certification strategy"
- "Certify your XML knowledge"
MCAD vs. MCSD
At first glance, the MCAD and MCSD certification levels may appear the same, but there is a key difference. The main focus of the MCAD is development—specifically, coding, testing, and debugging. The MCSD adds analysis and design to the mix. Microsoft lists the following steps in the software development lifecycle:
MCSDs are involved in each step. MCADs are involved in only the last three. You must be an MCAD to become an MCSD, but not vice versa. Let’s take a closer look at what is included in the testing process.
What to know
Becoming an MCAD requires you to pass three exams, which consist of the following:
One Web or Windows development exam (core requirement—one exam)
- Developing Web Applications with VB.NET and VS.NET
- Developing Web Applications with C# and VS.NET
- Developing Windows Applications with VB.NET and VS.NET
- Developing Windows Applications with C# and VS.NET
One XML Web Service exam (core requirement—one exam)
- Developing XML Web Services and Server Components with VB.NET
- Developing XML Web Services and Server Components with C#
One elective exam
- Designing/Implementing Databases with SQL Server 2000
- Designing/Implementing Solutions with BizTalk Server 2000
- Designing/Implementing Solutions with Commerce Server 2000
- One choice (a test not used for core requirement) from the Web/Windows exams
Complete exam details and requirements are available at the Microsoft Web site. Most candidates choose to follow a language path when completing certification. That is, they will focus on either C# or VB.NET in their core exams. This really doesn't make a difference, since the languages are so similar. Many developers may argue this point, however, and it may cause confusion when job hunting. For instance, a prospective employer may see MCAD status with a focus on VB.NET and immediately assume the candidate isn't right for a C# position, which could complicate the interview process.
Successfully attaining MCAD status requires a healthy mix of training and on-the-job experience. The training may be through an instructor-led course or via self-paced books or online courses. I spent countless hours going through test preparation materials (Microsoft offers numerous self-paced training books) and the MSDN Web site.
This preparation is necessary so that you'll be aware of what is covered on the exams. I'm always surprised by exam questions because most developers I know are always thumbing through reference books, looking through online help, or searching the Internet for the details of a particular task. In my opinion, a good developer possesses a solid foundation of development knowledge, critical thinking, and the wherewithal to locate information when needed. But you still have to know many intricate details of the exam material. In most cases, the exam will be the last time you need to know it.
Although training is useful, it will never replace real-world experience. That experience makes it possible to understand the many scenario questions included on the exams. My MCAD preparation included plenty of on-the-job experience with both small and large projects.
In addition, numerous testing products offer a simulated test environment that allows you to measure your knowledge and become acquainted with the testing process. Here is a brief list of testing vendors:
These vendors offer excellent tools and services to help you determine whether you're ready to take the MCAD exam.
Is certification necessary?
Discussions on the merits of certification often spawn heated debates. Personally, I use certification as a learning vehicle. It forces me to find out about all aspects of a platform. Consequently, I'm a better developer with the knowledge to choose the best approach to a given problem. In addition, if your organization is a Microsoft partner, it needs certified Microsoft professionals on staff to receive added benefits. Beyond these incentives, deciding whether to pursue certification is a personal choice.
I'm happy that Microsoft decided to offer a development-focused certification with MCAD. This allows developers to prove their skills without the need to attain the MCSD status. Application developers are concerned with writing code, and the MCAD tests focus on this aspect of the job.