JS Party – Episode #239

Tech job interview support group

featuring Amal, Nick & Amelia

All Episodes

Struggling through the tech job interview process? We feel you! On this episode, Amal, Nick & Amelia get together to discuss the various ways the interview process disappoints, share their own interview stories, and suggest ways we can improve the process for everyone.

Featuring

Sponsors

SentryWorking code means happy customers. That’s exactly why teams choose Sentry. From error tracking to performance monitoring, Sentry helps teams see what actually matters, resolve problems quicker, and learn continuously about their applications - from the frontend to the backend. Use the code PARTYTIME and get the team plan free for three months.

Vercel – Vercel combines the best developer experience with an obsessive focus on end-user performance. Our platform enables frontend teams to do their best work. Unlock a better frontend workflow today.

Fly.io – Deploy your apps and databases close to your users. In minutes you can run your Ruby, Go, Node, Deno, Python, or Elixir app (and databases!) all over the world. No ops required. Learn more at fly.io/changelog and check out the speedrun in their docs.

HasuraCreate dynamic high-performance GraphQL & REST APIs from your database(s) in minutes with granular authorization and caching baked in. All without touching your underlying database. Go from data to API in minutes. Get started for free at hasura.io/jsparty

Notes & Links

📝 Edit Notes

Chapters

1 00:00 Opener
2 00:57 Sponsor: Sentry
3 01:51 Intro
4 02:35 Hello, friends!
5 03:28 Defining the problem
6 08:41 99 problems
7 17:59 Tooling might help
8 19:41 Sponsor: Vercel
9 22:59 Amelia's first interview
10 24:57 A big interview smell
11 26:21 Two-way streets
12 28:10 Nick's "not fun" experience
13 31:01 Interview vs job mismatch
14 35:52 Amal's recent job hunt
15 41:38 Sponsor: Fly.io
16 43:32 Sponsor: Hasura
17 45:33 Nick the interviewER
18 50:51 Amelia the interviewER
19 52:36 PR review as a tool
20 57:10 Nick on empathy
21 59:30 Amelia on taking it slow
22 1:00:27 Amal on gatekeeping
23 1:02:04 Amal on humanity
24 1:02:54 Goodbye!
25 1:03:21 Outro

Transcript

📝 Edit Transcript

Changelog

Play the audio to listen along while you enjoy the transcript. 🎧

Hello, JS Party listeners. We are excited to be talking about a hot topic today. I am joined by my lovely co-panelists… Amelia Wattenberger, hello.

And Nick Nisi, the one and only, legendary… I’m excited for all the quotable things that you’re gonna say in this show, Nick…

Oh, no…

All the smart one-liners. It’s like, Amelia and Amal take like 95% of the show; the outro/intro takes another 2%-3%, and 1% is left for Nick Nisi. 1.5%, or something… [laughs]

I’m sure everything will haunt me at future tech interviews…

No, no… And that 1% is gonna be GOLD. It’s gonna be the reason why you listen to the whole show, it’s gonna be because Nick said that one thing. Anyways, so Nick, Amelia, welcome. It’s been a hot minute since I’ve been on a show with both of you… It’s really nice… And what we’re gonna be talking about today is the bane of all of our existence… It’s the thing that we fear, it’s the thing that we somehow continue to keep subjecting ourselves to… It’s the unfair standard we’ve set, the standard that you were never consulted on, and neither was I, by the way… There was never any committee of software engineers that said “This is a good idea. Let’s do this.” Everybody thinks it’s a bad idea.

Are you talking about JavaScript?

[03:56] No, no, I’m talking about tech interviews. So that’s the topic. We are gonna be talking about the good, the bad, the ugly, we’re gonna share our thoughts on why they’re bad, and we’re gonna talk about our experiences, which are very varied on this panel… And then also what we think we can do to make it better. Like, what would a perfect world look like.

We have three packed segments, so without further ado, let’s get into it, y’all. What sucks? Why they broken? Please explain, in little English, please… Little person English. Why is it bad?

I can start by saying my experience with interviews, which is probably not the same experience as most people in the tech space… So I’m coming from – I’ve done two or three interviews in the past six years, and they were for startups, or agencies, or… One was at GitHub, where I am now… So I can talk about what was good or bad there… Or I’ve also heard a lot of horror stories of people who are interviewing. But that’s where I’m coming from.

Yeah. How about you, Nick? Where are you coming from?

I am coming from only really having gone through one interview since 2013… But I’ve been on the other side, interviewing folks for a while. Not recently, I guess, but yeah. That’s kind of a different perspective, I guess.

Yeah, I mean… For me, I think maybe it would be also helpful to set the tone for the audience, just so we’re not making any assumptions… What would you say is a tech interview, and what does it typically look like from company to company? Can you both just kind of give us a very broad strokes on that?

Yeah, yeah. So since we’re on the JS Party podcast, I guess I assume that we’re gonna talk about any interview that a developer takes to get a job where they write code.

You got it.

Which is pretty broad…

Pretty broad.

And then that’s anywhere from, you know, startups, to big companies, or FAANG…

FAANG has its own hazing process. Its own fraternity of terror… But anyways, I’m sorry.

Yeah, this is where I keep hearing these horror stories from… Because for me - I’ve never had to do a LeetCode interview. I remember my first interview ever, I had to –

And you work at GitHub, right? It’s like, hey-hey…

It was really nice, that interview process.

Mm-hm. You can make it and work at great companies and avoid this, depending on the company that you select, and the role that you’re in, yeah.

Absolutely. Nick, is that kind of what you’re thinking for tech interviews, or where did your head go?

Yeah… There’s a lot of pieces to an interview, and I feel like I’ve probably had more interviews – I have had more interviews than just the one, but I’ve had much less focus on specifically, like you said, LeetCode things, or whiteboarding code, and all of that… So when we’re actually doing interviews, we’re trying to break it up between “Do you work as advertised?” meaning like “Do you know enough that you’re advertising to succeed at this job?”, but also a team fit. “Would you fit in with this team?” General questions around that. So I think that there’s kind of like a split between those two probably, right?

That’s a good point, yeah. There is the actual tech – so I think there’s like umbrella tech interview, and the tech interview overall is the steps and hoops that we need to jump through. That is not limited typically to just your technical skills. There’s a cultural portion, business fit portion, depending on your level of leadership portion, depending on your role, a writing portion… Right? There’s a whole bunch of portions. Even like a portfolio review could be part of your job interview process… It’s like a whole bunch of portions. I’d consider it like a family of Lego blocks, which can be put together in any combination and permutation… And then it’s like N number of complexity in terms of like the ceiling. These interviews can be as complex as possible, they can be as Lo-Fi as possible, they can be really complex in some areas, and easy-peasy in other areas.

[08:13] And also, your own skills and your own experience brings its own layer and color to that, right? Because you yourself have your own strengths and weaknesses, and you have your own cryptonites…

It’s kind of really stressful, but like humbling experience… I think for me, being on both sides of that, as an interviewer and as an interviewee, it’s very interesting.

So now that we’ve defined it, can you kind of share your thoughts on what do we think is kind of the smell here, that is the reason why everyone kind of clenches a little every time they think about interviewing? People stay in jobs and don’t quit because they’re like “Well, I don’t have the emotional or mental energy or bandwidth to study, or capacity to prep and do all the stuff that I need to do, so I’m gonna just stay and prolong my misery here”, right?

And then we’re doing this to experienced engineers, we’re doing this to parents, we’re doing this to people who have a full life outside of work… And that sucks, right? It sucks that that burden is usually something that you have to bear, and even bearing the burden is a privilege, you know…?

Yeah… I think you’re touching on something there, in that the interview process, depending on if it’s done like that, where it’s really going to be that clenching, “I’m so scared for this, and so I’m just not going to do it” feeling - in my opinion, it doesn’t reflect on you as a competent –

Future employer?

…prospective employee.

Oh yeah, yeah. Right.

Exactly. The people who excel at that - all the power to them, but that’s a skill that is different than actually getting work done, and being part of a team, being a good part of a team… And that kind of interview process just doesn’t make that part shine through at all… So you’re not really testing for what you really want, and that is a good thing to be aware of, because on the job secret perspective you can weed those out.

To play devil’s advocate a little, I think the tension is gonna be - at smaller companies you get a handful of applicants, and you can talk to them personally, and you can spend an hour with each one. But then as you get to larger companies… Like, Google has hundreds of applicants for each role, and then how do you scale up something where you can bring the humanity to a dev interview, versus like – you can’t do an hour for hundreds of people. That’s just gonna take more time than the entire application process.

Yeah.

I guess that’s what scares me about applying for jobs at bigger companies, because I’ve mostly worked at startups. It’s like, you don’t know until you’re in the process whether it’s gonna be a good process or a bad process… So even applying for jobs, or even being invited to apply for jobs… It’s a scary, scary thing.

It’s always a scary proposition, yeah. It’s always like, you never know what to expect on the other side. And there’s no guarantee that if every single person has a great experience, you’re going to either. Like, you could just also be the one woman of color candidate that’s interviewed for the role, and you’re getting some bias thrown your way because of it, and therefore getting harder, more curveball, less room for error… Everybody else can pass at this standard, but you have to pass at this other standard, like the invisible standard that we set for people that are different.

[11:51] Real talk, there’s a lot of things at play here, including how old you look. That’s been coming up with a few of my friends lately, where people are feeling – or people in my circle… You know, “Oh, I’ve gotta dye my hair before this job interview, and I’ve gotta make sure I look good on camera, because I don’t wanna get discriminated against because of looking older”, you know? I was like, “What the hell? What planet are we living in?” You are worth your weight in gold as an experienced software engineer, and do not let anyone ever tell you otherwise.

To be very clear, if you have managed to keep up with your skills and stay in this industry for 10+ years, 15+ years, 20+ years, however many plus years, or even if you’ve joined later in life and you’re older, you still bring a lot of soft skills to the table, and that’s super-important for teams. We need that diversity in some many layers. Age is just one of them. It’s an important one. And part of the cultural problems that we have, that are systemic to us, actually start with our interview process being so self-selecting.

For me, our interview process is catering to young, white dudes that are straight out of comp-sci programs. Period. And who maybe have no life outside of being able to practice mindlessly on these silly algorithm questions, brain teaser questions… And that’s just not realistic for most people who have a job, a life, who’ve been out of school for a number of years, who are working across the stack on different types of problems. I don’t think someone that’s working on design systems, or someone that’s working on CSS and HTML - they’re solving equally complex problems, just different parts of the spectrum.

This design systems engineer isn’t going to be thinking about algorithmic complexity. It’s not their job. Again, it’s also catering more to backend. Really backend-heavy distributed data, heavy architectures. So that’s another way I think it’s – like, how are you asking everyone to rise to the same bar? It makes no sense. Anyways… That was like my first rant. This won’t be the last… I’m curious to hear from you, Nick and Amelia.

I’d love to hear - and this is also interesting to think about, because my parents are both programmers… You know, back in the day my dad taught himself –

My mom has a comp-sci degree, yeah…

They had business degrees, but my dad taught himself Fortran from a book. Like, not on a computer… Which is like – this is not my experience at all. [laughs] I feel like my job is so much easier than that. But seeing them being discriminated against as they got older… And I feel like there’s a lot of initiatives these days. So do you all think that things are getting better for being more fair for diverse hires, or as people who are out there running interview processes, what are things that have been done recently, and are they working?

I hope so…

Me too… [laughter]

I think that everything kind of being more remote-first, in terms of maybe just the interview process, or at least the interview process - that opens doors up a lot. My first interview for a remote-only job was on Skype, in 2013. It was a very different time, but no one turned on their video, and there was no expectation of ever being on video, which is very different than today. But it was easier to jump into that and just kind of get on a call and talk.

So you’re advocating for video-less interviews…

Yeah, I believe so. [laughter]

[15:42] Really? Oh, that’s interesting. That’s a hot take. I think what’s gotten better is our acknowledgment of the problem, but I don’t think anyone – I’ve been at companies where they’ve tried to offer different types of interviews… Like, they give the candidate a few different options, which I think is great. I’ve seen companies that give people take-home options, I’ve seen people also give people take-home options that are paid gigs, where they’re like “We’re gonna pay you to do your interview actually, because we acknowledge that this is time–” You know… There’s definitely ways people try their best, but the reality is interviewing is a skill, and even the best of interviews can be gamed, to some degree. So you never really know what you’re getting with a candidate until they land anyway… And even then, like if a candidate isn’t happy, or they hate their job, they’re not even gonna be performing well. So you do need to give it 6-8 months, ideally a year, for an engineer to really adequately judge them.

And should we be focusing more on cultural fits, and should we have more of like an institutional thing as an industry, that’s like “Yeah, in your first three months you can leave”, or they can let you go without any feelings hurt… But that means the cost of that though is you can bypass having to do technical interviews, based on your recent experience, your portfolio, whatever… “Your ability to have stayed employed as a software engineer for a number of years - we’re gonna trust that you know how to do this very similar job.” Because if there’s such a hiring crisis, it’s just like – you have to learn everything for your job, at your job, anyway. Even if the stacks are 100% the same, the business logic is never a hundred percent. Every company is its own snowflake in terms of software, so everyone has to go through that same thing where they’re learning everything anyway… So just putting it out there.

Yeah. I like that as an idea. I really like that. Don’t stress about the interview, just come work, and we’ll pay you, and it’s kind of a trial run…

Trial by fire.

Yeah, yeah. I was thinking kind of along a similar vein with that would be the tooling now has gotten so much easier to help facilitate and make things as easy as possible, or at least help to focus things as much as possible… Because I know that past tech projects that I’ve done as part of the interview process, whether it was live, or a take-home project, or anything like that - a significant portion of that is set up with some kind of stack, and get going. And tools have gotten a lot easier; specifically, I’m thinking of things like GitHub Codespaces, where as part of that, they could hand you a completely fleshed out environment, and then you go from there, and you don’t have to worry about the startup, or anything like that. You’ve got an environment, you’ve got a way to run the tests right away… Things like that, which is really nice.

Hot damn, bring me that future. That sounds amazing. So we’re gonna get into so much in the next couple of segments, so we’re gonna take a quick break, but we’re excited to come back and share our personal experiences. We have some fun stories to tell, without dishing too much dirt… So during the break we’re gonna have to come up with our secret pack for how do we not accidentally give out employer names…

Anyways, we’re also gonna talk about more of the future and what we wanna fix, so stay tuned for all this and more. We’ll be right back…

So what is it like interviewing, and being an interviewer? I think we wanna dig into that, and kind of dig into more personal anecdotes about what that is… But as Amal said, not throwing –

We throw shade, but not in a direction which you can see, you know?

[laughs] Trying not to get on any no-hire lists in the future.

Yes, indeed. That. Definitely that. So how do we stay out of that no-hire zone…? [laughter]

I can talk about my first interview, which was like a decade ago, but this is the closest to LeetCoding that I’ve done, which maybe tracks with other people, because when you’re just answering, they really wanna know “Do you know anything? Like, you haven’t had a coding job before.” So it was actually really weird… I was working in a research lab at the time, and I did an internship, and I was gonna go with that company, but then I was like “Why don’t I do one interview at one place?” And then they would ask me to come into the office, I would go into the office, we’d just kind of talk for an hour, and then I’d leave… And this would happen every other week. Each time, I was like “Oh, I haven’t heard from them, so it’s probably not gonna go anywhere.”

And then one of the last interviews was like - they had this app that they used, and they were like “You have to log on”, and then it’ll ask you questions, like a quiz type thing, but it’s timed… And the quiz questions were like what you do at the DMV, but worse. They were like “Did this CSS property come out in CSS 3? What version of CSS did border radius come out in?” It’s like, I have absolutely no idea.

[24:10] Oh, my God, are you kidding me? How is that part of your job?

Why would you need to know that?

It’s not–

Oh yeah, and “What was the name of the president of ECMA at the time that that property was introduced - what was the name of his brother’s cousin, who went to that wedding…?”

What was the make and model of his car…? [laughter]

Yes. What’s his favorite street? What’s his favorite kind of music?

I know… You feel bad, because it was a startup, and they needed a developer, and they were like “We’ve heard good things about this company. Let’s just use them”, and they have no idea whether it’s good, or whether it’s bad…

Oh, gosh…

Apparently, I did well, but it just felt so out of what you would need to know as a developer.

Out of touch?

Yeah, but that’s a common theme. I’ve seen this, where people walk into – first of all, there’s that spam bot recruiter that’s switching out job descriptions, and is like “Must know Java, and JavaScript…” You know what I mean? It’s like, the job descriptions are out of whack sometimes, but then you have – once you get there… Sometimes people are just put in the wrong funnel, or they’re asking the wrong sets of questions. It’s like, “I’m coming in for a frontend role. Why are you asking me about all this backend stuff? I didn’t realize it was gonna be part of my interview process.” Or “I’m a backend person. Why are you asking me all this frontend stuff? I didn’t realize it was gonna be part of my interview process. I’m interviewing for a backend role.” It’s like, come on… There’s just laziness on the side of the companies, the recruitment team, and the hiring committee internally. It’s just laziness all around, right?

And these are the things that you as an interviewee should be looking for when going through it, because you’re trying to make a – you’re evaluating them the same as they’re evaluating you…

Absolutely.

And if they don’t put in the work to – you know, they’re giving you backend questions when you came in to sling some JavaScript, maybe they don’t value the frontend as much, and you probably don’t wanna be there.

Exactly. I would call that a smell… An interview smell… And absolutely, thank you for bringing up that point, Nick. It’s a two-way street, especially in today’s market… And I’m saying this for junior engineers as well, by the way - do not subjugate yourselves to abuse just to get your first job. It might take you a little longer, but you are appreciated, you are needed, people are hiring you; you just kind of have to be a little more hungry, that’s all. So search is gonna be a little longer, especially with where things are in the startup market right now. We’re recording this August 11th, 2020, so… 2022, sorry. This is not a time-warp…

Wait a minute… [laughs]

What days is this…?!

Where am I?!

What’s going on?! I had Fred Schott on this show last week, we were talking about Astro… Great episode, go listen to it. And we were also in a time warp; it was pretty fire. We were talking about the future and the past, and the past and the future, so… I don’t know, it was just… Yeah. Because the new Astro release, as of today, just dropped two days ago, but then we were pretending like last week was tomorrow… Anyways, sorry. Date/time tangent. Back to interviews. So Nick, it’s a two-way street, right?

Mm-hm.

And yeah, so what have been some mind-boggling experiences for you as an interviewer – interviewee… Okay, interviewer/interviewee - I’m so confused now. Which one is which? [laughs] The person who is being interviewed is a…

Interviewee.

Interviewee. And the person interviewing – okay. Okay.

That’s what I think.

[28:00] Okay, that’s what we’re sticking with. We’ve calibrated. We are on the same page, that’s all that matters. Consistency, not being right. So what are some crazy experiences that you’ve had as an interviewee? Because we’re gonna talk about being an interviewer next, but not now. Hold those thoughts.

I don’t have a lot of experience, as I mentioned, interviewing, or being the interviewee…

Oh yeah, can we talk about that though, Nick? Because you are a seasoned pro, dude. You’ve been in the game a long time. So how have you – tell people, what are your secrets? How have you managed to… Have you just been working at one place the whole time? Nick’s like, “I actually work for my dad, and we work out of his basement…” [laughter]

How’d you know?!

When you listen to the greatful debt all day it’s like so cool! He’s like the best office mate ever… No? Okay.

I’ve been in the industry about 13 years, I think… Yeah, 13 years. And the longest time I worked at a single place was seven years. I kind of left for three months in between, and then just came back within three months, so… I think I’d just count that as one, working there for seven straight years.

Of course.

But anyway, I have moved around and I’ve done plenty of chats with companies, but they’ve all been what I would classify as kind of informal, where I’m just – you know, it’s much more of a team-fit thing, and not a deep technical interview. And the team-fit thing is easier for me, because I guess I like to talk about JavaScript, and stuff… So that becomes easier, but the one really hard tech interview that I did, that I didn’t do very well at, was for a FAANG, and…

A FAANG… It was in the name. It was all in the name. We should have known… Watch out, yeah.

Yeah.

Alright, so how did that go?

They asked me a couple of questions over the phone, to pass some baseline, and then I did like an interview online, with someone watching me and asking me questions, and I typed into a shared notepad thing. I passed that. I went to the headquarters and did a series of interviews, all in one day, and I think that I kind of just ruined myself in the very first one, where they were asking me kind of like what Amelia was saying; some very specific CSS questions that are not really what I need to know to write CSS. They’re like this, and I was like “Well, I’d probably just google caniuse, and see”, things like that.

And then they were like “How would you make all of these divs the same height across everything?” And I’m like “I know it would be Flexbox, but I would need to pull up the Chris Coyier CSS-Tricks Flexbox guide to tell you exactly which one… Because why would I need to memorize that?” And I don’t have that when I’m at a whiteboard, so that was not fun.

Yeah… I mean, the whole experience of also just being out of your element… Like, not using your IDE, not using your tools, your hotkeys, your keyboard… So much is –

My Copilot…

All of that. I’m just saying, it’s rough, you know?

The Copilot one is actually a big question, of like if you use it day to day, can you use it in an interview? Because that’s how you would be coding at your job.

Yeah, that’s a really good point. I mean, honestly, I would want to judge a candidate on their ability to get stuff done; how is for me much less interesting. And I’m saying this as an engineering leader… Like, I’m just, you know, now managing engineers.

I think the themes are for me - so far we’re seeing a lot of not being asked questions relevant to your job, not working under realistic circumstances… It’s a superficial, artificial constraint, and artificial environment. You would never actually work this way.

[31:58] I wonder, is the art of interviewing just to see how well a candidate also does under stress? Because really, it’s quite a stressful experience all around. And I think, from my understanding, part of the reason why the bar is as high as it is for FAANG is it’s a self-selecting process. It’s very much self-selecting. And they want people of that caliber who are going to grind.

It’s so funny, at Google there’s this thing that’s like, for every person at Google there’s seven people, any random seven other googlers that they interviewed with, that they wouldn’t get the job. There’s definitely a luck factor. A lot of googlers have interviewed two, three times before they get a job. It’s very common to not get in your first time, and get in your second, perhaps, maybe even your third… So this idea of also just like this mythical person that just shows up and knows it all, and just zooms through interviews, is kind of also – it’s like a fake person. This person doesn’t exist. There’s always some permutation of any hiring committee where that person would just not get that job. So yeah, it’s a little wild…

Yeah. But also, the folks at those companies, just like at every company, there’s folks working on really hard, groundbreaking stuff, but you might also just go through that interview to center the same div that you do at any other place.

So is it worth all of that stress? Maybe… The paychecks can be bigger, for sure.

Yeah. I mean, honestly, having experienced big tech, and not enjoyed it, I can say that it’s a grueling experience, especially in senior roles… Depending on your project. It can be worse or mild. But it’s never a coast… Rarely, if you’re operating at senior levels, to be clear, for the most part.

So I do see how in that case in particular sometimes the interview process can be reflective of the internal culture, in terms of competitiveness and whatever else… Because I think for me that was the biggest shock, was the level of competitiveness. It’s kind of crazy, and that’s actually most of it. I think most of the tension comes from competitiveness and people trying to outcompete each other… Especially in places where they have stack ranking, like Amazon, Stripe, or - Microsoft used to; supposedly doesn’t anymore… But I think it’s still very Game of Thrones at Microsoft in terms of perf cycles. Same thing with Google.

And what’s tough with Google is the nominations for promotions have to come from your peers. Imagine having to be the one to have to advocate for yourself to get a promotion, while all these other people are also trying to do the same. The kind of head games that my friends at Google have had to go through in order to get promoted - it’s ridiculous.

I had a really close friend of mine just leave the Cambridge office this year. He had been there for 6,5 years, and always exceeded expectations and never got his perf cycle, and he just left. I’m like “Man, you were 4,5 years more patient than I would have been, I can tell you that.” But yeah. So it is very competitive to move up. And then depending on the project and the team that you’re on, it’s very Game of Thronesy. I definitely had some first-hand experience with that recently, so…

That just sounds awful.

It is, yeah. I mean, it was for me. It was a pretty not-so-awesome experience. But happy to be out, and happy to have surpassed that experience, I would say… And I’m making a conscious decision to never ever subject myself to it again either. I’m only gonna work places where there’s high levels of collaboration, because that’s what I do best.

You went through a big job search recently, right? And I think you interviewed at a bunch of places.

[35:56] Were none of those competitive like this, or were they good interviews?

For me, my experiences – like, my job searches are very targeted… Like, I’m being poached for a role, or I very intentionally wanna go to a place, and go to that specific job. And this past round was very interesting for me, because I actually really focused on one particular place, which is the place that I landed. And along the way, people got word of “Oh my God, you’re open?” Before you knew it, I was also interviewing at 3-4 other places at the same time. And I was like, “How did this happen? Dang it!”

Luckily, I did take some time off. I took a couple months off to interview, and reset and take some time… So that was really good. But that was the only way I was able to do that, because normally it’s just I’m being poached, and that just doesn’t happen. So it was really interesting for me to go through that experience recently and also to realize even just as an experienced engineer how nervous I was before some interviews, and how much self-doubt I had occasionally… And granted, I had an offer from pretty much every single place, minus one place, which - by the way, I should have dropped out of that interview. I was more curious about the company than I was about the job… And by the time my interview got scheduled, I already had three offers, so I went into my first round like “Uhh, I should have canceled this, but I didn’t get a chance to email the recruiter.” And I’m sure my lack of interested was received on that side, and they were like “Oh no, sorry.” I’m like, “You know what - I’m sorry, because I wasted my time. I shouldn’t have done that interview.”

But I pretty much had straight offers, really solid offers, and I ended up going with the company that I was originally targeting… And then I was pretty unhappy there, and really stressed out, actually… It was like a pretty competitive place to work, and be, and… Yeah, it just didn’t jive well for me. And I had a health incident as well, so I just took a little bit of time off and I am somewhere that I’m really happy now, and it was one of the companies that I had an offer with originally… So that’s where I am.

But I think for me just having recently gone through all this, I have just so much empathy and disdain for the whole process, even though I for the most part had a pleasant experience in my interviews, and I interview well… But I was still nervous and still doubted myself, and still went through the whole “Should I even be in this industry? What am I even doing?”, all of that.

I’m curious, where there any signals that you could have picked up on the interviews that could have led to you being like “Maybe this job isn’t a good fit?”

Oh yeah, a hundred percent. I think for me it would have been doing a bit more research about what the work-life balance was within the company… I think work-life balance is kind of like an open secret thing there. Things move extremely fast, and there’s competition, and stack drinking, and work-life balance is kind of something that is a privilege for a few people, depending on their teams. So it’s like Amazon, very much like patchwork, depending on the team, but more skewed towards the norm being…

So had I done a little bit more research and also just looked at like “Okay, what’s the percentage of people that I’m working with that have families, that have kids, and have lives?” Because I think for me that’s gonna be an important litmus moving forward. That number was about a third, I think, at that company, which I thought was really high. I shared that number with a lot of pride. And then when I told that to another friend of mine, she was like “What?!” And she’s not someone who’s in tech. “A third is so low!” I was like, “Oh, okay… I thought a third was great.” But yeah, to be honest with you, most people in our industry, at the upper levels, and in really competitive places - yeah, not everybody’s getting married or having kids. So yeah, that’s a sign…

But anyways, this is my personal experience. People literally could have had a complete opposite experience, or opinions. This is my personal one. I have the right to have it. So yeah…

[40:33] That’s interesting too, because I feel like of the different interviews I’ve had, a lot of them give me that feeling of like “What am I doing here? Do I really know anything? I didn’t know that question, I feel like an idiot.” And then some of them made me feel very qualified for the role. I would sit down and talk to my interviewers and just have a conversation, and it would be fun, and they’d actually listen to me about things I’ve done in the past, and it was almost like a therapy session sometimes, where you come out feeling really good.

That’s a really good point. Well, we’re gonna talk about that next. We’re gonna talk about what it’s gonna take to be creating a better experience where you’re on the other side of that. So we’ll get into that in our next segment. Lots to discuss… And yeah, I had only two rants so far. This is great. I’m doing great, y’all. This is great.

There’s so much to discuss and unpack here… We’re gonna try to switch this navigational direction of this conversation to be more positive, hopefully anyways… So I’d love to hear about your experiences - and I’ll share mine as well - being on the other side of that interview, where you’re the one interviewing. I’m curious what are some experiences - you know, good, bad and ugly; you can share the bad stuff, too. We have to keep it a little spicy, y’all. Come on. But I’m curious to hear about that, and I’m also curious about what have your past or present companies done to make that experience better, so that you are being a more inclusive and engaged interviewer.

I can go first, with a past experience that I’ve had interviewing with a company… Like, interviewing –

[laughs] I know… Which side are we on, again…?

I don’t wanna go into the details of that again… [laughs]

Yeah, I get it. Being the–

The interviewer.

Yes, thank you.

There was a lot of things that they did right, I think… And it kind of started with just getting buy-in and accepting feedback from current employees who wanted to be involved in the interview process, and wanted to help shape the company. No one’s opinion was invalid, or less than any others. They were all taken into consideration to kind of help that, and it was constantly evolving too, as we were kind of getting better about it.

But it would start off with some simple questions, and it was mostly like “Tell us a little bit about yourself, tell us about your experiences”, and it was kind of a written thing. And there was a few technical things sprinkled in there, but it wasn’t “What was Brendan Eich’s cousin’s cat’s name?” or anything like that. It was specific around–

I think it was Brendan’s cat’s sister’s cousin’s husband brother’s…

You didn’t have to know any of that, which was good.

…friend!

Like, that gave us an idea, but from there, you were pretty much guaranteed to go into a straight kind of take-home question… And we did kind of try and set a time limit on it, which we were always flexible about… But it was kind of a three-hour thing, and that was mostly for us to not make anything that wasn’t super-solvable in three hours. Like, three hours was very generous.

Three hours…

So it was literally like “Define one function, that did one thing.” So pretty straightforward.

We’d have you do that, and then assuming you passed that - and we were looking at things like just general code quality. If it ran, that was a good thing, but if it didn’t, how far did you get? You wouldn’t necessarily be disqualified from that. Then you would go on to a half-hour - and it was capped at a half hour - of another kind of technical question, where we were… We were using JSFiddle back then, because you could do collaboration, and do that in there… But it was just a half-hour “Here’s a problem. Let’s solve it, and while you’re solving it, specifically verbalize your thought process. So tell me what you’re thinking, tell me all of that”, but also “Do you wanna use Google? You’re gonna use Google when you’re doing your job. We totally get it. Just not even a problem. Just let us know what you’re googling, what you’re thinking, the thought process as you’re going, so we kind of get that mindset.”

[48:37] And then from there, it was just another half hour with different team members, and they were just asking you more kind of team-fit, culture questions. I’m trying to remember any specific ones, but they were kind of like “Describe things that you did well, problems that you had, that you overcame…” More like that. How you work well with a team… Sometimes it would get into details on like – if we really saw you were proficient with Git or something, we’d be asking you questions and kind of taking notes on that…

But that was really it, and I felt that it gave us a good idea of what a person was like, without making them spend hours and hours specifically on a call with us. They might have spent a lot of time preparing and such, but we really tried to respect their time and boil it down to as little as we felt we needed to make an evaluation… Also kind of knowing that when they hire on, it’s kind of a probationary period almost in the beginning to kind of get a feel for them as well. We were very open about that as well.

Yeah. Nice. As you should be, right? That’s your prerogative as a company, to maintain your risk, and you wanna be able to say “Okay, look, I’m willing to take a chance on how I interview you, or the rigor that I will put you through before you have the job, with the caveat that hey, you’re somewhat under some trial…” And it’s a two-way street, right? It can be a two-way street, it doesn’t have to be one-way. So yeah, it seems really fair, and it seems like a really nice, humane process, that’s like really inclusive.

I think that’s the other big thing, is the process inclusive to people with lots of different constraints? So like how do you gauge their deep work from all this other stuff. And the thing is this is an evaluation; that’s the other keyword that you’ve used. It’s an evaluation, it’s not a condemnation for your skills and capabilities as a person, it’s not a judgment on who you are as a human being, and your talent, and your potential… It is just an evaluation for how you did in this specific set of hurdles. Timed, and artificial hurdles, right?

Yeah. We’re very open about the artificiality of it.

[laughs] That’s cool. That’s super cool. How about you, Amelia? What have been some experiences on your end being the interviewer?

Okay, as an interviewer… I’m trying to think. I’ve had several different experiences at different companies, and I think one theme is the less process there is, the better. At bigger companies they have specific interviews they want you to go through, and sometimes they can feel very awkward. I’ve had like a script; you have to ask these ten questions, and then you grade them for each question… And it’s nice, because then you can compare this person and that person. Like, this person got a 7, this person got an 8. This person wins. But I don’t know… It kind of takes the humanity out of it, and you don’t really get a good sense if you’re forcing yourself to ask specific questions.

I think the best interviews I’ve had are when you’re just sitting - kind of like what Nick was talking about - talking about “What’s your thought process?” And then I’m like a really big fan of take-homes, that aren’t too long, because people also don’t like them because if someone has kids, they might not be as able to spend a few hours doing something for some job they don’t even work at…

[52:06] But you get to see the end process. You’re not sitting there, watching them code, which doesn’t happen at work, so why would you test for it?

Totally.

So it’s really nice to be able to go to first principles and be like “Who do we actually wanna hire? Someone who’s good at communication, and someone who does good work. That’s it.

That’s it, right. Yeah. Seriously. It’s also just a job. That’s the other thing that’s concerning to me - and by the way, I think that word that you might have been looking for is conversational. So conversational interviews. But anyways, back to the other point… So these FAANG interviews, and the whole cottage industry that has sprung up around interview prep - we didn’t even get into that… But there’s all these courses, there’s coaches, like “Give me $5,000 and I’ll guarantee life-changing FAANG money.” There’s just so much; it totally reminds me of the gold rush, and the people who managed to sell the shovels to the people they’re rushing for the gold… That’s really what it feels like.

But anyways… So they’ve kind of made this a religion. You have people in college, you have people in high school just fantasizing doing this – it’s becoming like a pro athlete, or something, getting this job at these FAANG companies.

So what happens is they fetishize these jobs, and it becomes their life. And quite frankly, my job is not my life. It shouldn’t be yours either, but everyone has the choice to make that commitment for yourself. Just don’t force it on us as a standard and don’t force it on us as an industry.

For me, simpler interviews are reflective of that commitment. It’s like “Hey, dude/hey, dudette, hey you, we understand this job is just a job. This is a transactional thing, and here’s an adequate set of tasks for us to evaluate our willingness to transact with you.” You know? Like, that’s it. That is all an interview should kind of be… But you know, here we are today.

My personal experiences have really been generally good as an interviewer. I’ve worked at places where I think they put together a good set of practices around that, which is nice… So for me, getting a chance to even evaluate somebody’s pull requests has been something that I’ve had the chance of doing; like a pull request review. So we send over a pull request to them, and say “Okay, could you review this?” And finally, you get to see their tone, all the things that they catch, you see their expertise, you see a real-life scenario… “What’s wrong with this pull request?” We even put things like it’s missing the right header, it’s missing information in the description… Even things like that, even the kind of hygiene stuff you get to see. And it’s one of those things where yeah, maybe they score 80%, maybe they score 70%, but you get to see the depth of somebody’s interdisciplinary set of skills, which is what’s needed as a software engineer. It’s never just one lane. We’re always picking for multiple lanes.

I’m so glad you brought up pull requests, because I was gonna suggest that as like an improvement that I would do today if I were doing it more, and I think that that is so telling, seeing how someone reacts to it… Especially if you create the pull request and you just put in some stuff that is –

Hot garbage.

…low-hanging fruit that they could just berate and go off on how do they handle that. Not that they would do that purposefully in an interview, but have a little bit of that.

Oh, that’s interesting. Is this a pull request they’ve done in the past, or a pull request they’ve reviewed for the interview?

Review pull requests for the interview. It’s a fake pull request. It’s like a dummy set of constraints, and everything. It’s just something like adding a new component to a thing, and like what are all the things that are wrong with this pull request.

I kind of like the idea of reviewing old pull requests, because then it’s not like – like, you can perform for an interview, but this is what it’s actually like to work with them.

[56:03] It was a real pull request, but an old one, that had lots of mistakes, from a contractor, I think. So they literally used that exact pull request, and we’re like “Here. [laughs] This is from our actual codebase, seven months ago.” So I think that’s cool.

Other general positive experiences have been interview committees having an objective group of people from even different parts of the company come together and interview. I think it’s cool to do that, because then somebody’s interviewing for a role, not a job… And you’re interviewing for the role of software engineer. And “Oh, here’s the wide pool of different people who can give you this interview.” And it doesn’t matter which combination of those people; you’re hired generically to be a software engineer at this company, and then getting to pick your team after that is a pretty cool thing, having teams compete for you; it’s been nice.

But overall, the process is still way to difficult, and we can talk about that for hours and hours and hours. I’m curious to shift this conversation more towards what we were talking about earlier, so that we can end this on a positive note… What are some other things that we can think of - briefly, everyone - to kind of improve the status quo for today? Because I think some of the stuff that came up earlier was we’re gonna abolish – maybe we allow people to bypass interviews in exchange for more of a formal probationary period; maybe that could be an opt-in thing, and if you wanna do the interview, go ahead… But even then, I don’t know… And nothing is ever really guaranteed. I feel like people kind of freak out about probationary periods way more than they should. It’s like, we’re all employment at will, last time I checked… And that goes both ways, you know? [laughs] So I don’t get it, but… You know, whatever. What are some things?

I think that just being very empathetic with the interviewee. Understanding when they’re going through this process, they are going to be frazzled, they’re going to be stressed. They’re going to make mistakes. And depending on where they’re at in their life, they might have things like we’ve mentioned, like kids, or family, or other obligations, and you just have to be aware that this is something that they’re doing outside of their dayjob, so it in no way reflects on how they might be as an employee. Like, if they have to reschedule last-minute, or things like that. Just being very aware that this is something that they have to do almost in secret until they can officially put in their notice…

Absolutely.

And then you just have to be willing to work with them at that. And also just being very cognizant of how much stress they’re in while in this process. So if they’re stalling for time, like I am in this answer, or they’re doing other things, it’s because they’re stressed. And you can do whatever you can to take a moment and let the stress out of the room a little bit, and just let them regain composure and focus on the things that matter. And maybe changing your approach to things… Like, “What year this version of CSS was implemented doesn’t matter. Why don’t we just get into centering that div that we’re gonna have you do”, and things like that.

Yeah. More stuff, less fluff, right? Less hard, painful fluff, too. It’s not even like nice, warm, fuzzy fluff. It’s like “What the hell? You want me to do what?! Red/black trees what?! On a whiteboard what?!” Yeah… Anyways. Amelia, how about you?

I can’t think of like “Here’s one simple trick to make your interviews better.”

What should we stop, what should we start?

[59:33] I think there’s just a theme of like – you can’t scale an interview process and have it still be good. You can’t have some way to weed out the bad people, and that you can do with hundreds of people.

I also think having the team that’s gonna work with them to interview them, and not just have people who do all the interviews for the company… Like, these things just don’t scale. You just have to give people the time to be themselves, get to know them, get to know how they think about problems, and solve them, and then figure out if it’s gonna be a good fit for your team. That’s just something that’s really hard to do with hundreds of people. So maybe have like an initial weeding-out process, and then just take people at face value and take it slowly.

Exactly. I couldn’t agree with you more. And also, I’m sorry - last time I checked, unless you’re programming for hospitals or pacemaker machines, or (I don’t know) freakin’ NASA rockets, your carrousel image of people’s homes on the Airbnb website, or your input box on the Google search screen is not rocket science, or life-changing… And we all just need to chill the hell out. We’re just humans, we’re all on the same planet… It’s not so bad if more of us worked with each other. So just limit gatekeeping, is my thing.

We do a lot of gatekeeping in our industry, and interviews just basically feel like a huge form of gatekeeping that’s still widely accepted. My hope and dream - I hope in five years we look back at this time in our history and we say “Yeah, man, we had such uninclusive, cumbersome, unnecessary, bureaucratic gatekeeping experiences that were part of our career and job-searching, and we’re done with that. We’re done with that as an industry. We’re done. We’ve moved on. This is how we’re doing it now.”

This artificial crisis that we’ve created for ourselves with hiring gaps - well, you know, we’re not making it easy when our hiring practices are so cumbersome. So you really wanna hire more people? Make it easier for them to join. I feel like I’ve gotta end it at that, or else I’m gonna get into 17 other rants… But I think maybe the last point is actually just be explicit with people around what your expectations are throughout the whole process. As an interviewee, there’s nothing I hated more than not being prepared or not knowing what to expect. So as much as you can share with people on what to expect, the happier campers they will be. So if you can have guides… Whatever - like, publish a website, share information with them, let them google and look up their interviewers… Good practice to let them know who they’re meeting with. Ask for their pronouns, make sure that you can pronounce their names… I’ve seen even in Greenhouse now there’s like a whole thing where you can record how to pronounce your name… Just do things to make them feel like people, because they are people, not cattle.

So with that said, I just want to thank you, Nick and Amelia. It’s been a real pleasure having you both on the show today, and it’s been really insightful digging into this huge, huge topic with you all… So thank you for making it so pleasant and easy.

Likewise.

Alright, everyone, so we’ll catch you all next week. Thanks so much, everyone… Bye-bye!

Changelog

Our transcripts are open source on GitHub. Improvements are welcome. 💚

Player art
  0:00 / 0:00