Why bother with certification? The key driver for me was my appraisals - it has been a goal pretty much since I joined cScape, and was one of the reasons for joining them over some others. The real sensible reason Microsoft give is that having a certificate shows your employers what you know. Other ancillary benefits of certification are pretty pieces of paper to hang on your wall, and Microsoft also have a selection of discounts organised with various other suppliers for MCPs.

Desktop Support

Gives you advanced training for Office products and desktop operating systems. You will be a Microsoft Certified Application Specialist (based on Vista) or a Microsoft Office Specialist (Office 2007 – one for each application). There's usually only one exam for each certification.

Technical Specialist

This shows that you can implement, build, troubleshoot and debug a specific technology. You will be a Microsoft Certified Technology Specialist, with specialisations in BizTalk, Exchange, Server, SQL, Visual Studio, Vista, Mobile, Office and Office Server technologies for example. The application type certifications are usually one exam, the development ones usually have two exams – a foundation in the .Net framework, followed by the specialisation (Web, Windows, WCF, WPF, etc).

Professional Series

This validates the skills for specific IT or Developer jobs. You will be a Microsoft Certified IT Professional or a Microsoft Certified Professional Developer. The technology stacks available include Windows Development, ASP.NET Development and Enterprise Applications such as Business Intelligence, Consumer Support Tech, Database Developer/Administration, Enterprise Messaging, Support Technician and Server Administrator. These are usually one exam on top of the relevant MCTS specialisation.

The Master Series

This allows you to demonstrate extensive technical expertise. You will be a Microsoft Certified Master, specialising in (currently) Exchange, SQL, Windows Server Directory, Office Communications Server and MOSS. There is an intensive 3 week training course at Redmond, with up to three written and lab based exams. You really need to have been working with the technology for many years.

Architect Series

This is the pinnacle of MS certification. You need to hold a Masters certification, and then attend and pass a peer review. You will be a Microsoft Certified Architect, specialising in Messaging (Exchange), Database (SQL with Online Transaction Processing), Infrastructure and Solutions.

So, how do you pass an exam? What sort of preparation is required? For me, it was mostly a combination of "on the job training" and self learning through doing – and that's the most helpful thing for me – just doing stuff – build and maintain your own site. I know there are plenty of off the shelf tools to host a blog, but what do you learn about web development using those? Write some helper applications to do repetitive tasks (bulk file renaming, deployment guide generation, etc), play with random features – I've written a couple of Debugger Visualisers, including one that will display a colour variable over an image to display it's colour and transparency, which came in useful when answering the questions on the graphics libraries in the foundation exam. I've also had a couple of goes on practice exams, and hunted around the MS Learning site, especially the recently launched "My Ramp Up" area – a massive, free resource with free book chapters, labs, web casts, etc for you to work through and gear you up for the exams. Also, make some time to read blogs and use all those things that appear in IntelliSense that you don't know about as learning opportunities to find out something new from MSDN.

Up till now, the exams have mostly all been based around Multiple Choice type questions – sometimes it's a simple "pick one" question, others are "pick x answers", and some are even "pick x options, and put them in the correct order". They have moved away from the old style of offering options that sound right, but don't exist at all, everything exists, but may not be the right solution. However, more exams are turning to lab based testing, checking the state of a server after you've completed the test to see if you've fixed the problem.

You get the time to take the exam, and are then offered about half as much time again to submit some feedback on the questions, and then you'll find out whether you've passed or failed. You will receive a set of graphs breaking down the exam into generally sensible groupings, rating your performance in those areas from Weak to Strong – apparently I'm not much good at reflection using the Framework, but if you need a website deploying, I'm your man!

Pass or fail, the exam is useful – like the IntelliSense above, take notes in the exam, there's bound to be an option you don't know about, or a question on something you're unsure of – go and learn about it afterwards, plus if you do fail, you will want to have a note of the areas you struggled with.

Microsoft are looking at introducing a set of certifications based around the Expression suite, and the foundation exams that are currently part of the MCTS developer tracks are going to be removed for the .NET 4.0 exams, instead you'll have relevant areas of the foundation tested in the specialisation exams – a good thing if like me you're heavily focused on web development, and rarely touch System.Drawing for example, but I can imagine that there will be quite a bit of overlap for people crossing many disciplines.