Why?First a little history before answering that question.
I've been working as (web) application developer for about 10 years now. At first I started programming in C#.NET 1.1 building client applications. Client applications looked very nice back then with Visual Studio helping out with code snippets, drag-and-drop engineering and fancy features.
But then the Internet really took off. So building web application became the new black. ASP.NET provided webforms for that. Again with code snippets, drag-and-drop engineering and similar fancy features. In a way, it was easy to create web applications with just a few tool sets and A LOT of boiler plating to create a web application that looked OK, but it did not really feel elegant. If you looked at the generated HTML the feeling worsened.
The open source community was already creating a superior product to do the same outside of the Microsoft environment: Ruby on Rails. It delivered a very flexible and robust web application building platform using the active record pattern for data management and the mvc pattern for the front-end build-up. With RoR it was possible to build elegant web applications without all the boilerplate code.
Microsoft filled the gap by providing the ASP.NET MVC libraries. Then it became possible to create elegant web applications and still work in a Microsoft environment. I could get best of both worlds!
So again, why?
In the past 10 years I learned a lot about how to code and how not to code, and did it all self-taught, and a lot of Google searching. Now that in itself is not a bad thing, but I've also noticed that I missed a solid foundation for the knowledge I pertained. So I decided to go back to the basics, starting from the ground up.
What do you need to become an MCSD?
A good start is to take a look at the certification page at Microsoft. Which tells us that there are 4 flavours:
As I will primarily create web applications the road seems clear now: MCSD Web Applications.
It even shows the exams I need to get before I can call myself an MCSD:
So I have to take 3 exams. Sounds fair to me. But then, I need to get a hold on the to-be-examined knowledge. Where can I find it?
Learning from books?
Learning from books takes a lot of time, and most of the curriculum is already known to an experienced web developer like me. So that would seem cumbersome for me. Apart from that, the technologies develop faster in the world of software engineering than the writers can write them down. Often the techniques described in the books are already outdated when you buy the book.
Learning in courses?
Courses deliver the same curriculum in less time, but on the other hand are not very cheap to come by.
Luckily there is something like Pluralsight. Learning from the pro's in my own time and speed, and I can skip the parts which are already known to me.
To be continued ...