So far all your statements have been reasonable.
I'd just like to state that from an employer's perspective
the MCSD.NET has very little value especially when viewed
without any other context that the applicant may be able to
provide in person.
The test is meant to assess your skills as a programmer.
Not really. You don't even have to have a firm grasp of the
language (VB.NET or C#) to pass the tests. You can be a
"lousy programmer" and pass those tests. The tests attempt
to gauge your knowledge of the framework in the broadest
sense of the exam's specified topic and the stated "Skills
being measured". If you care to review them, here they are:
VB.NET track
http://www.microsoft.com/learning/exams/70-305.asp#SKILLS
http://www.microsoft.com/learning/exams/70-306.asp#SKILLS
http://www.microsoft.com/learning/exams/70-310.asp#SKILLS
plus
http://www.microsoft.com/learning/exams/70-300.asp#SKILLS
and most likely
http://www.microsoft.com/learning/exams/70-229.asp#SKILLS
"Skills as a programmer" that are independent from
programming languages and tools will ultimately have a more
significant impact on the quality and maintainability of the
developer's product.
Ideally, someone who is a .NET programmer and works in the technologies being
tested on a regular basis should be able to pass the test without any
preparation.
Because the MCSD exams have a tendency to test on things that are less
used or never used, some studying is required.
Not that this will be ever put to a test but I think you
would be surprised. The tests are more laid out to cover the
breadth of the framework/exam topic and some obscure
questions are thrown in for good measure. Because of the
20/80 rule many "regular programmers" would have difficulty
passing the test without preparation because they were never
in a position where they had to use (or weren't aware of the
existence of) the dustier corners of the framework or tools
(as you have observed).
However some of the corners tend to be "dusty" because many
individuals tend to work with a minimal set of knowledge
(human nature I guess) - they don't see the value of
learning some of the other features unless somebody or
something forces them to. This is even more true in an
environment where coding is a part-time activity; there are
always proposals and project plans to write/estimate,
requirements to gather and document, legacy applications to
analyse, meetings to attend, etc.
So these exams try to cover some breadth and there is a
certain "propaganda" value by trying to show the tools and
framework in the best light.
But 3 months of dedicated studying is overkill.
Everybody is entitled to their opinion. Amit Kalani (author
of the favored C# preparation guides, which are the
counterpart of the Mike Gunderloy guides) estimates 1 month
per guide:
"To make sure that you get minimum hand-on experience needed
for the exam, these books are thick at about 1200 pages
each, and each will take at minimum one month of study time
to complete"
http://www.amazon.com/exec/obidos/t...77286/sr=18-1/ref=sr_18_1/002-2575552-7205660
Based on that, your candidate should have only been able to
pass 3 out of 5 exams in that time span if he started out
with some programming experience but no .NET. (There is some
overlap between 70-305 and 70-306 because of ADO.NET;
however that is also exactly the area where those guides
need some beefing up to match the coverage of the test
questions).
Which actually puts your candidate in a gray area. In those
three months your candidate is either a "paper MCSD" or a
slow "braindump MCSD". A "braindump MCSD" is usually
acquired through the memorization of NDA violating
certification test questions. A "paper MCSD" obtains
knowledge through the certification guides and hopefully
through the study of the MSDN but has no real .NET
development background. A "real MCSD.NET" is usually
expected to have at least two years of .NET development
background. But even here the certification is often
attained through liberal use of test simulations to
considerably narrow the field of required learning to far
less than what's specified in the "Skills being measured".
"But I only need to send one of my developers to a one or
two week course, and they are up and running with the new
technology!"
Well that's the 20/80 rule in action again - you don't need
to know that much to get started and HOPEFULLY you'll pick
up the rest before you finish - however that doesn't mean
that developer would be able to pass a certification exam.
Would you hire somebody just based on the knowledge that
they have taken "the course" (they usually give out a nice
participation certificate at the end)? Probably not.
By the same token a successful certification (by itself) is
not an indicator of how effective and successful a developer
will be in your organization.
However an individual with a legitimate breadth of knowledge
of technologies as extensive in scope as .NET or J2EE can be
valuable especially if your staff's current skill set does
not cover all the aspects of the technology which could
otherwise leave you in a position where you aren't working
as effectively as you could and where you may end up
"re-inventing the wheel".
My $0.02 (and most people here disagree with me, so it's probably only
with $0.01 at best)
Sam
B-Line is now hiring one VB.NET developer for
WinForms + WebServices position with ASPX in future.
Seaking mid to senior level developer. For
information or to apply e-mail sam_blinex_com.
'The end result is that the majority of people actively
developing software are typically not the ones best qualified
to do it, and they don't even know it.'
Scott W. Ambler, 'Agile Modeling', p.5