Thoughts on Microsoft Certification
It’s amazing how quickly time can get away from you, a fact I am reminded of every time I look at my blog and see how infrequently I’ve been posting. But this is not going to be another “I’m going to start posting regularly again, I promise” post: there are too many of those on the Interwebs already.
No, I make no such promises. In fact, I take the fact that I don’t have much time to post as a good sign that I may actually be accomplishing a few things and getting some real work done. Today, though, does mark a watershed for me, so I figured this was a good time to catch all of my regular readers up – you both know who you are.
MCTS (WPF) Finally Complete
Last summer I began an effort to obtain Microsoft Certified Technology Specialist (MCTS) certification, specializing in Microsoft .NET Framework 3.5, Windows Presentation Foundation Application Development. While I never expected it to be easy, I was completely unprepared for what I encountered during the process. At the time, I ranted (twice, actually) about my experience with the 70-536 “Microsoft .NET Framework – Application Development Foundation” exam, and the issues I have with the design of the exams.
I had such a bad experience the first time around that I kept putting off the 2nd exam. I have a huge Greenfield project starting in May, so I really wanted to get this off my plate before that begins. That, plus the fact the voucher I bought with the practice exams was about to expire, finally motivated me to schedule and take the exam.
The good news is that this time I was able to pass on the first attempt. Unfortunately, my experience with the WPF exam was no better than the first exam. In some ways, it peeved me even more. I’ve been a dedicated WPF developer for some time now, and frankly I’m pretty good at it. That being said, I assumed this exam would be much easier for me to pass, but you know what they say about assuming.
Overall, I have the same complaints I did before, so I won’t reiterate them. From a WPF specific standing, my complaints are a little different. First of all, many of the questions are unrealistic. The code and XAML samples in the questions are poor and typically do not reflect how “real world” WPF developers would actually code something. Naturally the questions are technically correct, and there is always more than one way to skin a cat, but every one knows you should start from the hind legs and … but I digress. My point is that the questions need to be more realistic and should themselves be worthy samples of how to code for WPF.
Even worse, some of the content areas are not WPF specific. The questions are asked in the context of WPF by saying “You are developing a .NET 3.5 WPF application and … “ but then the actual question could just as easily apply to a WinForms or Console application. In fact, given that approach they could ask about ADO.NET, Linq, Lambdas, etc. Fortunately, they aren’t that brazen, but the same line gets crossed and it really irks me.
How to Pass a Certification Exam
So a friend of mine, upon hearing I had passed, sent me an email asking for advice on passing Certification exams. It turned into a nice little exchange, so I’ve cleaned up the questions and answers a little and am sharing them in hopes that anyone else who is feeling particularly sadistic might have a better experience than I did. Please feel free to add your two cents in the comments below.
Q: How did you prepare for the exam? Just the prep book, or did you also take a prep class?
This is one mother of an exam. It covers a huge range of topics with no softball questions. I used the MCTS Self-paced Training Kit which comes with practice tests from MeasureUp. Be sure you get the 2nd Edition: I started with the 1st edition. I started by taking a practice exam to see where I was and then used the results to focus my studies. I did this repeatedly for a couple of months. Then the last week before the exam I took at least one test per day. Then I failed the exam. That is when I found out about the 2nd Edition of the book, which is an order of magnitude better. I was very close to passing, so I immediately rescheduled and spent the next 8 days cramming: I took several practice tests a day and constantly had my nose in the book. I finally passed the exam, but it was a grueling experience.
I had trouble finding a book for this test, but as I recall I only looked on the Microsoft Certification site: turns out I should have checked Amazon. I wasn’t too worried about it because, frankly, I didn’t think I would need one since WPF is my specialty. I purchased the practice exam software from MeasureUp and used that almost exclusively. Once I started taking practice exams, I realized it wasn’t going to be the cake walk I expected. You really do need to be versed in just about everything WPF (and some things that are not WPF specific) which is difficult since practically speaking we don’t use all this stuff very often. And of course, we are spoiled by Intellisense and Blend, which makes it tough to remember the specifics of all the topics they will test you on.
I did use Matthew MacDonald’s fantastic Pro WPF in C# 2008 as a reference whenever I needed clarification.
Q: Do the practice tests truly emulate the real exam?
The MeasureUp practice test software does a fine job of emulating the test environment: the question types, the look and feel of the exam, etc. It is just as poorly designed and implemented as the real thing. Little things bug me, like the Mouse Wheel not scrolling inside a scrollable content area and the up and down arrow keys not controlling scrolling. Speaking of scrolling, the vertical scrollbar is only half visible (the left half), like it has a negative margin. Overall the UI of the tests is pretty bad, but I don’t fault MeasureUp for this, I assume they are just emulating the Microsoft testing experience. I don’t actually know who is responsible for the software.
The 70-536 questions were very close to the real thing: in fact, a couple of them were repeated almost verbatim on the actual exam. The 70-502 practice questions were not very close to the real thing, but did good enough to let you know what content areas to expect. In both cases I found the actual exam to be significantly more difficult than the practice exams.
Q: Do you have
any recommendations that you feel really helped you(i.e. recipes for success)?
I took as many practice tests I as I could, I think it helped tremendously with the proper mindset and helped me get comfortable with the feel of the exams. That being said, there are only so many sample questions in the pool, so eventually you get used to seeing the same ones appear repeatedly: do NOT fall into the habit of answering the question from memory.
Here are some strategies I follow:
1) Force yourself to actually read and think about each question. While I would say they do not use "trick" questions, many of them require intense scrutiny to find the correct answer. For instance, most of the questions are multiple choice from 4 options. A few times, each option would be the same code block (maybe 20 lines or so) of pretty dense stuff, with only subtle differences, and of course you have to find the right one. You must practice intently comparing and analyzing code blocks: take nothing for granted. You’ll be surprised at how hard it can be to spot the differences sometimes.
2) Use standardized testing methods. When I had a question that was not readily apparent, I would see which answers I could eliminate and then focus on comparing the remainder. Sometimes you can answer a question just through process of elimination. If it comes down to it, guessing is better than leaving a question unanswered. And I found that when I had to guess between two answers and I really had no idea between them, the more complicated one was typically correct. If you still really don’t know which one to choose, close your eyes for a couple of seconds, then open them and pick the first one that registers.
3) Use the full 2.5 hours, or at least most of it. On the first test I took, I finished the questions in about 45 minutes and I did not review them. I was tired and brain fried and I let that be an excuse: I figured reviewing the questions would just be a waste of time. I also failed that exam.
On both exams I passed, I did the following: I took well over an hour to answer the questions, really scrutinizing each one. Once I had answers for every question, I reviewed EVERY question, no matter how straightforward, and I found several mistakes. This took around an hour, but was much less pressure filled because I had already "finished" the exam. I really think this was the key to passing both times.
Q: Any other helpful lessons learned would be appreciated.
I don’t know if it made a difference or not, but I scheduled both my exams for late afternoon. I live about an hour and a half from the testing center, so this way I didn’t feel rushed. I had time to have lunch and wind down a little before the exam. I tried to go into each exam relaxed, and I did NOT cram or study the day of the test.
Basically, like most things it’s all in the prep work: the more time you put into it, the better the result.
There has always been debate about the value of Certification. Some people say it proves you know at least something about the subject matter, while others say it only proves you can study and pass a test. I never really knew where I stood before going through the process myself, and now I know that I am firmly in the middle. Trust me: you have to know something to pass these tests, but truthfully you only have to know it for a little while – long enough to pass the test.
I think ultimately the value is in the process itself. I learned a little about a lot of things in both .Net and WPF that otherwise I never would have known. While I’m not sure how great my long term retention is for the specifics, I’m much better equipped now to find something and understand it when the need arises. I also feel good having accomplished something that is not so easy as it looks. Lastly, programmer certifications count towards my company’s goal of achieving Microsoft Certified Partner status, so I’m glad to contribute in that fashion.
For the time being, my Road To Certification is complete. That being said, while writing this I received an email from ProMetric:
You’ve proven yourself as a Visual Studio 2008 expert by earning your Microsoft Certified Technical Specialist (MCTS) certification, so you know first-hand that Microsoft Certification helps you advance your career. We know and appreciate how much you invested – in time, money, and energy – to earn your certification.
That’s why we want to help you complete your journey: did you know that you may be just a few exams away from earning your Microsoft Certified Professional Developer (MCPD) credential?
Great… just had to dangle the carrot, didn’t you?