[null, {"document_url": "http://www.zamiang.com/post/why-i-don-t-do-live-coding-interviews", "unformatted_src": "https://cdn-images-1.medium.com/max/800/1*GDOSI6LiC0GF-cdv7XDLOQ.png", "src": "https://cdn-images-1.medium.com/max/800/1*GDOSI6LiC0GF-cdv7XDLOQ.png", "formatted_filename": "*GDOSI LiC GF cdv XDLOQ"}, null, null]
Why I donât do live coding interviews

Live coding interviews test culture fit under the guise of testing competence.

Iâve always felt a bit of a tenuous relationships with live coding interviews. I love solving challenging problems, I love talking to people about software problems and I love writing code. So, why do live coding interviews feel so gross to me?

Well, curiosity got the best of me recently and I tried a few. While I canât speak for other engineers, I can confidently say that live coding interviews are not a good way to vet my technical abilities or to understand the value I can deliver as a member of an engineering team.

Iâm not a CS grad. But, I have written code professionally for the past 7 years and held a director level position at two different companies. While Iâve taken CS classes at MIT and worked as a researcher there for a few years, I didnât get the interview training a CS grad might. Without that practice and training, I will fail a basic coding interview 100% of the time.

As many people have talked about, there is a skill to coding in front of peopleâââa skill that does not necessarily correlate with skill at building maintainable systems. But, a coding interview is a structured test. Given the right role, could I get good at passing that test so that I nail an interview? Certainly. But, as a professional engineer, when will I have time to âgit gudâ at technical interviews? Even if had time, no one has ever warned me that they are going to give me a coding interview. Itâs a surprise! âA wild coding interview appears!â

Live coding isnât something I expect to do when an engineer asks to âchatâ.

For my last âchatâ, I met a founder and they wanted me to meet the lead engineer. Before the call, the engineer sent me a Google Doc with the text âin case we want to jot down ideas while we chatâ. Turns out that was where we were going to do a coding interview. Wild!

That was an odd case but, usually I get invited to come by an office and âchat with some people on the teamâ. Maybe 70% of the time, I speak with various people on the team about problems and potential solutions. 30% of the time, a wild coding interview appears! âLive coding interviewâ casts some spell where I get put in a tiny conference room while a guy (always a guy) takes notes as I write code with a marker. I lose the battle.

Why not let someone prepare for a live coding interview? On the surface, I understand that you donât want someone to prepare for a coding interview since they could look up common interview questions. But, by not telling people, you run the risk that some people are going to be more prepared than othersâ by chance. Coding interviews are a part of some engineering cultures and not others. That doesnât make one more qualified than the other.

A live coding interview is a test that some candidates have practiced recently while other candidates have not practiced in YEARS. By surprising them, you favor people who have deeply practiced coding interviews in a CS undergrad program, had professional coding interview training at a bootcamp, or interviewed at bazillion companies (maybe they canât hold a job?). If I had a friend at the company, they could give me a heads upâââand then I could prepare. While a âsurprise live coding interviewâ may make sense to some, it does favor CS grads, people âin networkâ and people who canât hold a job. Wild!

Live coding interviews are just as much about culture fit as the rest of the interview

As someone unfamiliar with live coding interviews, it is a space where I know I am being tested, but I donât know what I am being graded on. Assumptions are cultural norms.

Without the grading mechanism stated and agreed upon by all parties, the interviewer can move the goal post. Or, the interviewee may optimize for something the interviewer doesnât care about at all.

When you say âlive coding interviewâ, I hear âwe only hire CS gradsâ.

Here are some of my notes after my last coding interviewâââthey have nothing to do with improving my engineering skills, and are all about improving how I perform in a live coding interview.


Iâm far from a perfect engineer. Iâm excellent at some things and absolutely terrible at others. Want to know what those things are? Talk to people Iâve worked with (or ask me!) but donât pretend you can read between lines of code on a whiteboard.

Much like the SAT when applying for college, live coding is a structured test. I didnât go to a school that trained me to do live coding, and so will probably fail the test. As Iâve experienced it, live coding isnât the meritocratic space that it pretends to be. Live coding interviews weed out the people who are good at live coding interviews. Those people tend to be CS grads. If that is what you are looking for, add that to the job requirements and save everyone time. Please donât pretend live coding is a good way to vet candidates on their technical chops.


Iâve compiled a short list of some alternatives for testing technical competence. They aim to be inclusive of non-CS grads while being easy for an engineering team to implement fairly:

In short, no more live coding interviews for me. For some in depth looks at alternatives, I highly recommend reading this post by Buffer about their engineering hiring process , this one about âProgrammer Moneyballââââand hope that you find one I wrote about my experience hiring engineers at Artsy helpful too.


 
I'm a product engineer based in NYC. I'm passionate about building innovative digital products people love.
