There is really no way you're going to get the people you want based on perks, salary, benefits, and the like.
However: virtually every company has some insufferable ***holes on staff, either in engineering, or management, or both. If you're lucky, you get to meet one during your interview process, and strike that company from your list. In other cases you think you're golden - only to meet the offending employee(s) during your first week or two. Then you have to restart the whole job search thing once again.
I'm not saying that everyone needs to be perfect. Everyone is a jerk once in a while; but the fewer loud, arrogant, sexist/homophobic/prejudiced/intolerant people on staff, the happer everyone will be. If I'm going to spend 10 hours a day with people, then they should be people I'd choose to hang out with anyway, not people I'd avoid.