William said:
Depends on what you call an overstatement. We advertised for someone
with just one job in particular where we wanted 2 years VB
development, 2 Years SQL and Or Oracle and familiarity with Crystal
Reports. Of the 55 resumes we took, every one of the people claimed
they had this experience.
They all talked a great game except when it came to the technical
part. Then the whole sob story about how they were displaced after
911, knew Cobol and AS400 and a 'little vb' came into play. Asked
simple questions like "what's faster, early or late binding" only the
guy that we hired (who was right out of college could answer it)
correctly. Everyone else either guessed wrong, or wavered back and
forth and just took a guess. We asked sooo many utterly simple
questions and each were met with ..."Well, it's been a while since I
had vb at school, but I was really good at Cobol and I can be really
great a VB.NET" Then there were a bunch that claimed they new C++.
At least 20 that I can think of who professed to know C++ and have
expereience with it, couldn't tell me what was contained in a .h file
versus .cpp file. They coudln't tell you what IDE They used. They
couldn't tell you the difference between a struct and an enum. On
the Sql Part,most coudln't tell you who E.F. Codd was, what a
redundancy was, a functional dependency and many other basic
questions. Not a big deal for college freshmen, but for people
claiming to have 2 years experience with SQL? And then when asked
what tools they used in SQL Server, they couldn't answer it. Most
didn't know what Query Analyzer, Enterprise Manage or SQL Plus
was...and for working 2 years with ORacle or SQL Server, this is
plain and simple BS.
Then we ran an ad for a VB.NET developer with at least 1 year
expereience in VB.NET or C#, and 3 years with COM. Every resume had
this on there. Of the first 10 applicants we got, not one could even
tell us what COM stood for. Ok, maybe they didn't know acronyms. So
we had some really really complex questions like what is the
difference between a reference and a value type? No one knew it. For
1 year with VB.NET or C#, that's hard to believe. Asked if they could
name three objects in ADO.NET , only two could name anything...and
they could only name the dataadapter or dataset. What namespaces do
you know the best..."Well, I only worked with Windows Forms" was an
all too typical answer.
Perhaps the problem is your questions. Some of your questions are nonsense
( who E.F. Codd is has nothing to do with using SQL effectively, knowing
what COM stands for has nothing to do with using it, remembering SQL Server
tool names has little to do with programming modules using SQL Server ),
while many are relevant and are a test of knowledge ( every C++ programmer
should know what a struct or enum is, and the difference between a header
and cpp file, every .NET programmer should know the difference between a
reference and value type ). Some are borderline ( is it really a test of SQL
programming to know the terms "functional dependency" and even the term
"redundancy" may mean different things to different people, is it really
necessary to remember the exact names of classes, not objects as you write
above, in ADO .NET, or any other API ).
I think the real problem is the emphasis place on bits and pieces of
knowledge as a measure of programming skills. Do you ever try to have a
discussion of technical knowledge in a core area in which you are looking to
see if the interviewee knows about it, rather than ask random questions
which you deem important ?
Here is a good example of irrelevancy ? You wrote above "Then there were a
bunch that claimed they new C++." Should I decide that anyone who doesn't
know the difference between "new and "knew" couldn't possibly be literate
enough to work for my company ? Anyone can play the game by which decisions
about ability are based on some idea of which facts are important to know
and which aren't.
Nowadays the requirements for a programming job are ridiculous: must have 3
years of X, must have 4 years of Y, must have 6 years of Z, must have worked
with A, B, and C in an enterprise environment for 2 and a half years, must
know I, J, and K thoroughly and have worked 2 years implementing I and J on
K with L as a possible alternative etc. etc., that to even get one's resume
noticed if one "knows" two or three of the main areas mentioned, people lie
pretty blatantly about their experience. Can you blame them ?
Some people have worked with technologies in the past which they could
easily pick up again if they were offered a job which supposedly needed
knowledge in that technology, but they can't have worked with everything
mentioned in most ads at the exact moment in which the interview takes
place. So they don't remember some particularity which the interviewer
considers important to know to get a job. Perhaps the problem is the
overemphasis on things that are irrelevant for that particular job, and not
enough relevance on core issues which the interviewee must know to do the
job.
I am not saying that an interviewee must not know core issues, and be able
to respond in kind. But if your questions, some totally relevant while
others have little to do with real programming knowledge in the areas cited,
are any indication of the questions asked which are deemed "important", no
wonder so many interviewees fail.
It has become a demeaning process for many programmers to be look for a job
and be interviewed. Despite twenty four years of experience, I have taken
tests in which I consistently scored in the 90-100% range, I have been asked
questions time and time again which I have been glad to answer, I have been
told to build a portfolio, get this or that certification, change my resume
in this or that way. Yet if I do manage to get the rare interview, after
weeks or months sometimes of phone calls and pre-interviewing screening, and
endless false promises and manipulations, and I do fairly well answering
questions and showing my knowledge and willingness to take on whatever the
job requires ( work at night, work on the weekends, travel 25-50% of the
time, answer customer support questions, etc. etc. ) my chances remain very
low and inevitably someone else is chosen.
It is always wonderful, when one is looking for a job in a recession, to
hear others tell about how anyone with knowledge and experience should be
working, because they are. The reality is far different and more gruesome
than you can possibly know. Despite my own sufferings on the job market, I
wouldn't wish the situation on you. I do hear what you are saying about
interviewees not knowing basic things about the areas in which they are
looking for work, but you do really need to take into account that when one
is not able to find work, and yet one knows that he or she is talented
enough to do many jobs, there inevitably will occur people applying for
positions in which they do not really know all the areas which are
supposedly required.