MCSD certification - is it still necessary to land a job?

  • Thread starter Thread starter Lewis Lang
  • Start date Start date
RCS said:
I'm not defending books like that by any means, but many times - they take
the simple route, just for claritys sake. For example, a book may have:

string strResult = "";
if ( IsEnabled )
strResult = "Yes"
else
strResult = "No";

when you could do this, instead:

string strResult = (IsEnabled) ? "Yes" : "No";

So a purist would say it'd be more appropriate to do it the second way,
but for someone just starting out, that is a lot of stuff going on in one
line: declaring a variable, initializing it, evaluating an expression, a
ternary expression (spelling?)..

I'd take clarity over brevity any day of the week.

So I don't think it'd be a "purist" who chose the second way.

I associate the sort of code in that second example with someone who's bored
enough to think of the shortest bit of code they can write.
To me, that's a bad sign.
Bored programmers start writing weird bits of code just to try stuff out and
do things in different ways.
That's bad.

Version one is clear.
Anyone can see what it does immediately.
Version two you have to think about.
I would rather someone maintaing a piece of code think about some more
important part of the system than decoding smart-alec code.
Keep it simple.
 
The test is meant to assess your skills as a programmer. 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. But 3 months of
dedicated studying is overkill.

My $0.02 (and most people here disagree with me, so it's probably only
with $0.01 at best)

Sam


I would be interested to know why this was considered to be a "very bad
sign"?

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.
 
I agree with you a hundred percent. The OP was not mine, and my comment was
simple. Is there such a test? The answer, even from your post (unless you
are appearing for MS interview) is NO.

The place where I work have a programming test which is language independent
and it has some pseudocode questions and conceptual questions. We regularly
get candidates who have lotsa certificates and they fail this test
miserably.... Now the trouble is, this test is not available to anybody
unless they apply for a job at our company.... so the question remains...
what should a person do so that a company will consider him worth appearing
for the conpany's test... and one part of my brain says the answer is MS
certifications.

I donno why I am advocating this as I have been programming for around 6-7
years now starting from VC++ 4.2 to C# and have not got any microsoft
certification :)
 
I would agree... for any cert exam.

"I took 3 months off to study" tells me "I know only the stuff on the
exam and nothing else. I have no practical experience with this stuff
whatsoever."

"I took the exam while I was working" might mean "I was working with
this technology and took the exam because I already knew most of it."
Of course, it could be that the guy just crammed at night and only
knows what's on the exam, but at least it's not a dead giveaway like
the first fellow.

As far as "giving the guy a chance"... when you have fifty or a hundred
resumes on your desk, you're looking for reasons to winnow them down to
ten. You can't call all of the candidates.

Object lesson: when you write things on your resume, try to think of
all of the ways those things might be read. Sometimes what sounds like
a boast comes across as a demerit.
 
I side with Andy. I avoid the ternary operator, and post- and pre-
increment and decrement. For the most part they're cryptic operators
that have perfectly reasonable alternatives.
 
So you personally avoid it.. but would you think of it as a negative
of someone else, for example when reviewing code samples?

That's a question I always have.. how critical to be when reviewing
someone's code samples. Usually the only real disqualifiers for me
are people that do direct database calls behind a form or a aspx page
(instead of going through a data access object).

Sam



I side with Andy. I avoid the ternary operator, and post- and pre-
increment and decrement. For the most part they're cryptic operators
that have perfectly reasonable alternatives.

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.
 
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
 
RCS said:
I'm not the OP here, but *I* would say that's a bad sign, because that tells
me the person can't multi-task. Most dedicated people have multiple things
going on thier life and "find a way" to do it all.

Sure that's reality - which makes it even more ironic that
the 70-300 guides clearly outlines to always list
"resources" that are not dedicated 100% to a project as a
project risk. So a high risk project is one where nobody is
dedicated 100% - now that may explain a few things...

In some downsized organizations everybody is on N projects
which can get so bad, priorities or not, that nothing is
being accomplished and everybody is just thrashing. On the
other hand some people are so good at multitasking their
private life that work is getting the lowest priority.

Dedicated persons know their limits and "simplify life" if
it becomes necessary. Multi-tasking is good ... to a point,
you still only get to spend every minute once.
There is absolutely no need to quit working

Maybe the "quitting" wasn't a choice. Or the quitting was a
result of continuous 60+ hours per week with no overtime pay
in a dead-end environment.
and for 3 MONTHS to prepare for an exam!!

For MCSD.NET thats 5 exams.


'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
 
Hi All,

Last year I completed the 5 exams for the MCSD .NET - I didn't take any
time off work. I bought the MS recommended book, read the book, took
the exam - repeat 5 times. I made sure to book the exam on Monday or
Tuesday so that I'd have the weekend to study. Of course my situation
is fairly conducive to that kind of schedule:

1) We dont have any children
2) I rarely need to work overtime
3) I've been using .NET for 3 years

I agree with UAError, I found that studying was necessary due to the
topics on the guts of the framework - give me snippets of code any day!

ttyl,
Michelle
 
The test is meant to assess your skills as a programmer. 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. But 3 months of
dedicated studying is overkill.

My $0.02 (and most people here disagree with me, so it's probably only
with $0.01 at best)

Sam
OK. You didn't say that he was already working with the technology as
a .NET programmer, That's probably a fair call then. I thought that he
may have come from a totally different area of IT, and was studying up
from scratch as it were.
I'd give you $0.02 for it.
 
Samuel R. Neff said:
So you personally avoid it.. but would you think of it as a negative
of someone else, for example when reviewing code samples?

I view it as a potential warning sign.

I'd be wary of thinking of such code as "a negative". If you're negative
with someone then they're likely to be negative right back at ya.
That's a question I always have.. how critical to be when reviewing
someone's code samples. Usually the only real disqualifiers for me
are people that do direct database calls behind a form or a aspx page
(instead of going through a data access object).

Sam

I'd point out that I'd prefer them to write stuff clearer rather than
shorter.
Hopefully they listen to what I say take my point and change the way they
write code.

Human nature is such that this might not happen...
That's a management skills, motivation and personality thing though.
 
Actually both ways have their uses. We use the ternary operator for
formating SQL Query strings. In this case, when you have several variables
to fill (sometimes more for complex queries) using CString's format, it's a
lot easier to read as

CString sqlCmd.Format("INSERT INTO <BLAH> VALUES ('%s', %s, %s, %d, '%s'",
(IsDivert) ? "REJECT" : "RECIRC",
<variable>,
(AreWeThereYet) ? "1" : "0",
<variable>,
(IsEnabled) ? "Lane Open" : "Lane Closed")

This gets complicated when you start using .Append instead of .Format. A
true "purist" would look at the situation and choose the best tool for the
job.

Just my humble opinion.
 
Back
Top