A few years ago, I worked for a small internet company and was a
successful dot com millionaire. Then the confounded Italians went and
devalued the Lira.
We spent (wasted) lots of time interviewing Oracle developers.
Interviewing was time consuming and we had a fairly rapid turnover of
people with varying technical abilities and personality disorders.
After a while, we decided to set a short technical test in an effort
to save time and improve the quality of the technical people we hired.
The test was a trivial piece of PL/SQL. Count all the rows in all the
tables in a specified schema. The consequences of introducing of this
test were very revealing.
Some candidates (with years of Oracle and PL/SQL experience) flatly
refused to take the test at all - 'the agent didn't say anything about
a technical test'.? Some candidates asked if they could have access to
our embryonic Oracle technical library (a couple of O'Reilly
books). Some candidates asked it they could use their own technical
books for reference. We flatly refused.
It was interesting to see whether people elected for Linux/vi or
Windows/notepad.
It was interesting to see whether people could deliver under pressure.
It was interesting to see whether people asked questions.
It was interesting to see whether people actually compiled and
executed the code. Some candidates thought, incorrectly, that the test
was purely to 'write the code'.
It was interesting to see whether people visited
'http://tahiti.oracle.com/'. We said you couldn't use books. However,
we didn't say you couldn't use the internet.
It was interesting to see whether people commented a trivial
procedure.
It was interesting to see whether people counted the rows or checked
for the presence of recent statistics first.
It was interesting to see whether people used native, dynamic SQL or
tortured themselves with DBMS_SQL.
It was interesting to see whether people favoured SQL*Plus, Pro*C,
PL/SQL or Perl/DBI.
The standard of candidates improved. If the technical test was
unsatisfactory, we skipped the interview formalities to save time
(theirs and ours).
One outstanding candidate delivered an excellent test. Perfect,
commented PL/SQL. He even included a file header with CVS macros for
version control. The results were correct. He finished the assigned
task in minutes. He even used the singular if a table had '1 row'. He
was an excellent Oracle PL/SQL developer.
However, we didn't hire him because there was an indefinable,
intangible concern, a nagging worry that we couldn't articulate or put
our finger on precisely. It just didn't feel right. Hard to explain to
the agent. Even harder to explain to him but sometimes you have to go
with your instincts.