I’ve long been a bit of a fan of Microsoft exams – shiny new exams that give the veneer of professionalism to a CV. Lovely. I did a fair number at the start of my career and a few thereafter. I’ve dined out on the knowledge gained for years. However there is a real risk being steered towards obsolete or just strange technology choices. From the last few exams I took here are just some examples of the odd/skewed/’never going to use’ technologies that the MS exam devotee might end up being steered towards.
With ASP.Net there is an extensive health monitoring architecture for your applications that you are never going to use. It’s got everything you need and much, much more – way too much more. I’ve never seen anyone use it and even the lead developer who implemented it admits it’s over-engineered.
Just 2 seconds looking at the above web event hierarchy makes my retinas ache. Every uses log4net, elmah or just rolls their own. Unfortunately it’s on every ASP.Net exam I’ve ever done (70-315, 70-551, 70-486) and you have to learn about it (sigh).
Lab management is a test environment provisioning architecture in Team Foundation Server. It forms a not insignificant portion of the TFS admin exam (70-496). It looks great and the books and videos are convincing. I was convinced it was a great idea and wanted to implement it and tried to convince others.
It turns out though this is not best practice for deployments at all. You should use the same method of promotion that you use into live. This is becoming more current with the advent of technologies such as Docker. Lab Management though is very particular and the deployment into lab management environments bears no relationship to deployment into production. None! It’s a pain to learn and it’s still on the exam (sigh).
A minor gripe now. In the MVC exam (70-486) the azure caching section steers you towards learning about App Fabric as a service bus for hybrid applications. Fine but turns out this technology is end of life and will be retired in 2017. But it’s still on the exam (sigh).
There is an entire exam track around Azure cloud computing and it’s a goodly portion of the MVC exam 70-486. Being a Microsoft exam devotee I imagined that Azure was THE cloud computing solution. I was surprised when I saw the above graph and realised that Amazon Web Services has way more implementations out there.
Azure is fine and interesting and good and healthy and I’m sure your mother approves of the use of it at the dinner table. But this is a textbook example of the MS exam narrowing your perspective and encouraging people (me) to ignore other potentially more viable alternatives. But it’s on the exams and you have to learn about it (sigh).
MSTest, Fakes and Shims
Unlike some of my other gripes, I do unit testing on a regular basis so it’s a drag to have to learn an alternative unit test framework for an exam that I’m unlikely to use. Maybe millions of developers use MSTest but I’ve never met them. I wish the exams were a bit more neutral with the choice of unit test technology but they predictably steer you towards Microsoft technologies. But it’s on the MVC exam so put on your big boy pants and learn about it (sigh).
But it’s all good really
Nothing is perfect. I’m not, the software I write isn’t and Microsoft exams aren’t. I still think they are great for developers at the start of a career – it gave me a boost and I still like to see them on developer CVs. It’s a good signal of career dedication. I’d much rather have a Microsoft exam than not. It just helps to be aware of their limitations.