Study data structures, they say. Study algorithms, they say. Know a little about testing your code, they say. But what about the things that actually matter?
The interview process is such an odd thing in the computing industry. Companies test us on our ability to manipulate linked lists and graphs, but in a context so separate from what the job actually entails. I'm actually lucky in the sense that I've only ever had one typical technical interview- as in, an interview that follows this nonsensical style. I was recruited for a site reliability role during this past summer, and even though I'm set in my plan to start grad school next Fall, I decided to entertain the idea of getting a big girl job for the experience of interviewing in itself.
Note: both of my internships were research roles, so the interviews were vastly different.
The process was so strange to me. I followed all the steps I advise others on following (because for some reason I help the lowerclassmen with mock interviews even though I'm v unqualified), and I studied data structures and their algorithms, and even threw in a little Linux environment studying since it was a site reliability role. No matter how hard I had studied, I think all of the interviews still would have sucked. I coded fine, but the process was so unattached. I never felt like my actual ability was being tested, rather they were testing my data structure familiarity. Beyond that, what bothered me even more was that it wasn't until my third set of interviews that I was asked my interests, or how I think I could fit in with the company.
I don't think it should be like this. I feel like good fits for companies fall through the cracks way too easily, and unenthralled and unpassionate make it through, seamlessly, way to easily. Though, I feel like this is a bit hard to accomplish, due to the interviewing difficulties faced by both sides.
From a company standpoint, I feel like it is easy to want to weed out the bad, the good, even the great, all to be left with the exceptional, and then focus on fit. In theory, this accomplishes everything they could wish for: intelligent employees that mesh well together. However, this is easier said than done. There's no easy way to test for intelligence in the short time span of 30-45 minutes. However, testing algorithm and data structure knowledge is 100% not the way to go. When does that actually come up in a real world scenario, where you must rely on your knowledge of Cracking the Coding Interview? Not often.
On the interviewee side, I feel like the difficulties increase greatly. At least for me, I have to focus on remaining calm (#anxiety), not getting caught up on irrelvant things (#anxiety), trying to be charismatic, trying to be my #1 advocator without coming off cocky, and on top of all that, I have to focus on which algorithm is the most efficient to solve some stupid data structures problem. I would much rather be given the floor to talk about my favorite project, where I can effortlessly act like myself because I can talk about my passions whilst also giving the interviewer all they need to determine my capabilities and potential.
My group's proposed interview process addresses all of these concerns. Companies are able to ethically, efficiently, and emotionally decide if a candidate is right for a role, and if the company is right for the candidate (since it really is a two-way street). My favorite part about our proposal is the technical interview questions. Instead of focusing on testing how good the candidate is at studying for an interview, we instead test their capabilities and fit by assessing their interest in the company, their favorite side projects, all after making sure they know the basics. I think this makes it hard for good fits to fall through the cracks, because it is a very transparent process. I also think it will make it hard for bad fits to make it through without question, because it will become apparent in the choose-your-own-adventure that they are unqualified. Overall, I'm pretty satisfied with what we came up with. I think it is impossible to create the absolute perfect interview process, but I think we did a good job.
Our artifact is hosted on Harrison's blog here.