So what is a good/correct hiring criterion? I was under the impression that nobody really knows. And I am not convinced that it is a bad idea to look for "cultural fit". For example I don't dismiss anybody as a programmer who has never heard about Paul Graham or Joel Spolsky, but certainly consider it weird and it's probably at least a minus in my book.
Some people live and breathe valley culture and others don't. I have met great programmers and just generally smart people on both sides of the fence. It's not the particular cultural understanding that makes them good or bad. It is usually something else. I wouldn't hold it against you if all you did in your spare time was paint portraits but for your day job you were a programmer. In fact that kind of variety in in…
In theory I am all for diversity, but I can imagine that in some endeavours it helps if you get along with the people in your team. I don't think "hiring what you know" is really that much of a mistake. I would hire my friends, for example, because I already know I get along with them.