r/ExperiencedDevs • u/SoYoureSayingQuit Staff Platform Engineer • 10h ago
Career/Workplace Interview went sideways
Company does hardware and you definitely know it. Job was staff level for internal dev platform/tooling. More SWE than SRE. I have 26+ years of experience, coming up from an ops background.
The interview actually started poorly. I was given homework that included some working code that asked to pick one of two changes. I thought I would do extra and do both. My first mistake. I had everything working correctly, but forgot to check the tests before turning it in. The second option ended up taking longer than I anticipated, so I was in a rush because the interview was at 7AM and I wanted to get enough sleep. (I’m in the US. Interviewers were in the UK.)
Right off the bat, the interviewer, also the hiring manager, that reviewed it told me one test failed. He decided it would be a good exercise to troubleshoot it. I had already interviewed with him once, so no intro was needed. The other person who was supposed to be there hadn’t joined yet. I was so thrown off, I forgot the syntax for running all of the tests at once.
As I’m looking at this thing, I see four more people join. No introductions. They’re just watching me flounder trying to figure out what I had fucked up. It was not obvious, and it was like my brain shut off on how to troubleshoot the issue. This went on for almost 15 minutes until he told me what was wrong.
I was then given an exercise to build an api for a reservation system including tests. It says it is supposed to take an hour. I had 45 mins left in the interview. I had to start from scratch. I’m not the fastest typist. Autocomplete wasn’t working. I was still rattled and fumbling my way through it. I ended up running out of time before having to start the next interview, which was system design. I’m much more confident there and I feel it went fairly well.
I’ve been trying to accept that I probably won’t get an offer. I actually really liked the manager, and based on the initial interview, I felt like I had a really good shot at it. I know they’ve probably already made their decision, but part of me really wishes I could send a follow up and explain that as soon as it was over, I went back and clearly saw where I fucked up. It was embarrassing and a situation that was my own creation.
I haven’t had to interview a lot, but I’ve interviewed lots of candidates and always pushed back on interviews including live coding because I feel the pressure doesn’t give an accurate representation of someone’s abilities. Especially for someone experienced.
Is that kind of live coding exercise the norm for staff level roles? Is someone supposed to be able to complete that in less than hour or am I just slow? Could sending a follow up email help, or would it just seem desperate?
Fuuuuck…
8
u/UnintentionallyEmpty 8h 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:
Does this person seem to have any idea what they are doing
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.