Off the top of my head, non-exhaustive.
When hiring effective management, you should go with the sociopath:
- whose objectives align with your own
- who can effectively mask discomfort
- who can light up a room or light a fire under someone's ass
- who doesn't try to one-up you (assuming you're hiring for a subordinate / equal position)
When hiring technical talent, I think the following are important:
- Zeal for whatever they're doing : This means you don't get to employ a cookie cutter employee. Look at the technical things they do that don't qualify for a resume.
- Ability to ingest information : This person you're hiring should be comfortable with a broad intake of information from various sources. This means someone you're hiring for a technical role should be able to tell you about (for example) the last Sci-Fi series he read and how it made him apply a certain idea from it to another domain. Doesn't have to be too hardcore. This weeds out people that only picked a certain discipline for the money and have no real interest in it.
- The things they've made : Don't constrain them to the exact thing you're hiring for. Allow the candidate to veer.
- The things they decided to drop : This tells you what they thought wasn't worth the effort, or what they managed to sidestep, and how. This tells you how well-developed their discernment for choosing / dropping parts of a technical problem is. This also tells you how lazy the candidate is. Laziness is better than over-engineering something (unless, of course, you can explain why you over-engineered it (assuming the candidate ideally understands said thing is over-engineered))
- "If you were in management, what would you do differently?" - Vox Populi. Attitude towards those above him. You don't want a one-upper in a tight-knit, integral team. Likewise, you don't want an abrasive independent in a role that requires a lot of permission from management. Temperament must be matched to the existing team and sometimes this can be the deciding factor, an employee great at everything else but unable to work with the organization's modus operandi might require a different management style, or concessions that your organization might not be able to provide.
Auxiliary characteristics for technical talent
- Actual impostor syndrome : most people don't have impostor syndrome. They have the opposite, where they deep down know they're incompetent, but their ego can't take it, so they believe they need to calm down because they already know everything. When you find someone with actual impostor syndrome, you'll be surprised at the stark contrast between their accomplishments and what they claim to know. They'll be able to design complex systems but when scrutinized, will double-guess quite often. This can also be a great test for broad / "associative" thinking. Obviously, this is very different from someone that's lying on their resume and you'd need to weed out the liars in the interview. It's fairly easy once you've met someone that's the real deal.
- Contrarianism/Skepticism : A healthy amount of skepticism is (IMO) necessary to keep the fires of technical work burning. Too much might mean your team would not be able to work well this candidate. More often than not, those with too much of this quality don't apply to jobs and prefer to do their own thing.
- Work Experience : Not having any shouldn't be a deal breaker for junior positions. If they have worked in a technical position somewhere else, they should be able to explain what they did, what their contribution was and how this affected (if it did at all) the way they approach / engage in technical work.
Obviously, giving these out before the interview would make detecting good hires much more difficult. It's also important to not linger on a question. Never making a question feel mandatory is also a great way to keep the interview honest. If you're hiring for management, make sure someone in a management position higher than the one the interview is for is alwyas present in the meeting. If you're hiring for a technical position, make sure a senior technical person is always present and has significant input, ideally the same person / group should invigilate through the (likely) multiple interviews. The interview should feel like a conversation and not an exam. Ten minutes of honest conversation that lays down the candidate's technical expectations is much more valuable than five rounds of leetcode. Nevertheless, it's important to save time and if someone doesn't have any real interest other than money, they should be dropped.