Before you onboard a new developer, you need to interview them. A job interview is a performance for both them and you. They are nervous, and you should be worried as well. Because your value is primarily determined by your knowledge of the existing codebase and organization, neither of which you can display in an interview setting, a job interview presents a risk to your authority. You and your coworkers could be interviewing someone who knows more than they do who exposes this; in the worst case, you could be interviewing your future boss.
But right now, you have the power, so use it. The primary way you have the upper hand is that you get to determine the questions. Scan over their resume, looking for weaknesses.
Designing the Job Interview
Make sure that the job interview has nothing to do with what the day-to-day job will be. Instead, let it be a series of arbitrary character tests. How do you test someone’s technical character? Ask a list of stress-inducing questions that are arbitrary, irrelevant, or complex.
arbitrary: to display how terrible the role is and see how the candidate handles random stress applied by a third party.
irrelevant: questions that have nothing to do with the job description create a mild feeling of superiority from you and your coworkers towards the interviewee so that they know this is just the prevailing winds and not interview-effect wind.
complex: the questions should be the type of questions that current employees in good standing might struggle with, but are presented as obvious and easy.
Picking Questions
Here are some examples that pass the arbitrary, irrelevant, or complex criteria:
A series of algorithmic challenges fit for an experienced systems designer; the type of work you won’t let this candidate do if hired for another five years but that they should have mastery over right now
Design twitter. You have ten minutes. The whiteboard marker is dry. Go.
Make a stock trading bot that uses artificial intelligence to predict soybean futures in the deep south, accounting for budget and the expected volume of customers through Chick-Fil-A during a cold fall football season and prevailing anti-religious trends. The system should make predictions every minute, with subsecond run times. Here is an unsharpened pencil and half a legal pad. Go.
How would you make Windows slower on this laptop I’m handing you? Go.
How would you rebuild the Internet to lower carbon emissions? Go.
Esoteric technical questions that can easily be looked up. Justify this by saying that it shows experience to know these things, not theirs. Knowing about a bug in a previous version of the compiler shows your experience. Act surprised if they don’t immediately know the answer. Many of these questions can be rephrased as “Tell me about a time you had the exact same experience as me”
What version of ColdFusion was the most vulnerable to SQL injection attacks, and what mitigations did you apply?
Name three common mistakes people used to make in Visual Basic.
What is the ternary operator? Why is it called that, etymologically?
What does the middle letter in WCF mean? What other words were considered?
Have you ever fallen out of a bus in front of someone you had a crush on in 1997? What would you do differently if you could do it all over again?
Something that has a very specific answer, and completely demoralizes the candidate if they don't know it, as it messes with them and makes them think it is key to the job somehow
Your Goals and Expectations
Stepping back, you are attempting to design a job interview that you, the person leading the interview, would not pass and would do anything to avoid. In building this miserable interview process, you select a certain type of person. The candidate who is offered this job and accepts it will show up humbled:
Because they didn’t know the answer to half of your questions, they will feel as if you are taking a chance on them and will be aware that you are brilliant and that the entire team is brilliant, probably more intelligent than they are
Because the interview was so painful, they will come with eyes wide open to a challenging (abusive) environment
Because the power dynamic was so strong in the interview, with you treating them like trash, they will arrive thinking like a follower and keep their ideas to themselves
In this way, you will continue to build up a team that does not threaten you. And in this way, things will never get better; you will never get better.