You see a lot of posts about how hiring is broken. I’ve used them all and all have flaws. Plagiarism is rampant. Live coding scares the shit out of candidates. Whiteboards make everyone nervous.
I eliminated most of the pre-screening in my hiring process. I bring in candidates on-site and talk to them in-person. I can end the interview sooner and give back everyone their time back if things do not work out. Its better than a 2-hour HackerRank and a 2-hour homework assignment (which takes 15 hours). All this is unpaid and unfair.
Many things can be learnt
Look for examples of how the candidate picked up a new technology. The next library can be learned quickly. The candidate may not even remember how to initialize a data structure. And that’s okay.
Visit and re-visit your must-haves. Make sure you pare them down to the least. Sure you have a DevOps team that codes, deploys, architects and does the whole nine yards. But you don’t need every candidate to know all that. In most cases, a solid developer in your core language is all you need. All else can be learned.
Some red flags are if a candidate has a decade of coding experience but has no clue about how to deploy the code. A separate DevOps team is no excuse for not knowing your infrastructure. A separate Architecture team is no excuse for not being curious about the choices they made. A separate DBA team is no excuse for not knowing a frigging simple join. Consider someone who spent a decade not learning something they should have. They are not going to be willing/able to do that in the 2–3 years they are going to be with your team.
Solutions are not everything
My team loves it when someone admits that they don’t know something. My engineers always give hints when they see candidates stuck at a problem. It does not matter if they did not solve the problem. Encourage candidates to think out aloud. Even when they are not scribbling on the whiteboard. What matters is how they think and approach the problem. True story: two of my lead engineers gave me this same comment about what they liked about one candidate “I know exactly how she thinks”. How often do you come across a co-incidence like this? She did not end up solving the problem but I made her an offer and she accepted. Best decision ever since she is frigging rocking it!
No jerks allowed
You will come across candidates who are mad that you asked a question. You will have candidates chase you screaming and swearing (no, not figuratively — literally). You will see disinterested candidates who yawn, do not have phones on vibrate and take phone calls during interviews. The sad part is all the above are true stories that my team has seen. Encourage your team to bring this up when you discuss candidates. It will save your team a lot of grief in the long term. No amount of brilliance can make up for the negativity in your team. It’s not worth it.
Good is perfect
The candidate could be confident but should not be cocky. They can be nervous and it’s your job to ease them into the interview. You need to remember that not everyone is proper or social. Not everyone has a firm handshake or even like a handshake. Many will not make eye contact and many will speak with a heavy accent. But intelligence, honesty, work ethics, and hard work are like the diamond in the rough. Find that one example/skill in their past jobs that make this candidate good enough for your team.
Take a risk
Letting go of a consultant or a full-time employee is stressful. All of us were involved with this in the past. But don’t let this make you super defensive in your hiring process. You will only end up spending more time looking for the perfect candidate.
Candidate selection need not be a democracy. You may have a few not convinced of a candidate. Some people may dislike the attitude or the motivational fit. Many will be on the fence. If you manage many teams, you can always place them on the team where folks welcome the candidate. Tell your team that you are willing to bring on candidates at your own risk, not theirs. Assure your team that you will not blame them if someone is not a good fit.
Please let me know what works for your team. If you know anyone looking to join us, please have them drop a line via our career page. If they are not local to Chicago, I will fly them in and provide lodging. If they are on a visa, I am okay with that.