Have you ever had a disastrous interview experience? My worst: Three years out of college, working in web development, I was struggling with a linked list problem. The interviewer pauses, looks me in the eye, and says:
“…are you sure you studied computer science in college?”
spoiler alert: I didn’t get the job.
Sometimes, it can be a determining factor is whether or not you get a job. That may not feel fair, but that’s how it is. Likewise, being an interviewer is also a skill. Sometimes you’ll run across an interviewer that does something you might not agree with:
If this happens to you, how should you respond?
Whiteboard interview questions have problems, but they exist. If you are interviewing for jobs, chances are you’ll run into one from time to time. Recently, I wrote about how to survive whiteboard interview questions. I was met with several responses of people saying they would walk out of the interview. This thought is gobsmackingly wrong-headed. I’d like to explain why, and what you should do instead. If this is the mindset of the other people applying for these jobs, then shifting your paradigm a bit is a surefire way to get a leg up on the competition.
The good news: If you want a software development job, you don’t have to bury yourself if student loan debt. You can attend a coding boot camp, or take courses online. There are even free options out there like freeCodeCamp. You don’t need a license, only a chance. You can publish work online, from your home, for free.
But, this lack of gatekeeping means there is a burden on employers. How do you know that candidates have the skills they say they do? Resumes can be polished, and portfolios can be faked. That’s why you have to take tests to prove your skills. I’ve been on the other side of the table, and people come through that don’t know how to program at all.
That’s one among many reasons why all these interview practices exist that are both frustrating to experience and absent from other fields.
Earlier I said interviewing was a skill. How do you get better at any skill? You study, you practice, you get feedback, and you repeat. (Amy Hoy has a great in-depth write up on skill mastery)Writing code is great because you can efficiently complete learning cycles at home, 24/7. Write code? Got an error? Experiment or Google the fix. Repeat like your a while loop.
Some sites help you practice interview-style questions, but those will only assist with the technical side. They won’t help with the standing-in-front-your-potential-boss jitters. You could ask friends to help, but they can be kind to a fault, and likely aren’t interviewers themselves. The only way to steel your nerves is to step into the arena & live or die by your actions.
Every interview is an opportunity. Not just for employment, but to learn. You can get practice at the skill of solving real-world problems.
They’re not, but that’s not the point.
It’s solving problems, in unfavorable conditions, for people you don’t know, for reasons you don’t fully understand.
That’s what programming as a professional IS.
It’s not about your “technical skill,” it’s about your resilience. Do you have the creativity, the optimism, and the confidence to tackle problems you aren’t sure how to handle? Because at some point, you’ll need to find those traits in your career.
You won’t. Or at least your interviewers won’t hear it.
Every company gets good and bad candidates. If you walk out, it doesn’t tell the company they follow poor practices. It shows them you couldn’t handle a challenge. Instead of trying your best, you quit. Which perspective do you think people having will help your career?
I’ll concede that if someone was rude, vulgar, racist, sexist, belligerent, or just behaved in a way that was far outside acceptable professional norms, and I probably would excuse myself. But sometimes people seem rude in an instance, or there was something else going on. I wouldn’t write it off. Dealing with jerks, people who appear jerkish, or people who are generally lovely but are having a bad day and are exhibiting jerk-ish behavior in the one particular instance, is another real-world skill that will have to develop soon or later.
Deliberate practice at a skill you want to get better at is never a waste of time. Even if you don’t want to get better at interviewing, it’s a skill that increases your likelihood of getting what you want: A good job, a nice salary, and security as prosperity for you and yours. Isn’t that worth investing another ten or twenty minutes? What were you going to do instead?
Is a waste of your time when a company completes an interview with you and doesn’t hire you? No, it isn’t. Job interviews are like experiments: You expect and budget for failure.
It’s rare that you’ll get an offer for a job that you didn’t want. It’s a problem like getting “too bulky” at the gym on accident. But if you do get an offer for a company that you aren’t keen on working for, you can always turn them down. Tell them you are exploring opportunities and decided to go in a different direction. But not so fast! If you are interviewing with multiple companies (which I hope you are), you can walk into the salary negotiation more confidently. You can tell them you have multiple offers and see if they can offer something more competitive.
That job interview, you almost walked out of, because who needs to know how to traverse binary search trees these days anyway? It could be a bargaining chip that puts another $5,000 in your pocket every year.
Still, think sticking it out would be a waste to time?
Still, want to send them a message?
Still, want to quit?
When applying for a development job, especially if it is your first, you may be faced with a horrifying request: Stand up, grab a marker & get ready to code on a whiteboard.
No internet. No IDE. Not even a keyboard. Just you & the awkward silence of the interview room.
Whiteboard interviews are a debated technique. There are two problems; Firstly, they typically involve tackling questions that don’t connect to real-world work. They tend to be algorithmic trivia that many developers haven’t thought about since college. Secondly, you’re used to having access to tools that automate parts of your job like IDEs, as well as information resources like Google and Stack Overflow. If you will have access to these tools on a daily basis, why should you be tested on your skills without them?
The primary function of a whiteboard interview isn’t to judge your technical capabilities. It’s to test your mental fortitude. People complain that whiteboard interviews are unfair & distressing.
That’s the point.
When an interviewer asks you to stand up at a whiteboard, they want to see how you approach problems while under pressure. There are two crucial mistakes you can make here:
The best cure to fear is preparation. Here are some resources to practice whiteboard style challenges.
Getting frustrated is understandable, but it’s worth it to shift your mindset. Working under pressure, talking to people, and being interviewed are all practicable skills. Instead of getting frustrated, try to be grateful for the opportunity. It’s worth it to stick it out, and you should never walk out of a job interview.