On Fri, 21 Sep 2007 15:28:58 +0200, Frans Bouma <[EMAIL PROTECTED]> wrote:

>> OK I half agree......
>>
>> I do want to test general ability....
>
>        Then ask for a university degree in CS and several years of
experience
>in the field they'll work on. General ability isn't testable with simple
tests
>you can formulate in a couple of lines.

It's a junior role....they wont have had several years of successful
experience and be within budget.

>
>        I've spend over 12 years in something called 'the demoscene'
>(www.scene.org ), it's basicly nerd heaven for lowlevel programming. I can
>tell you, a lot of people there beat anyone in these simple algo tests,
>however they're unable to do a big class design, simply because they have
no
>education in that area.
>

no education? or no experience?

>> if someone can't reverse a string
>> in place or work out the longest run in a string then they probably wont
>> be able to thing of sensible ways to create invoices associated to a
>> supplier relating to a specific product....
>
>        I see 0.0 overlap between the two. Reversing a string is a low-
level
>algo and if you don't know how to do in-place buffer copying or reversing
or
>whatever you want them to do (in place reversing of ints without
variables,
>that's also a nice one, but only for people who think fiddling bits is
what it
>takes to be a software engineer),

I completely disagree...the swapping of numerics without variables is
a 'trick' used by assembly programmers....you either know it or you
don't....the ability to write simple procedural algorithms is a critical
programming skill, used every hour of every day, are you really claiming
that a competent C# programmer wouldn't be able to reverse a string with a
loop?

would it matter if it were a string or a set of delegates in a generic
collection used for event handlers?...does that somehow make it more
relevant?

To me it is just obscuring the underlying problem, and alienating those
who while highly competent, may be slightly ignorant.


> you will likely spend a lot of time on it,
>but is that bad? What if the person gets nervous because s/he vaguely
>remembers it's a stupid silly test but all s/he can think of is a rather
big
>loop full of goo and that they now think they'll fail?
>

I don't really understand this?

>        Remember: interviewing for a job is often totally difficult
compared
>to the real job.
>

difficult? or different?

either way....they are not completely unrelated...I am trying to assertain
the ability to do the job....long term.


>        Also, if I was given the tests you proposed, I'd have left right
there
>on the spot, simply because the tests would show that you don't know what
to
>ask from me, as I don't expect to write atoi routines or string reversers.
>

maybe that's part of the test...if you can't be bothered to sit a simple
test, I probably wouldn't want to employ you....asking you to do voluntary
overtime, or fix a bug would seem to be a nightmare in comparison.

>> if they can't think in a
>> coherent and organised algorithmic manner then they wont be able to
>> design a new auto pilot....who gives a 'hoot' if they know how to do the
>> specific task I'm going to ask them to do next week, and outperform
>> other more able candidates who aren't up to speed on the latest version
>> of ASP.net, if they are basically not as good as I can get over the
>> longer term.
>
>        That's something you'll never know, but definitely won't get
>determined with tests which take a few lines of code.

Again you seem to claim that you would not expect C# programmers can't
reverse strings in place, any more than a random person off the
street....a claim I find bizarre.

>
>        For example, most algorithms to use on a daily basis are already
>discovered and documented in full on the internet and in books. Like 'sort
>this DAG in the right order so all jobs represented by nodes are enlisted
in
>the right order for execution'. Sounds tough? No, it doesn't.

?

I'm not asking them to invent an algorithm....just apply it.

>
>        If someone tries to re-do that topology sort algo by re-doing
years of
>graph math science in that interview, what does that tell you? Isn't it
more
>wise to hire someone who will tell you "THe algorithm is on the internet
and
>in Sedgewick, I don't have it with me but it will take 2 minutes to write
it,
>tops". What would you answer then? "You're lazy" ? It's the correct
answer!

programming is about the application of that knowledge.

I don't know what you're getting at.

If a programmer can't do a simple loop then I'm not interested.

>
>> BUT.....where I agree with you (and why I posted the question here) is
>> that these specific examples are a bit low level C like.
>>
>> If I give them something too real world, you may find they fail because
>> they know how to use Oracle, but not SQL 2005...or are familiar with
>> .net 2003 but not 2005......if they are contractors coming in to do a
>> specific job...then yes it bothers me, if it's someone I'm hoping to
>> employ for the next 5-10 years maybe...I'm primarily interested in
>> ability.
>
>        An assignment to do might take an hour for example but has to be
>reflecting what they have to do on the day they're starting, right? Or
>something you want them to grow into perhaps. If you want them to pass a
test
>which is suitable for them in 2-3 years time, you've invited the wrong
people
>and have placed the wrong ad. :)
>
>                FB

?

interviewing is a crude way of trying to use crude correlations between
measurable (possibly qualitively) metrics and how productive they will be
as an employee....I don't think it's unreasonable to expect a programmer
to be able to apply simple procedural algorithms.....if you don't think
there is a correlation, fine....you can get all the people who can't do
loops working for you on the cheap.....good luck.

===================================
This list is hosted by DevelopMentorĀ®  http://www.develop.com

View archives and manage your subscription(s) at http://discuss.develop.com

Reply via email to