In this vlog, I talk about some of the best software engineering interviews that I've ever had and what made them such good experiences. Hint: they have absolutely no sign of leetcode.
📄 Auto-Generated Transcript ▾
Transcript is auto-generated and may contain errors.
Hey folks, I'm just headed to the office here. It's uh Monday morning. I'm uh I scrolled through experience devs and there's like nothing I wanted to talk about and I don't think I have any pending questions and I'm unless I'm missing them in which case I'm sorry. Uh so I figured I'm just going to talk about some maybe a handful of different topics that are kind of uh top of mind for me right now. And um going to start with interviewing and interviews because just done a couple of these and uh so context and background. So my I unfortunately I've not been able to hire or put up roles uh like at all um in my time at Microsoft which is kind of unfortunate. Um I will be able to do some some back filling and stuff uh with internal hires. So, uh hopefully be able to do that soon.
But, um in my organization at least like up through my skip level like under his or uh I've been doing a few interviews and stuff um as the I should let me clarify as the uh interviewer, not the interviewe. And uh so I've done a few of these over whatever the past almost two years I've been on the team, but I've just done a few of them more recently. And I was having this reflection of like obviously I do a lot of content creation. I see a lot of stuff on LinkedIn. I know that everyone's like, you know, it's it's chaotic it seems, right? Um, sorry. There's a guy. I can't explain the intersection, but there's a guy. He's just sitting at the other end of this T intersection just sitting there waving like uh it really caught me off guard. It's pretty distracting. Um so, you know, I I see a lot of the content and stuff that gets shared of people, you know, struggling with interviews and stuff like that.
And I see all the people that are like putting in the prep work for, you know, for grinding their interview questions and stuff like that. And it's just like it I don't know. It's kind of crazy. And I don't know maybe I maybe there are other industries like this but I don't know other industries aside from like software engineering and you know big tech is especially bad for this but for having like you know rounds and rounds and rounds of interviews with like what I feel like are often ridiculous sets of questions for like what it's like they they questions and stuff don't even represent what people are going to be doing, right? Or like they it might to some degree, but it's not like something that they couldn't just like learn and figure out. Like it it just feels kind of weird.
Um but I was reflecting on this because while I'm interviewing like the la literally the last two candidates when I was doing uh I wasn't doing coding interviews or system design, I was doing like more behavioral or project retros and stuff like that. And um I I said to both of them after we do like intros and whatever, I say, "By the way, like I'm going to, you know, when I start asking questions, here's kind of the categories of questions I have." And I tell them like they're not there's no trick questions. I'm not out to like make you stumble or whatever. I tell them like, "Hey, I would love if you have, you know, if you have experiences to be able to talk through for these, like that's awesome. And if you don't, instead of just sitting there being like flustered or whatever, I just say like just let me know and like then could you walk me through like how you might approach that?
And I do this for a handful of reasons, but the number one is like I I go into an interview thinking this way. like this person is someone that I might be working with and like if I were to work with this person, how would I be talking and engaging with them because it's certainly not going to be to try and make them feel like It just it just isn't. That's never it's never a thing that's happening on purpose. So why would I approach the interview any differently? So I go into that thinking like this person is someone I might work with. Cool. like walk me through these scenarios so that I can learn about you. That's my goal is like I want to make sure that this person is able to demonstrate as much experience or sets of skills that align to the job as possible.
And as they're doing that, I will try to see if there's like, you know, red flags. Usually, if it's a real red flag, it's going to come up in the conversation at some point if we're covering these things. But there might be like I don't know there might be like not quite a red flag but where I'm like oh crap like maybe this person doesn't have some of that experience. Okay. But like I need to think through like for all the experiences they have if they don't have red flags and they're just a couple of gaps. Am I like is that just something this person can learn or is that is that literally an experience that we need this person to have to hit the ground running and like there isn't even an opportunity to like to scale them up because like we just need that from day one.
I find like that's pretty rare. But like I'll give you an example. if someone was trying to get um a role as a manager or even like a team lead kind of have a little bit more responsibility over folks um or or projects, right? If someone was like, "Yeah, like I I've never actually led a project ever." Then I might be like, "Well, like we kind of need that." And if it's a really small team and like brand new, really small, like maybe we could take sort of that risk on that person to be able to say, you know what, they have a lot of really other good experiences and like this could be an opportunity for them to start small, prove that out. Maybe that's cool. I would have to talk to my skip, who would be the hiring manager in this case, and like see how he feels about that, right?
But it's not my goal to go into that to like, you know, put this person on the spot and be like, "Oh, here here's one that's going to screw you up and make you feel like awkward and shitty because you can't think of an answer off the top of your head." And I don't know. I feel like I really hope that people don't do this on purpose, but I can even think back to when I was interviewing and and felt like I had some experiences like this where I'm like, "Why are like why is it set up to feel like it's a trick? I know like lead code is especially bad at this. Oh my god, I'm in the wrong lane. This bus. One sec. Sorry. So, I got to explain this intersection cuz it's important.
Um, that intersection that I just went through has two left turn lanes and you want to be in the right one so that when you go around the corner you can get into this on ramp to go on the highway. And so as soon as you turn through that intersection in the right lane there's a bus stop. So a bus basically like had gone just through the intersection stopped so no one could turn left in the one lane. So I was in that lane had to move. But um yeah, like going into the like going through these interviews and feeling like why why does it feel like every question is like trying to set me up to stumble? Like that feels very bizarre. And I think what I was just about to say before the bus thing was like like lead code style coding questions are notorious for this.
It's ridiculous. I have I've been writing code for over 20 years. I've been at some point um like in my first eight years of my career like I was uh writing software the same time that I was managing teams. I don't write code at work anymore. I program every single day. I love writing code. It's really fun for me. It's a it's an activity that I enjoy. And like if I go to do lead code questions, I'm like I get screwed up super easy. So, does that mean like that I'm stupid? Does that mean I'm a bad programmer? Does that mean I'm not a good critical thinker? Like, I don't know, man. I've built some pretty complicated before. I've built some stuff that has gone out and, you know, helped make millions of dollars. So, like like I don't know, like I feel like I could do the job pretty well.
I feel like if I had to switch back to being a software engineer instead of a manager, I could do the job pretty well because I still code every single day. But why does lead code like or even system design questions like why do these things feel like they're setting you up to fail? And the whole framing for interviews just was really nuts to me. But the reason I was thinking about this was I mean number one because I had to go through these these interviews and and I was reminded I'm like as I'm telling these people like I'm not trying to trick you with anything. Um the last time I was providing interviews and was doing coding interviews I told people the same thing but we're doing like coding rounds. I'm like look like we're going to we're going to code um I'm not asking you lead code style questions.
I'm just going to get you to build, you know, pick your language, write a bit of code and like walk me through it. I'm going to change the constraints as we go through it. I'm telling you now, not to trick you, not to say that your design is wrong, but just because I want to see like under different constraints how you might change things, but I said at any point ask me questions. Like there is no there's no trick and there's no trap. I'm just we're just talking about code because I want to see can you write code. I'm not trying to trick you into like did you find that you can you know shift these bits instead and now you get like you know constant time like I don't give a It we're no one's doing that. It's just not it's not happening. I would much rather see that you can you can write code.
You can design APIs. you can make sure your code's understandable. You can walk through your code with me because I have literally interviewed people that have said, "Oh, you know, I've been coding for years." And then we're like, "Great." And we go to do something like FSPOP, if you're not sure what that is, or FSBuzz, depending on who you're asking. It's like literally it's a loop with an if statement and then you check a condition. Even if someone didn't know how to check like even or odd numbers for some reason, I don't care. Uh you're forgetting what the modulo operator is. I don't care. But like people could not even write a for loop and an if statement. And I'm like there's no way that you program. You might have programmed before, but you certainly do not do that in your role because you would know how to do in your language of your choice a for loop and an if statement.
There's no trick in that question. But after I had gone through this, the reason like this is kind of top of mind for me especially to talk through it is like I was thinking about when I interviewed for Microsoft, I interviewed at Google, Microsoft, uh Amazon and Facebook except Facebook was kind of kind of sucked because uh the day that I was supposed to have my interview, they're like they sent two emails. One was like, you know, confirming your schedule at this time and then like right after was like, you know, your interview's been cancelled. And I'm like, well, what one what one is it, man? And I guess they filled the role or something like right away. I don't know. But like they canled the interviews like right before I was supposed to have them. So I never actually had gone through the interviews uh at Facebook.
But um I And I want to write about this at some point because like because I feel like the one interview I had at Microsoft was kind of like it's everything like it's what I want to model when I'm interviewing especially for like either engineering managers or um like behavioral interviews. But there was one em that I interviewed with and uh it's kind of unfortunate cuz I've worked with him but not like not as much as I would like to to be totally honest and I felt like in that interview this like he made it so comfortable that I just felt like I was chatting with a friend. I'd never met him before. Oh, a Ferrari. Um never met him before. and we walk through like my work experience. We walk through like some different scenarios and stuff.
Um, and like he had a background like I was coming from a startup into Microsoft and he I can't remember the details but he was saying he did like eight startups or something like back to back to back and he was like they kept failing or whatever and then he was like it was time to like to move into something that he felt like would be more stable if I have the story correct and ended up you know going to Microsoft and um I honestly just felt so comfortable in in that conversation that um you know he could ask me about any part of my career to elaborate on different aspects of like managing projects, managing people, that kind of stuff. And I feel like cuz if I were to go interview, I'm going to study. I'm going to be doing like practice lead code problems.
I'm going to be doing practice system design stuff. I'm going to be trying to go through all of my scenarios. like think about every employee. Can I think about scenarios that I could speak to them like speak about terms of how I navigated things, biggest projects and stuff. I'm going to practice and rehearse all of that so it's fresh in my mind. But when I interviewed with him, it felt like I just didn't need to do that. And I don't know a good way to explain it except for the fact that like it just felt like chatting with a friend. So like, hey, like you tell talk to me about this, you know, this thing on your resume. You said that you were working at a digital forensics company. Cool. Like what, you know, you're managing teams here. What did your teams do? Cool. Like tell me more about that project.
Like what, you know, how did that come to be? How did you manage the people on that team? What was the size of that team? And the whole thing was just like comfortable. It wasn't I find like sometimes like even the behavioral questions that get asked it's like when someone's like tell me about a time when um it it almost feels like especially I guess in like I find in big tech companies there's like uh you know company values and things like that and it's like they're trying to tease out those values by asking you um you know behavioral questions. That's part of it. And it feels kind of bizarre to me because it's like you're using a there's like a facade, right? It's like here's a question. I want you to answer it, but like really to answer this properly, you need to understand the values and make sure that that like comes through in your answer.
So, it's kind of like there's a bit of it feels like there's a bit of deception in the question asking. And I find that this is the case in like most interviews like the coding ones we've already talked about. It feels like there's deception in every single lead code question. There's a trick. It feels like there's deception in system design once because it's like here's a system but like there's a couple of like really obvious things that you better know and like if you understand systems like really well in these details you'll know that there's some patterns that you can apply and like you might get most of the way there but not address like you know that one key part and it's going to feel like you're totally screwed. So, I just feel like in a lot of these interview scenarios, it feels like there's a layer.
I'm calling it deception. I don't know mis like indirection deception. Feels like there's something there that doesn't feel good. But I just remember this this in this this one interview at Microsoft and I sat down talked with this engineering manager and I just remember feeling like man like that was a really good conversation and like like obviously he was asking me questions and learning about me so he was getting out of that what he needed but but like why why can't it all be like that? So, that's something that I try to model when I interview. I think that I don't think that it was like new to me, like I've never done that before, cuz I've been interviewing people for like 8 years before that, but I think it really solidified to me that like when I'm interviewing, that's that's what I want to model.
It was like a very concrete example of going through it and experiencing that. Um, I'd say the same thing about like my first skip level manager is actually someone that interviewed me for Microsoft and it was it was kind of similar because um like he was doing my my system design or like architectural interview and so I was very transparent with them right like I was going through interviews and I'm like you can see my resume I have not this is for a deployment team like I have not worked with large scale systems like distributed systems. I've not done that. I've built desktop software for 8 years and when we get into the system designer, the architecture one, he's, you know, kind of opened the floor to be like, "Hey, walk me through a system that you built." And I was like, "Look, like I
I suspect that for these types of questions, you want me to walk through some big distributed service or something that I was part of building." And I'm like, I need to be transparent. Like, it's right on my resume. Like, I've not I've not done that. But I can talk to you about like how I've architected and designed desktop software and like in terms of like if we used a layered architecture, how things kind of flowed through the code. And he was like, "No problem. That's totally fine." He's like, "Let's use that." And again, this interview was very much like a conversation where it was not um it wasn't like I'm trying to catch you off guard. It was like as I'm describing it, he's like, "Oh, interesting.
So, like you made this you made this trade-off or this decision, like what was the rationale behind like walk me through how you came to that conclusion and really just got me to like break down, you know, how a system was designed up front, uh why we made certain decisions, how those things evolved over time as we learned more. And to me, that interview and the one I was describing before are like the most realistic software engineering or management interviews I've ever had. Ever. So, like, why are we so far off from doing that? I don't understand. But anyway, that's I think what I wanted to share in this video is kind of I don't mean for that to be ranty, but um it just kind of connecting a few dots where I was like, you know what? Um maybe if other people are uh conducting interviews or something, maybe that's something for you to think about.
I don't think I don't I don't see a reason in perpetuating like kind of the stupid we see in interviews that doesn't really make any sense, but we just do it because that's what what's set in front of us. Like we keep perpetuating it, but we're also part of perpetuating it, right? Like we can make a decision to not maybe you can't at your company, but like when I interview people, I I don't perpetuate that. Um, so yeah, that was the number one top of mind thing for me. What else is going on though? Um, I took a little bit of a break this weekend. I still wrote a newsletter. I'm recording this Monday, so I have a live stream tonight. Um, come on now, buddy. Oh, there's too many people trying to move over lanes here. We got a zipper merge, folks. Come on. My turn.
Thank you. Um, so yeah, newsletter live stream tonight. Uh, didn't record videos this weekend. I had a bunch queued up from the editor and uh I think I think right now like this week I have a few going out across my other channels. Uh so there's I put out a podcast yesterday. I'm going to have one going out on Thursday. I have to republish a bunch of podcast still. There's probably another like 15 or so. Um so that's Dev Leader uh the Devleer podcast. So that's another YouTube channel. You can check that out. That's where the live stream is too. Um, so there's more podcasts coming and I just did another post to try and get more uh more guests. So we'll continue on with that. I think I have to double check. I thought that I did the last resume video. So I think that one's going out tomorrow perhaps.
And then I think I'm through all the rums that have been submitted. So a friendly reminder if you want uh a resume review, it's totally free. Um, I just I anonymize your resume, just redact a whole bunch of stuff and then uh make a YouTube video reviewing it. So, going over what I think you do well and the stuff that I personally would try to improve, but that's on dev leader path to tech. If you watch like any one of the videos, it'll explain how to uh submit your resume. Um, and then I have one coding video that I tried to do like a a very sort of like simplistic dependency injection tutorial just to kind of walk people through how some of the stuff works. It's not like doing a deep dive in how the technology works under the hood, but more just like you're building an ASP.NET Core web application for those of you that are net developers and like like why are we doing certain things?
Where do these things come from? Like how does like it seems like it's kind of magic that we're connecting some things and just explaining how that works. So, um that'll go up this week as well. But, uh I I don't have any other videos that I've recorded, so I probably won't have time tonight because of the live stream. Starting tomorrow, I'll probably start recording again. Um, I still got to do uh some videos on because the one video I had was on doing like a rag system with semantic kernel. So, I'm probably going to expand on that. Um, I tried doing like a local uh model with O Lama and man the performance was was so bad that like I was like, "Oh, this will be so cool. I have a local model running. And I was like, I must be doing something wrong here because like like on my gaming rig, which is what I record on like it's crazy.
Like it was timing out trying to to do these requests, it could do um the embeddings were fine. But when I would try to do like completions, oh my goodness, it was uh disastrous. Um, so I don't know, maybe I picked a model that was still too beefy for my computer, but yeah, crazy. So, I'll probably do a video explaining how to set that up. In terms of the model selection, maybe I'll I'll uh let people pick their own or come to that conclusion, but we'll do an O Lama tutorial. I want to do I'm very in I think semantic kernel super cool, but I'm kind of struggling with like examples to put together. So, if you're not familiar with what semantic kernel is, I'm trying to think of a good way to explain it. It's kind of like the way that I would describe it is like if you're familiar with MCP servers where you can give uh agents like or LLMs the ability to call tools that you set up.
Semantic kernel is kind of like that but like a first class kind of thing within C where your LLM when you register semantic kernel functions your LLM can call C code directly. So, you're running the LLM, um, you know, you're making calls to it from your C code, and then you're like, by the way, here's a list of tools you can use, and those are just C functions in your code. And I think that that's super cool. Uh, I saw semantic kernel before I even heard what MCP was. And I feel like there's some stuff I want to explore there to make some videos on. I'm struggling though because when I'm thinking about using it, I'm like I want to I want to integrate it into like into a game, but I'm like I don't have time to go make games and I if I'm going to make tutorials on it, I need it to be very digestible.
So, we'll see. But, uh I want to do semantic kernel. I want to do O Lama. And, uh we'll probably do a little bit of examples like setting up vector databases as well. Again, I'm not an expert on all of the technologies for that, but if you just want to get up and running and like you want to use MongoDB or you want to use Postgress, um I think there's a MySQL variant too. Can't remember the name. It has a funny name and I think that I wasn't using it or wasn't exploring it because I don't think it was available in Azure. Maybe it is now. I don't know. But anyway, uh I'll do a couple tutorials setting those up so you can get up and running and deving stuff that way. But that'll be on my main channel which is just dev leader. So, bunch of stuff to record but probably won't start till tomorrow which means those videos might not be out till next week.
But that's okay. took a bit of a break. Played um I was playing video games a little bit. So I was playing Path of Exile too. Um, so like I go through these phases where like I love role playing games and I go through some phases where I'm like, okay, I haven't played for a while and like I got to play and I don't know like I probably have some type of issue where I like just get in the zone and I'll play video games for hours. So that was kind of this weekend. But fortunately for me, that kind of behavior, like I catch myself doing it and I'm like, "Okay, like you're just you're just doing it now. You're not even like feeling good about it, so just stop." And I didn't used to be that way. When I was a kid, it was like I could probably waste years just playing, you know, video games like non-stop.
But now I get to a point where I'm like I catch myself spending time and not really feeling enjoyment from it. It's almost like it becomes a habit and then I'm like stop. And uh part of it sucks because it means I'm not finishing games now. But I think part of it's really good because probably have a problem otherwise. Like I haven't bu uh beat Expedition 33. Uh I have not bu uh beat uh Blackmmith Wukong. I haven't beat what was the other thing? Oh, I sort of I played Kingdom Come Deliverance 2 a little bit. Didn't beat it. Um, you know, like just I get into them. I'm like, "Oh, this is really cool. It's fun." And then I'm like, "Wait a second." Like you're spending a lot of time on this and like kind of why? Like you're not you're not really actually enjoying it now.
So I I just stop. But that was this past weekend. I think for Path of Exile, I want to I almost beat the last like new act that they added. Well, there's like three sub acts that are after that. So, I think I'll probably beat those, run a couple maps, and then I'll be like, "Okay, I'm got my fix. I'm good." But we'll see. Especially because I was caught up on videos. I'm not now. And that might be enough motivation where I just don't uh don't waste time playing games. But just got to park in the spot and we're at the office. There's a really nice Porsche in front of me. I don't really like Porsches. I like that one. Looks nice though. Something about the headlights doesn't do it for me. I think I'm the only person in the world though. I don't feel like I'm lined up here.
Cool. Okay, that's it, folks. Thanks so much. We'll see you next time.