C# skills questionnaire

  • Thread starter Thread starter Andy Summers
  • Start date Start date
A

Andy Summers

Hi All,

Does anybody know how to determine C# skill set of a new hire?
Our company is about to move to .Net and we have no experienced developers
to assess C# skills .
Are there any on-line questionnaires you can point us to?

Thanks,
Andy
 
Andy said:
Does anybody know how to determine C# skill set of a new hire?
Our company is about to move to .Net and we have no experienced
developers to assess C# skills .

Then why are you moving to .NET? That sounds rather paradoxical. I'd invest
in in-house training instead. Your current employees are far more valuable
in terms of experience with the company and its products than a new hire
could be, regardless of what amazing technologies they might know. Also,
just hiring "this new guy who's going to do all the cool new stuff without
budget or planning while the rest of you will keep toiling on our existing
codebase, henceforth called 'legacy'" is something that usually does not go
over well. Don't fall into that trap; involve your existing people.

Unless you have no in-house staff or they're all a bunch of dunderheads (in
which case you'll probably be out of business soon anyway, so don't bother
with .NET), sending a few off on basic courses might not be a bad idea.
That'll also give you a much more solid basis for judging new hires than a
questionnaire you yourself won't know how to interpret. Also, if you're
counting on your new hire to be a teacher and a role model in applying the
new technology, your standards for interpersonal skills should be set much
higher than when you're going for the genius from Mars who can write the
most amazing programs but is unable or unwilling to explain them.

Most current-crop developers have been raised on Java and should be able to
pick up C# with little trouble. If you've got a few sharp C++ programmers,
they should also be able to get the idea (even if, depending on their
background, they might not like it much). Your VB programmers might need
some time to get used to VB.NET (because it's quite a weird shift), but
there's lots of material out there to teach them. If none of your
programmers have any O-O experience (say they're all hardcore C programmers
who think making all your functions take structure pointers for their first
argument is bogus), you *really* want to invest in a good course that
focuses on it.
 
Jeroen Mostert said:
Then why are you moving to .NET? That sounds rather paradoxical.

Maybe they have .NET skills, but in C++ or some other language.

I'd invest in in-house training instead.


Maybe they are, as well. Maybe they want an experienced C# developer on
their development team, rather than relying completely on people who have
only been on a training course.

Your current employees are far more valuable in terms of experience with
the company and its products than a new hire could be, regardless of what
amazing technologies they might know. Also, just hiring "this new guy
who's going to do all the cool new stuff without budget or planning while
the rest of you will keep toiling on our existing codebase, henceforth
called 'legacy'" is something that usually does not go over well. Don't
fall into that trap; involve your existing people.

Gee, the guy wants some C# resources and you criticise his company's IT
strategy.


Unless you have no in-house staff or they're all a bunch of dunderheads
(in which case you'll probably be out of business soon anyway, so don't
bother with .NET), sending a few off on basic courses might not be a bad
idea. That'll also give you a much more solid basis for judging new hires
than a questionnaire you yourself won't know how to interpret. Also, if
you're counting on your new hire to be a teacher and a role model in
applying the new technology, your standards for interpersonal skills
should be set much higher than when you're going for the genius from Mars
who can write the most amazing programs but is unable or unwilling to
explain them.

Most current-crop developers have been raised on Java and should be able
to pick up C# with little trouble. If you've got a few sharp C++
programmers, they should also be able to get the idea (even if, depending
on their background, they might not like it much). Your VB programmers
might need some time to get used to VB.NET (because it's quite a weird
shift), but there's lots of material out there to teach them. If none of
your programmers have any O-O experience (say they're all hardcore C
programmers who think making all your functions take structure pointers
for their first argument is bogus), you *really* want to invest in a good
course that focuses on it.

Wow. All this advice on how to cross-train different types of programmers,
but not a single word that answers his question.

You must be really, really good to be able to provide all this high level IT
training strategy advice from the information provided in a mere two
sentence post.
 
C# skill is no big deal.
What matter more (takes more work) is comprehensive .NET framework
experience.

I mean the C# syntax can easily be learned and mastered in 1 week.
The real value is in knowing whole part of the API, like GUI programing in
WPF or Winform, or Web developement in ASP.NET, to name some major category.

You can ask people to show sample of their work, that would give you an
idea.

Ask what are their favorite community resource (for exemple:
codeproject.com, MSDN.microsoft.com, windowsclient.net, asp.net,
codeplex.com).

What are their favorite tools (should at least include some of the
following: Visual Studio (express?), Reflector, NAnt, XamlPad, NUnit).
 
Lloyd Dupont said:
C# skill is no big deal.
What matter more (takes more work) is comprehensive .NET framework
experience.

I mean the C# syntax can easily be learned and mastered in 1 week.

That was true for C# 1. It's certainly not true by the time you include
C# 2 and 3.
 
Hi All,

Does anybody know how to determine C# skill set of a new hire?
Our company is about to move to .Net and we have no experienced developers
to assess C# skills .
Are there any on-line questionnaires you can point us to?

Thanks,
Andy

Aside all "smartness" in previous answers, it's true that it's one
thing to determine C# skills and completely different animal
assessing .NET framework and overall coding experience. And not having
the skill yourself is what makes this task challenging.

We recently had to go through similar exercise. Don't have a cookie-
cutter for you, but following may help:
- find some C# Microsoft exam questionnaire and extract the questions
that most matter to your particular need. I used free online tests to
find pure C# syntax questions. Google "free practice test MCSD".
- Somebody here advised you to ask for favorite tools. I agree but I'd
say you need to ask if they are familiar with the tools you're going
to offer. Start simple: "how do you write a stored procedure and how
do you commit it to a SQL server". Then go as deep as possible/needed.
- We took a technology the candidate claimed she'd mastered and made
sure that she really possessed the skill, not just previous encounter
or consumption of that technology (as most of the resumes end up
being). As an example, we took a few samples from .NET/VS on-line help
and created a set of questions that asked how to accomplish certain
things with a DataGrid control for example... We tried to be able to
sift through people who know how to drag/drop and set some right-click-
available properties of the DataGrid control and find the candidate
who knew how to programmatically add a check-box column.
Sorry - didn't mean to "Advise" - just wanted to share our recent
experience.
 
Peter said:
Maybe they have .NET skills, but in C++ or some other language.
It's possible. Not particularly likely, though.
Maybe they are, as well. Maybe they want an experienced C# developer on
their development team, rather than relying completely on people who
have only been on a training course.
That's a good point, but part of the difficulty is hiring an experienced
developer who will be any good at supporting the others if you have no
in-house experience with it *at all*. At least a basic level would help a
lot in figuring out whether someone could be of use.

Gee, the guy wants some C# resources and you criticise his company's IT
strategy.
I don't know if that's his company's IT strategy. I'm just cautioning
against a particularly common IT strategy.
Wow. All this advice on how to cross-train different types of
programmers, but not a single word that answers his question.
I can't answer his question directly. Does that mean I can't post a response?
You must be really, really good to be able to provide all this high
level IT training strategy advice from the information provided in a
mere two sentence post.
If I came off as heavy-handed, I apologize. The advice was not tailored to
the OP's situation, of which I of course know nothing. I'm sure it can be
appreciated in the same context.
 
..\\axxx said:
<snip>

really?

Well, it's been the darling of CS courses as the teaching language for quite
a while now. There are still plenty that still go for C/C++, of course, and
some will have switched to C#.

Of course, it depends on your definition of "raised"... Most developers will
have seen another language before they ever saw Java.
 
Andy said:
Hi All,

Does anybody know how to determine C# skill set of a new hire?
Our company is about to move to .Net and we have no experienced
developers to assess C# skills .
Are there any on-line questionnaires you can point us to?
Brainbench....


Thanks,
Andy
 
That was true for C# 1. It's certainly not true by the time you include
C# 2 and 3.

Well speak for yourself Jon. The rest of us took about a week. I
myself learned from a book "C# Programming: with the public beta" by
Harvey et al, which was C# beta (1999). And I see no need to buy
another book. However, I did have C++ experience beforehand.

As to the OP, I would consider asking applicants to show sample code,
check their references, and as a last resort ask them to do a short
sample program, for example a GUI that solves the 8-queens problem or
Towers of Hanoi.

RL
[C# N00b MVP]
 
raylopez99 said:
Well speak for yourself Jon. The rest of us took about a week. I
myself learned from a book "C# Programming: with the public beta" by
Harvey et al, which was C# beta (1999). And I see no need to buy
another book. However, I did have C++ experience beforehand.

If you were learning in 1999, you most certainly weren't learning C# 3
then, were you? (Mind you, Amazon claims it was December 2000 rather
than 1999.) Just how did you master lambda expressions and anonymous
types back then?

As I said, C# 1 could be learned reasonably thoroughly in a week with
suitable experience in other languages (preferably Java, as it's so
similar).

I'd be *very* surprised to see anyone go from no C# experience to
"mastering" C# 3 in one week - and if you learned C# 1 first way back
then, you can't claim yourself as an example.

Even when it comes to C# 2, I thought I knew it pretty well until I
started writing about it - at which point I found out *loads* of new
stuff.
 
Well speak for yourself Jon.  The rest of us took about a week.

<snip>

Okay, having now looked back on your other threads, it seems that was
meant to be sarcam, although I've no idea why you should choose to
reply to my post in the first place.
[C# N00b MVP]

No, you're not. Please don't claim to be an MVP unless you've actually
been awarded it from Microsoft.

Jon
 
If you were learning in 1999, you most certainly weren't learning C# 3
then, were you? (Mind you, Amazon claims it was December 2000 rather
than 1999.) Just how did you master lambda expressions and anonymous
types back then?

What's a lamda expression? Not important; if it's the shorthand for
if/then/else that fits on line line that's trivial. Anonymous types?
That's polymorphism by another name.

Ray Lopez
[C# N00b MVP]
 
<snip>

Okay, having now looked back on your other threads, it seems that was
meant to be sarcam, although I've no idea why you should choose to
reply to my post in the first place.

I'm adding value Jon.
[C# N00b MVP]

No, you're not. Please don't claim to be an MVP unless you've actually
been awarded it from Microsoft.

Jon

Lern to reed Jon. I'm a N00b MVP, not a regular MVP. And besides,
anybody can put "MVP" in their sig file--who'se to stop them?

RL
[C# N00b MVP]
 
What's a lamda expression?  Not important; if it's the shorthand for
if/then/else that fits on line line that's trivial. Anonymous types?
That's polymorphism by another name.

Thank you for proving my point.

Jon
 
I'm adding value Jon.

In what way?
No, you're not. Please don't claim to be an MVP unless you've actually
been awarded it from Microsoft.

Lern to reed Jon.  I'm a N00b MVP, not a regular MVP.

It's not at all clear whether you consider yourself an MVP (of C#
newbies), or a newbie (C# MVP).

In either case it's inaccurate.
And besides, anybody can put "MVP" in their sig file--who'se to stop them?

Common sense and community feeling, hopefully.
Anyone can ask people to address them as "doctor" but that doesn't
actually mean they have a doctorate. It just makes them look silly.
Please stop it.

Jon
 
Andy said:
Does anybody know how to determine C# skill set of a new hire?
Our company is about to move to .Net and we have no experienced
developers to assess C# skills .
Are there any on-line questionnaires you can point us to?

I have very little confidence in standard tests in any
topic related to software development.

It is practically impossible to get a good assessment of
their fit with a quick test with absolute answers. It simply
does not reflect the job situation very well.

Bring them in and talk with them. If you have someone with
C# skills then bring that person in on the interview. If not
then get one of your other developers (Java, C++ whatever)
in and talk with them.

Even though they may not know anything about C# and .NET then
I will trust their assessment of the interviewee as a potential
developer more than one of those stupid tests.

Arne
 
raylopez99 said:
What's a lamda expression? Not important; if it's the shorthand for
if/then/else that fits on line line that's trivial. Anonymous types?
That's polymorphism by another name.

Do you get paid to make yourself look stupid on the internet ?

If you do, then you are worth every cent they pay you !

Arne
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Back
Top