People that work with computers tend to look at things differently. They deal with something that has very specific rules on its behavior, and can sometimes act quirky based on the interaction of two obscure lines of code. A computer can only do what it has been told to do, and sometimes it has to be very specifically what to do in order to do what you want it to do. As a computer program can be a very complicated creature, and sometimes some of its programming contradicts some of the other coding, this can lead to some very interesting problems.
A programmer needs to know how to quickly diagnose the problem and then solve it. Sometimes he needs to be able to deal with a problem he has only heard about, and be able to figure out what is happening. Because they are dealing with pure logic, something most of us do not deal with, they tend to get very good at looking at the problem straightforwardly. As most of us are used to dealing with most problems that have an emotional or political element to them, this means that they can come off as stiff or unemotional, personality types that are at best off-putting to most people.
Adding to the problem is that we do not tend to understand what makes a great programmer and have a difficult time articulating the necessary qualities in a basic job listing. Some programmers are who they are because they did break the law; they simply saw a challenge and took that challenge up. This is not to say that all programmers are hackers, just that some of the best programmers did do some hacking at some point, and that a criminal background should not be seen necessarily as a bar to employment. After all, most programmers are honest people, and ironically hacking a computer is an expression of that honesty.
With most hires, their background and education is important. For programmers and developers it is more important to look at their experience, and especially what they have done outside of work. Some of these people have run discussion boards and websites, and so tend to have a lot more experience than their resume may suggest. It is important to ask about experience that is not on the resume, even more so than what is on the resume, in order to get a better view of the person. In short, this is the one position where personality is not an indicator of talent and the interviewee’s best experience is not on the resume; keep that in mind and you will find the person you are looking for.