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.