The high cost of training programmers prohibits a trial and error approach to selection. This paper investigates the qualities required in a modern programmer and a means of evaluating them. The results of a recent experiment to determine which of a collection of programmer selection tests and subtests proved to be the best predictor are described.