From: c hore
Subject: How to Test New Grads for Lisp Job?
Date: 
Message-ID: <ca167c61.0306290623.725a0aa4@posting.google.com>
In another thread, F. Adrian wrote:
> These days, though, I'd settle for a way to get enough
> jobs in the software industry so that good people
> weren't going without jobs.  Who needs more education
> in the area when the industry can't absorb the grads
> we already have?

Speaking of jobs and absorbing [fresh B.S.] grads
for a job that would involve Lisp (among other things),
but who do not currently know Lisp (because it is not
taught), any suggestions for how to test the
applicants' ability/potential?

I am not up on the latest ACM pedagogy/exams.  Is that
where to look for ideas on job exam questions/problems?

How to evaluate programming knowledge/ability in a
language-unspecific way?  And what should the
exam be about...all the different kinds of
common data structures?

From: Kaz Kylheku
Subject: Re: How to Test New Grads for Lisp Job?
Date: 
Message-ID: <cf333042.0306291532.10e61029@posting.google.com>
·······@yahoo.com (c hore) wrote in message news:<····························@posting.google.com>...
> In another thread, F. Adrian wrote:
> > These days, though, I'd settle for a way to get enough
> > jobs in the software industry so that good people
> > weren't going without jobs.  Who needs more education
> > in the area when the industry can't absorb the grads
> > we already have?
> 
> Speaking of jobs and absorbing [fresh B.S.] grads
> for a job that would involve Lisp (among other things),
> but who do not currently know Lisp (because it is not
> taught), any suggestions for how to test the
> applicants' ability/potential?

Can the applicant write, given a specification, a defect-free, highly
portable program in some standard (ANSI or ISO) programming language?

> I am not up on the latest ACM pedagogy/exams.  Is that
> where to look for ideas on job exam questions/problems?
> 
> How to evaluate programming knowledge/ability in a
> language-unspecific way?

I wouldn't bother. Find out what languages they know and base the test
on those. Using real programming languages is better, because the test
is then concrete and exact. There is no handwaving around the
fine-grained semantics of the computation.

A test administered to a Java programmer that involves writing Java
code is probably a far better predictor of how successful a Lisp
programmer she will be will be with the right training, than any other
test you can give her.

You could test someone's learning ability like this. Give them some
Common Lisp code, the HyperSpec, and a few other materials like for
instance some of the great free books about CL, and pointers to
implementations that he or she can install to play with the code. The
goal is to use these specifications to decipher the code and write a
specification describing that code in detail, so that someone could
write similar, if not identical, code from that description.

This is a realistic test, because it tests an important activity that
will be a big chunk of the real job: understanding what the heck some
existing code means, flipping back and forth between the code and the
HyperSpec and other materials. It also tests the applicant's ability
to write a detailed specification.

An unfamiliar programming language is not much different from an
unfamiliar data format, or an unfamiliar anything. As developers, we
deal with the unfamiliar all the time, even though we are familiar
with the languages we use. A key skill is absorbing the structure of
something unfamiliar from its specification, and from experimentation
and other means of investigating it.

> And what should the
> exam be about...all the different kinds of
> common data structures?

Throwing in questions about a few major data structures, and their
relative performance tradeoffs and rationale for their selection,
never hurts.
From: Paolo Amoroso
Subject: Re: How to Test New Grads for Lisp Job?
Date: 
Message-ID: <xwj=PtLQF0WUB7eXNNM1wjXOtMfn@4ax.com>
On 29 Jun 2003 07:23:08 -0700, ·······@yahoo.com (c hore) wrote:

> Speaking of jobs and absorbing [fresh B.S.] grads
> for a job that would involve Lisp (among other things),
> but who do not currently know Lisp (because it is not
> taught), any suggestions for how to test the
> applicants' ability/potential?

Here is a cheap way of evaluating abilities/potential not directly related
to Lisp. Send an email message to the grad in which you ask a few explicit
(e.g. "which books have you read recently") and implicit (e.g. "it would be
interesting to know your opinion on the ACME development compiler")
questions.

The reply may tell you a lot about the author, possibly more than he
expects. You can for example check whether the author:

- replies at all, and how long he takes
- recognizes and answers all explicit and implicit questions (you will be
  surprised...)
- is able to summarize and quote relevant parts of your original message,
  rather than clueless including the whole thing
- consistently formats the message, or writes uneven and randomly wrapped
  lines
- writes something that makes sense

Also, be sure to let him send you at least an email message that is not a
reply to one from you. Again, this lets you check his ability to summarize:
is the subject line specific and informative enough, or clueless (e.g.
"info")?

You get the picture. In short, this may provide you with hints on how
professional and focused the job applicant is.


Paolo
-- 
Paolo Amoroso <·······@mclink.it>