In my former life, I was… well, I was many things to many people, but for the purposes of this post, I’m speaking about my former life working in the Career Center of a local community college. It was an interesting job and I met a lot of cool people in different careers, helped students prepare for interviews and was also on the hiring committee for the school which taught me a lot about how fucking awful interviews truly are.
As a web developer I’ve been on somewhere around 20 interviews in the last couple years (some for fun and some because I was genuinely interested in the position, cause I’m a sick fuck like that). Recently, at my job, we were looking for a developer and I got to sit in on a couple interviews, while at the bootcamps where I work part-time, students are constantly asking me what to expect during an interview and how to not suck at them.
“How do I not suck?” they ask.
Well, that’s a tough question, because, more often than not, I find that interviews aren’t just about what you know, but how well you can sell yourself.
Sure, there’s the group that will tell you to study “Cracking the Code” like it’s the holy grail of acing coding interviews or whiteboard your ass off until you can spit fibonacci’s sequence using recursion out of your ass while debating the runtime complexity of insertion sort vs. merge sort. While those are great things to know and they may come up if you’re interviewing at one of the Big 3 (or 4, or is it 10? Fuck, I don’t know), you’re much more likely to find yourself in a semi-traditional interview with a group of devs who have a ton of code debt and little time to think of witty, head-scratching code challenges.
Instead, you’ll likely be in a room talking with some developers who are probably just as nervous as you, making small talk, talking about your experience and maybe doing some whiteboarding. Out of all the interviews I’ve been on, I was only asked to whiteboard once. Yes, one fucking time. I think people forget that understanding how to memorize and then write with a marker on a board, one of the answers to a question that every other company uses to test devs, isn’t the best indicator of one’s aptitude for solving problems.
Yes, we had the dev in our interview whiteboard but it was more to see how comfortable he felt under pressure, explaining a concept to us. Because, guess what the fuck we do during meetings when one or all of us just doesn’t quite get how this API is supposed to work? Either we sit there in silence, awkwardly passing the time, pretending we know what the fuck is going on, or some brave soul gets up on the damn board and draws that shit out for us. That’s the kind of girl/guy we need. Someone who’s comfortable standing up, scribbling the abstract on a board and making us whole again.
A much wiser man who I listened to on a panel regarding getting a job in tech, echoed much of what a lot of interviewers know to be true: “If they like you, they’ll find ways to excuse your lack of technical skill. If they don’t like you, they’ll find ways to justify their decision not to move forward.” If that sounds kind of sucky, well, it is. We’re humans and we want to work around people we like. I say, use that to your advantage.
Research the company. How do people dress? Dress like that when you walk in (maybe a little better). What are some of the projects team members have contributed to outside of work? If it’s something you’re familiar with or like, bring that shit up! Are they big into a certain group activity or a company that fits a certain lifestyle, like a website for single goat-herders? Casually bring up that you grew up with goats in the backwoods of Kentucky!
Seriously, if you’re already sitting in the hot seat, chances are that they trust your coding skills enough. Bring the human aspect to the interview. Have opinions, look interested! All that shit counts. Believe me, we were this close to hiring a wordpress dev for a full stack position just because we liked him. Shit, I got hired for a job using a stack I’d never used in my life and much of that was based on how I fit in with the team.
If you do face the dreaded whiteboard, here’s some fucking tips:
Before you just go all Good Will Hunting on the board, ask some questions from the panel. Verify the expected input and output.
Don’t fall silent! The people want to hear how you think, what’s going on in that peanut of yours.
Don’t fully turn your back on the audience. Take the role of lecturer, it should hopefully be a collaborative code challenge.
If you don’t know… well, ask more questions. Use pseudo-code instead of actual methods and functions. Maybe explain how/what you would need to know in order to get to the answer.
If the people show no emotion, refuse to speak with you while coding or sit behind a shiny, two way mirror, you may just want to get the fuck out of there. Seriously, I’ve heard horror stories about intense interviews like this and it usually denotes a sick kind of perversion during an already tense exercise. No one needs that shit. Unless you’re into that sort of thing.
Until robots start hiring, you will certainly be judged by a group of humans with likes, dislikes and types of people they jibe with. Be likeable, or if you can’t do that, just be you. Maybe there’s some single goat herder site out there with a team of weird ass devs just waiting for you.