Search  
Always will be ready notify the world about expectations as easy as possible: job change page
today

Live-coding interviews: essential or discriminatory?

Live-coding interviews: essential or discriminatory?
Author:
Source:
Views:
48

Coding interviews are hard and sometimes stressful. I recall vividly the interview process I did while interviewing at Google, who are notorious for their intense interviews schedules. I had 6 interviews in one day and a further 3 on another. I was so tired by the end of each day that I was making mistakes and forgetting words. (I was given an offer but declined to take it)

I've been fortunate to have found confidence in what I do, and have (mostly) overcome my performance anxiety. I have my PhD supervisor to thank for that, as he'd run weekly seminars in which we'd all give talks to the group; sometimes about or work, but sometimes on impromptu topics that we hadn't prepared for. I hated it at first, but it helped me realised that I would be fine as long as I knew the subject I was talking about.

Having been through many coding interviews as a candidate, and having both conducted and designed them for recruitment in my own team, the question of how we do technical assessments is often top of mind. Especially after a recent email exchange with a candidate who flat out accused us of discriminatory and anti-diversity hiring practices for wanting to do a live coding exercise. I can see the reasoning here, but it's harder for me to see the solution.

I've experimented with different formats for our technical assessment in the past, such as take-home tests; going over a candidate's past projects with them; live-coding exercises in systems like Coderpad; as well as physical whiteboarding. None of these are ideal, and I'm very aware that some people will find these more challenging than others. For what it's worth, I try to make allowances for the possibility of interview nerves. I've occasionally recommended a further interview (usually different format) if I think that the candidate could do better. While this doesn't undo the challenges or fully level the playing field, nevertheless, I'm proud to say that on two past occasions those candidates who would have been rejected prior to that extra interview were subsequently hired, and found success in their roles.

On the flip side, we also often find candidates who are unambiguously extremely unqualified for the role, despite being able to talk very convincingly about the technology in previous interviews. Often such candidates are unable to complete the first task during a live-coding exercise, and it wasn't because of interview anxiety.

For me, the pros and cons for the different kinds of technical assessment are:

Take-home tests

Pros: Closer to real-world work, and therefore if done correctly, can be a better reflection of a candidates potential on-the-job performance

Cons: Tends to be longer-form, requiring a few hours to complete, and time to review; many candidates will actively decline to do the test if they have other jobs or offers on the table; this can turn out to be the prohibiting factor in doing take-home tests.
Also subject to cheating as we can't be sure who's doing the work (though a live review of the code can help with that).

Live-coding tests

Pros: If given the option to look up stuff on Google or documentation, then this is still a close approximation of real-world work compared with whiteboarding sessions. And gives good insight into how a candidate thinks of solving a particular problem, and is more time-efficient than take-home test.

Cons: Can be subject to interview anxiety. Practical time limitations prevent going into depth and advanced topics.

Whiteboarding

Pros: Can tackle more abstract questions such as architectural design and algorithms without spending a lot of time on the mechanics of integration work.

Cons: Can be subject to interview anxiety. Less representative of real-world work where one might still successfully Google for the solutions.

Reviewing existing project

Pros: Allows diving into a larger project that the candidate has done without taking too much time. Time-efficient for the candidate.

Cons: Requires a project to have been done already with the right scope. Harder to compare performance across candidates as the project will vary. Harder to do by the interviewer.

Similar
Dec 26, 2022
Author: Mahesh Chand
Introduction Do you find yourself not having enough time in a day? Why isn't the work getting done? And why is it taking so long? If these questions sound familiar, you're not alone. Productivity is very important also while working from...
May 31
Author: Robert Henderson
Learn how applicant tracking systems (ATS) work, how they impact your job search, and how to create an ATS-friendly resume that will get you more job interviews. Most companies today, including over 97 percent of Fortune 500 companies, rely on...
May 23
Author: Bhushan Kadam
If you’re a .NET developer, chances are you’ve had to deal with scheduling tasks at some point. Cron jobs are a common way to do this, but they can be tedious to set up and maintain. Enter Hangfire, a powerful...
Nov 24, 2023
Author: Swathi Kashettar
This article offers insights and career guidance on data science and software engineer The tech industry offers a plethora of exciting career opportunities, and two of the most in-demand professions are software engineering and data science. While both roles involve...
Send message
Email
Your name
*Message


© 1999–2024 WebDynamics
1980–... Sergey Drozdov
Area of interests: .NET Framework | .NET Core | C# | ASP.NET | Windows Forms | WPF | HTML5 | CSS3 | jQuery | AJAX | Angular | React | MS SQL Server | Transact-SQL | ADO.NET | Entity Framework | IIS | OOP | OOA | OOD | WCF | WPF | MSMQ | MVC | MVP | MVVM | Design Patterns | Enterprise Architecture | Scrum | Kanban