Interviewing for a technical position is stressful. It burns out and breaks down many a developer. But with the right mindset, you can use the process to improve your interviewing skills and become a better developer.
When it comes to interviewing, you need to be more antifragile.
In this article, You'll learn how to adjust your mindset with interviewing. You can change interviews from something that breaks you down into something that builds you up.
What is "Antifragility"?
Antifragility is anything that loves randomness or uncertainty. Systems and people that gain from disorder and chaos are considered antifragile. People, systems, and items that break under stress are fragile. The term comes from Nassim Nicholas Taleb's book, Antifragile: Things That Gain from Disorder.
Note that this is different from being robust; A robust system doesn't care about stress or disorder one way or another.
Interviews are stressful and random.
Interviewing is an exhausting experience. Bad hires are expensive, so companies would rather have false negatives (disqualifying a well-qualified candidate) than false positives (hiring someone ineffective). Interviews start from a place of distrust.
From the interviewee's perspective, interviews are variant and random. Any interview could consist of one or more exercises:
- online quizzes
- pair programming
- take-home assignments
- whiteboarding (virtual or in-person)
- big-picture questions
- architecture questions
- behavioral questions
And on and on. You might have to do hours of unpaid labor before actually getting to talk to an interviewer.
All of the above considerations give the hiring party the benefit of the doubt in being thoughtful about their hiring process. Unfortunately, that just isn’t always going to be the case. I also don't give companies the benefit of the doubt here. If you are interviewing for a company that has a small team or where engineering is not the primary value driver of the business, it's more likely that they will have put little thought into their process.
Often the person interviewing you will be a developer. They may not __want __to be interviewing candidates and would much rather be working on whatever feature they have due at the end of their current sprint. They may not have spent time practicing their interviewing skills and are winging it. Sturgeon’s law is very much in effect.
ninety percent of everything is crap – Sturgeon's Law
So, how can you turn this process into a good thing for you?
Build an Antifragile process
Like any other deliberate practice, any interview is a repetition you can use to improve your skills. You may be frustrated that you have to learn skills that seem irrelevant to the job you are trying to get, but that's part of the game. The sooner you can make peace with this, the better.
Think of interviewing skills as an investment in yourself. You are helping yourself get better opportunities. The same goes for puzzle algorithms. So now, let's look at how you can take your interviewer's questions and use them for your personal benefit.
Build a Question Collection
Take note of questions that you are asked frequently or ones that trip you up. Afterward, take some time to write out answers. Don't show up to an interview and reading from a script, but the act of writing will help you think through your answers and do better next time.
If you don't prepare, interviewers only get to hear your first draft. First drafts aren't representative of anyone's best work.
Treat interviews as a feedback loop. If you are failing at certain points, that's a signal of a weakness you can work upon.
If you're brave (and remote), record yourself.
When interviewing via Zoom, you have the ability to record the call. I wouldn't tell the interview you are doing this, and I wouldn't share it with anyone else. An interviewer may not take kindly to you sharing their questions. Watch it yourself and see how you come across. I know, it's uncomfortable, but if you can get used to it, you can get some insight into how you come across to others.
Learn to accept rejection
You’ll deal with rejection during your interviewing process. Interviewing is a numbers game, and that makes it inevitable. Sometimes it won't be your fault. Realizing this is the first step to making peace with it. You’ll need to be able to handle rejections to bounce back, put on a smile, and jump back into your next interview.
Let interviews build you up, not break you down.
You could think of interviews like gym sessions: painful at the moment, but they make you stronger. Or think of it like iterative software development; You tested your interview system, got feedback, then you add features and fixed bugs.
As an additional benefit, you'll be more confident and at ease in your interviews when you're less stressed. That makes you a more attractive hire.
Interviewing is a numbers game on your side also. If you keep interviewing and improving, you will find your next role eventually.