October 27, 2020

CHEN | Wipe the Whiteboard Coding Interview

Print More

The internship hunt comes around a lot faster than expected. All throughout freshman year, upperclassmen comfort you, reassuring you that “it’s okay to not have anything planned for the summer. The summer internship grind is far away.” But a full blown pandemic and rushed plans to get back to Ithaca for a shaky fall semester came with the abrupt realization that dreaded HackerRanks and traditional whiteboard coding interviews for summer 2021 were fast approaching. Every word I type right now is just another bit of brain power I could have spent on memorizing another coding concept for an unpredictable recruitment season.

For those outside the software engineering recruitment bubble, software engineering  internships are of a large supply, but also an arguably larger demand. To obtain employment for a summer, the search starts almost an entire year earlier on platforms like Handshake and Jumpstart, or just a desperate Google search for any company that will take undergraduate interns. You scrounge up the courage to ask that person you met that one time for a referral. You throw your resume into the application portal of any company that has open hands and you pray. The easy part is done.

The grass is clearly not greener on the other side. Beyond the resume drop are several rounds of interviews, each on a company-to-company basis. Narrow it down further, and you’ll find that the most stress-inducing rounds are technical.

The technical interview is an inevitable dread for many engineering students. It’s a notorious on-the-spot test of your intelligence and ability to communicate your problem-solving skills. For software engineering specifically, your interviewer typically gives you a coding question, asking you to come up with an algorithm that rearranges this list in a specific way or finds the smallest sum available. You can ask clarifying questions or reread the problem, but eventually you need to start shakily explaining your approach on a whiteboard or shared Google Doc as you reach towards the optimal algorithm. You attempt to read the mind of your interviewer, hoping that the eyebrow raise or the lip purse they just did does not mean that you’re headed in the wrong direction. You explain your thought process behind each line of code, and attempt to justify each decision you make. They can see your every move on the shared screen. This is the classic whiteboard interview.

In preparation, students spend months studying for these interviews, enrolling in academic workshops, drooling over the latest edition of Cracking the Coding Interview and laboring away on Leetcode, the online motherload of coding interview questions. There are even online courses you can take to get up to speed on all the apparent material you need to know — although whether $500 is worth it for resources written by an ex-Google developer is up for debate.

These technical interviews are, at their core, traditional. They’re supposed to show recruiters your problem solving and communication skills. However, a recent study from North Carolina State University showed that these interviews test more for performance anxiety rather than problem solving skills. In a controlled experiment, women were shown to have done better in a typical test setting without an interviewer watching them code on a whiteboard and worse in the traditional whiteboard setting. This setup has led to an exclusion of certain groups (think: minorities) and a bias towards specific job candidates. In addition, these assessments say little about a candidate’s ability to collaborate with others or lead a team.

An alternative? I propose that technical interviews be replaced with projects and presentations, similar to a longer version of a case study. Applicants would either work individually or in groups to design and implement a solution to a prompt over the course of a few days. Then, they would be tasked with thoroughly presenting their solution, ending the interview as the subject of a brief question and answer session. They should also see what other candidates have come up with and be given the opportunity to ask discussion-provoking questions about another solution. While I may not have the experience of a university recruiter, I still think that software developers should have the skills to not only solve problems, but also to present and defend their work while challenging others to think outside the box.

This alternative, while undoubtedly more time-consuming, would give companies a more well-rounded look at the people they are hiring and candidates a more level-playing field. With a more consistent barrier-to-entry for all groups, this could also aid in creating a more diverse work environment, another large issue with our current white and male dominated tech industry.

To be honest, any situation that gives me more time to critically think and less time to make a fool of myself in front of a whiteboard, I am supportive of. But if implemented, this approach at hiring would be a step towards a more holistic recruitment process. All in favor, say “Leetcode!”

 

Jonna Chen is a sophomore in the College of Engineering. She can be reached at jc2627@cornell.edu. jonna.write() runs every other Wednesday this semester.