Re: Test for potential programmer

Daniel Pittman <[email protected]>
Newsgroups gmane.org.user-groups.slug.chat
Message-ID <[email protected]>
Ken Foskey <[email protected]> writes:
> On Wed, 2009-12-02 at 16:52 -0800, Carlo Sogono wrote:
>> What kinds of tests should I be giving people to measure their
>> aptitude to become good programmers/problem solvers?
>>
>> I work in a really specialised field and it is actually better to hire
>> someone who has experience in this field then train them to do a
>> programming than hire a programmer to learn the business.
>>
>> Are IQ tests enough? Or should I be looking for something else?
>
> The coffee test:  Describe the steps taken to make coffee for the team.
>
> You are not looking for a correct answer so much as the method that they
> use to break down the solution and how they handle the pressure of
> thinking on their feet.  The question above can be just about anything
> that the applicant is not expecting to answer.

Unless I was hiring someone to make me coffee, I would prefer a practical
example to a frivolous one; "so, the main server just died, what do you do?"
or "so, you need to perform efficient matching of IP addresses against CIDR
ranges; how do you do it?"

Also, keep in mind that a bunch of those practical answers for programmers can
quite legitimately be "no idea, read the manual" or "no idea, find the CPAN
module that does it efficiently enough to meet the requirements", without
being a sign that this is a bad choice.

(In most cases; if your job requirement is *specifically* someone who can
 write clean-room code to perform efficient IP matching against CIDR ranges
 you probably don't like either of those answers. ;)


> I would be looking for:
>
> a)  Solutions outside the box,  a good answer from outside the problem
> domain means they can think.
>
> b)  Step by step refinement of the problem
>
> c) How do they handle being pushed.  eg there is no water on our floor
> except the bathroom and using it is a health hazard.  Watch for them
> getting flustered and then recovering, how do they react.

*nod*  Keep in mind that you can give a very bad impression of the company
and/or yourself if you push too hard, or are too aggressive here.  Nothing
annoys like an interviewer who says:

    ...OK, so a huge drought has removed all water from Australia, and there
    are no planes left.  So, how do you find water now, buddy, huh?

(Which, yes, actually has happened to a couple of people I know. :)

[...]

> Ask them to list some languages,  ask them what are their strengths and
> weaknesses.   Perl great for parsing text,  but can easily be write
> once.  C# C++ done right, tight hooks to Microsoft and .Net.

I would be vary wary about this, other than to judge if someone has /thought/
about the issue: judging things based on the answer is risky, because they
background may have given them good, supported opinions that are wildly
different from your own.

Pro tip: asking me "vi or emacs" in an interview makes you look like an ass,
and is a very poor way to convince me that you are someone I want to work
with.  This generalizes reasonable well. :)


> Ask them what they do at night.  Reading is good they will have to do a
> lot,  computers web page development.  If they mention something eg web
> page ask them what html stands for and name some tags and write down how
> to use them.  Shows a willingness to go deeper than glossy tools.

Truth be told, I have worked with enough excellent developers who this really
was only a day job for that I would not trust this too far.

It might be useful information, but I think it would be unwise to assume that
"spends all free time on computers" is good, or "spends no free time on
computers" is bad automatically.  :)

        Daniel
-- 
✣ Daniel Pittman            ✉ [email protected]            ☎ +61 401 155 707
               ♽ made with 100 percent post-consumer electrons
-- 
SLUG - Sydney Linux User Group Mailing List - http://slug.org.au/
Subscription info and FAQs: http://slug.org.au/faq/mailinglists.html
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.