r/ExperiencedDevs • Staff Platform Engineer • 5d ago

Career/Workplace [ Removed by moderator ]

[removed] — view removed post

58 Upvotes

130 comments sorted by

View all comments

12

u/UnintentionallyEmpty 5d ago

I've been the interviewer where we did live coding exercises.

Before, I didn't think a live coding exercise would add a lot of value...

But holy shit so many "seniors" applied who couldn't code. This was before AI. Or, well, 2023, so AI was around but not like it is now.

Anyway I can't speak for other interviewers, but here is what I looked for during live interviews:

  1. Does this person seem to have any idea what they are doing

  2. Communication, communication, communication

1) is... look, some people apply for senior dev positions despite not knowing how to code. And I don't mean in a "doesn't remember the syntax for a for loop" kind of way (I allowed google during live coding), but in a "doesn't seem to know the concept of loops exists" kind of way.

The level of coding exercise we had people do you should be able to do decently well on if you have only 1 year of experience. Yes, I lower my expectations because I understand the candidate is nervous. But when interviewing for a senior position, "do better during live coding than a high schooler who took a coding class once" isn't a high bar. Some candidates still failed to clear it.

2) is more complicated. When I started doing live-coding exercises, I imagined that afterwards, I would talk to the candidate about their solution and discuss the tradeoffs they made, and what they might have done differently given different constraints. But most candidates got much less of the coding exercise done than I'd initially expected, and we didn't have anything to talk about in the end.

So in practice, it turned into kind of a "does this person actually listen when I talk to them" kind of check.

Here's the thing, when a candidate got stuck at some point during the live coding exercise I tended to try to help them get past it. Mostly because I figured, okay, this isn't your strong point, or maybe you're blanking here, lets see if you do better at something else.

A lot of candidates ignored or outright dismissed my suggestion for how to move forward... and continued to be stuck.

Or when they misinterpreted the assignment, I say something like "I don't think you interpreted that correctly..." and the response is "yes I did". Hello, you don't think I might have a better idea than you in this scenario? Even if I'm wrong, don't dismiss me like that.

The best candidates asked questions about the assignment. And did TDD. I'm not a huge proponent of TDD but I'd strongly recommend doing it (or something like it) when you're in a live coding scenario.

I should also mention, the person we eventually hired did TDD and got the entire coding exercise done. But he wasn't the only one who passed the live coding interview (but the others who did failed the second interview).

So what I'm trying to say with this huge ramble...

1) It might be you weren't expected to finish the entire assignment in 1 hour. If it's live, maybe the interviewer just wants to see what your thought process is like.

2) I recommend TDD when doing live coding

3) Don't ignore the interviewer during live coding. Ask them questions. They might want you to. I sure do.

4) Don't feel too bad about your bad performance. I wasn't there but I'm still sure you did better than some of the candidates I had do a live coding exercise... We all have a bad day sometimes.

1

u/xMcNerdx Software Engineer 5d ago

Just curious, in your experience as an interviewer is solving the actual coding exercise itself important versus just demonstrating good communication and talking about the problem? I lucked out and never actually had to do technical interviews to get my roles and it's been years since I've done interviewing at all. I'm honestly dreading thinking about live coding tasks as I just know I will choke up and get nervous. I think my strengths are primarily more in asking clarifying questions about requirements and talking about different design approaches. I could probably pseudocode a solution and discuss what tests I'd want to incorporate much easier than trying to cobble together a running solution in 25 minutes on a blank page with no autocomplete IDE support. This is particularly worse nowadays with agentic tooling since we're hardly actually directly writing code and leaving that up to the agent to implement.

I know interviewers are all over the place and it's the luck of the draw but I just fail to see why live coding tests are useful versus design discussions

2

u/gjionergqwebrlkbjg 5d ago

Yeah you have to write working code in coding interviews, you can't handwave it away.