"I only know how to do ad-hoc personality tests, so ad-hoc personality tests must be how I can hire."
The very practical advise is to deliver a work-sample test. Tell the person exactly what you are looking for up-front("we want this code to run as fast as possible" versus "we want this code to be very readable") and then measure on what you said you looking for.
If you do a lot of code maintenance, pull up a piece of your code with a bug and have the candidate hind it. If you do a lot of OOP, describe a recent problem and have him design the class.
The very practical advise is to deliver a work-sample test. Tell the person exactly what you are looking for up-front("we want this code to run as fast as possible" versus "we want this code to be very readable") and then measure on what you said you looking for.
If you do a lot of code maintenance, pull up a piece of your code with a bug and have the candidate hind it. If you do a lot of OOP, describe a recent problem and have him design the class.