Completing Microsoft's MCPD Certification

After several months of diverting my free time to studying for Microsoft's Certification Exams, I'm pleased to tell the world that I'm now a Microsoft Certified Professional Developer - specifically, I'm certified as an MCPD: Enterprise Application Developer .

It was a brutal exercise that took almost a year for me to accomplish.

I took the Self-Paced Study approach for the 5 exams required, as I'm usually more effective going through books.  The books I used will also serve as a bookshelf reference, in case I ever need to refresh my mind on something.

About the only thing I didn't care for, throughout this exercise, was to force myself to reframe my thinking process to accept (or at least understand the reasoning behind) "The Microsoft Way" of doing things.  The "Enterprise Professional" Exam was the last one on my task list, and it was particularly difficult for me to choke that content down.  I had to bite my tongue and answer Exam Questions "The Microsoft Way", instead of "The Lalee Way".  No points for style or elegance in thinking -- it's all multiple choice answers.  <more>

While it's tempting for nay-sayers to bash on these Microsoft Certifications and dismiss the MCPD Program as a "Paper Certification", I can personally attest that the exams for the MCPD level certification are pretty tough, and yet, I feel they have made a fair assessment of my skills and knowledge in these areas.  (Once I learned how to "give the answer they're looking for", that is...)  In sum:  even if you could find a canned set of "Multiple Choice Answers" to previous exams and memorized all of those answers, you're not likely to pass.  You really do need to understand the technologies to overcome any curve-balls that are thrown your way in the exam room.

I was surprised and impressed with how tough the Microsoft Certification exams were.  In spite of that, though, I still passed all five of them on the my attempt. 

Of course, having a personal motivation to learn all this material played a huge role in this.  I wanted to fill my mind with the current "Best Practices" used when deploying Microsoft Technologies. 

Why?  It's simple:  I've spent the last 4 years as a Java Developer for a large CRM Solution Provider, and I've grown a laundry list of grievances:

  • the "Sun -vs- the Open-Source Community" battles over standards and intellectual property rights
  • a RIDICULOUS amount of "bit-rot" in overlapping and competing Java Technologies.  (Struts?  Swing?  Faces?  Velocity?  Ant?  Maven?)
  • the need to maintain a rat's nest of XML Configuration files to get everything going

Blecch, it's been TOUGH to keep up with the best practices in Java, and sorting through the wasteland of literature about all this "bit-rot" just slows a developer down.  I give MAD PROPS to anyone who can remain sane in the Java World. 

Me, I have no intention of deploying any more WebApps or WebServices as "Pure Java" Servlets or JSP applications ever again if I can help it.  After discovering the simplicity and elegance of the Ruby Language and the Rails WebApp Framework on top of it, I embraced that technology completely, and I've never looked back. 

While Rails is suitable for the smaller, agile projects, I still need a platform for the "Enterprisey" projects that actually pay my bills.  That's where .NET comes in, because (in my opinion), .NET is the only serious competition to Java.  At least, until the day when JRuby and IronRuby (or Ruby.NET) under IIS are more widely accepted.  Then I can deploy more complex Rails Apps on real application servers.