home blog reviews contact

2020-02-21

The Only Interview I've Ever Enjoyed

I've done a fair number of interviews since I started programming. Some have led to job offers, some have not. One involved me freezing up and not being able to answer basic CS questions. (I'm sorry to everyone who has ever referred me for a job, because I have butchered every referral I've ever been given to date. All two of them.)

Most are simple whiteboarding interviews. First "Tell us about yourself" (i.e. "We didn't bother to read your résumé"). Followed by "Solve this leetcode medium on the spot, then answer followup questions." Or "Answer this trivia question about data-structures you haven't touched since second-year". (To any Americans reading, "second-year" is what we call the second year of university.)

One interview I did stood out though. Honestly, anything that's not whiteboarding stands out. God I hate interviewing.

First Contact

I got an email, from a dev, saying something like:

Hey I read through your résumé and looked at YASL, and I was quite impressed. We'd like you to come in for an interview.

At the very least, this shows: (a) someone actually qualified to read my résumé has seen it and (b) they also actually read through it. Off to a good start. Low bar, I know, but during my job search I felt like almost everyone didn't meet it.

The Interview, Part I

First, I met with the manager. He talked about their product, tried to sell me on it, while also trying to figure out my qualifications. (I was woefully unqualified for certain parts of the role. The company makes security cameras and I had yet to take a networking class at uni.) I worried a little that I'd blown it, but overall it seemed to be going well.

The Interview, Part II

Second, actual coding. This was talking about my background, in more detail than I'm usually given the chance to, followed by a very standard whiteboarding problem. It was great to get a chance to actually talk about my background. A large chunk of this section was talking about something I'd worked on on my final internship, and some talk about YASL. The whiteboarding was a small piece, relative to normal interviews.

The Interview, Part III

Lastly, I was interviewed by the dev who initially contacted me. We talked in greater depth about the project from my internship, followed by talking about YASL. I love talking about YASL, as should hopefully be the case for a project I've spent so much time on.

He'd clearly both looked into my project, and was familiar with how bytecode interpreters in general should work. This part involved questions like "Why did you include such-and-such feature", "How did you implement such-and-such", etc. Just generally good questions about my project.

This is the part that really made the interview so nice for me. Someone who had clearly looked at my résumé, clicked on my project, and had more to ask my about than standard whiteboarding problems.

After the Interview

I got the tour of the building, went home. A few days later I had an offer from them. I unfortunately ending up turning it down for an offer with much higher pay.

Conclusion

I hate whiteboarding, as I'm sure most candidates do. Actually bothering to look through résumés is a great idea. As is actually asking relevant questions on a candidate's past experience and projects, instead of just making them code on a whiteboard and asking them trivia questions that aren't even right (like when to use a linked list).

I'm obviously aware that interviewers are quite busy, and interviewing me is not their entire job. Reading a candidate's résumé beforehand should not be too high of a bar though. (Obviously the interview I described went above and beyond.)