BrandGhost

Big Tech: Interviewing For Staff+ Software Engineer

So you're an experienced software engineer, and you're looking for a change. You have your sights set on Big Tech -- you're ready for the career change. Or... Are you? What should someone expect when they're applying to a Staff or Principal level role at a Big Tech company? Let's head over to Reddit to find out!
View Transcript
let's talk software engineering interviews but with a little bit of a Twist today we're going to be talking about principal and staff level software engineering interviews at Big Tech hi my name is Nick centino and I'm a principal software engineering manager at Microsoft in this video we're going to jump over to Reddit and read through this thread where someone was asking about what it's like to be going through interviews at the staff plus level at Big tech companies now it's worth calling out that labels like staff principal there's other names that you might hear floating around these are generally the tier of software engineer that is just above senior some places might not even have anything above senior technically so it gets kind of Muddy when we start talking about these things but in general in big Tech this is a little bit more normalized now I am at the principle level myself as an engineering manager and I have gone through interviews for different individuals so I feel like I'm qualified to give my perspective on this that sounds interesting though remember to subscribe to the channel and check out that pin comment for my courses on dome train let's head over to Reddit and read what this person has to say so hey all just wanted to get a feel for what staff level backend engineering interviews are like at Big tech companies these days looking to jump from a series B startup to a big tech company that can pay public stock or at least go public soon the problem is I've never really interviewed for staff and position the last round of interviews were for startups where the technical interviews were easy and most of the interview is project experience which I had in Spades kind of interesting because my own personal experience I was at a startup That Grew into a small company over the course of 8 years prior to that I had six internships at small companies so the interviewing looked very similar between these other companies and when I ended up coming to Microsoft it was for the principal level kind of like what this person's talking about so I ended up having a wakeup call when it came to interviewing not only because I hadn't done it in like 8 years but because it was going to be a different Beast with big Tech so about me I'm a Staff level Dev with about 11 years of experience I'm currently at a series B startup but before then I was staff at one of the consumer Deca corns in the late 2010s you know the ones I'm really experience in Python and building applied ml llm systems apps and a little bit of react and go I have good system design skills and lots and lots of project experience but worried about getting blown out of the water by a junior Dev asking questions from cs200 that have nothing to do with actual coding anyone have any stories or experience to share I sure do so um I've talked before about my own interview experiences and specifically at Google where I totally bombed my interview if you haven't watched that video you can check it out up here and then come back and continue on with this one but big tech companies are sort of notorious for having sets of questions that often don't really feel like they're applicable to anything that you would be doing at all on the job now mostly this comes from the coding questions and you'll have things like lead code style questions and it kind of seems like this person's hinting at that right like the cs200 stuff that's not really going to have anything to do with actual coding to back up a little bit generally interviews are broken down into three different categories of things and at Big tech companies you'll often have multiple rounds of interviews with different interviewers now the topics that we'll end up covering are a coding question or multiple coding questions system design level questions generally these are open-ended and a little bit more vague nebulous and you have to kind of explore with the interviewer what's supposed to be designed and then you have behavioral interview type questions and these might ask questions about projects that you've worked on but there is a goal in those questions and I do have courses out with Ryan Murphy on this available on dome train so if you're interested in checking those out you can check out the link that I'll put up here now this person is calling out that they're a little bit afraid of the coding questions and that's not because they can't code but they do have awareness that they're probably going to get tripped up on the coding questions and I was very much the same so for me I had been programming and managing engineering teams straight for eight years at this digital forensics company that I was at I had written tons of application codes shipped tons of products and was working around the clock I can write code no questions asked I'm not worried about it what I don't do very well is test and I especially don't do well at testing at Elite code style problems so when I was Was preparing to interview for Microsoft Amazon meta other big tech companies I had to make sure that I was practicing this stuff like crazy and sure enough during my interview rounds almost every single company I think except Amazon ask me coding questions now the twist here is that I'm not applying for an individual contributor role like this person's doing they're very likely going to get more than one coding question as an engineering manager I really don't feel like I should be getting asked coding questions but it is pretty common as proven by my experience doing it that means that this person's probably going to have it a little bit worse than I did especially because they are going for an engineering position so my word of advice to this individual would be definitely practice this stuff you need to get in the rhythm of being able to look at these questions and trying to navigate them because a lot of the time there's a bit of a trick to them they're looking for some pattern they're expecting you to capitalize on some information that isn't going to be very obvious but for a lot of them you can get started on them and make progress and even come up with a naive solution depending what your interviewers like if you start with this they might get you to try and debug it explain it and then go is there any way that you could make this better right like tell uh talk to me about the performance implications like the memory space the the runtime and then you might go well okay like I can see that maybe I'm using a lot of memory for this or it's not as fast as it could be and then you want to iterate on it the unfortunate reality is that you can get an interviewer that's going to fail you on that question unless you get the trick just because that's how they feel that day I'm not really a big fan of asking questions like this at all because I don't think that they're applicable whatsoever when it comes to working on the job especially when we're talking about people that are going to be operating at staff or principal level in a tech company I would be much more keen on asking this person things about system design and the behavioral questions because at their level I'm expecting that they're going to be scaling their impact they're going to be having a lot of influence leading big projects yes they're going to be coding but I don't need them to try and do tricky things with code to try and look for little optimizations like that from my experience you're going to get coding questions that are probably like lead code you better practice those things but let's go see what other people had to say now this person goes on to say I'm sorry to burst your bubble but you are probably senior at Big Tech so they're already deling this person very interesting let's see why though the interview Loops are brutal they start with one to two technical phone screens if you pass those and you have two to three coding rounds one to two architecture rounds and then the hiring manager interview so this is similar what I was saying right I said the three different types you're going to have coding they say architecture I said system design and then hiring manager interview the number of these I think could look very different and I should clarify too that some companies it's not that these are necessarily split across different interviewers in fact they might get merged together so a lot of the interviews that I've been doing recently have a coding question or they have like a system design question and then some behavioral questions too so this can like show up in different ways the Committees that I have been on lately require unanimous decisions Source I'm a hiring manager in big Tech so there we go uh I don't know why they said uh they think that this person's only a senior um hard to say 11 years of experience like I had eight as a software engineering manager and I got hired at principal level in big Tech um so when my company was hiring heavily they had a chart it wasn't written in stone and more for referrals a mid was a mid to senior staff at a startup a senior was a senior to principal at a startup a staff was a principal Plus at a startup obviously there is some overlap but like I said it was for referrals not hiring managers or interviewers so interesting okay uh I can back up the requirements of unanimity in the last few years I've done a few rounds at fairly large companies for staff senior staff and principal level especially for senior staff and above any round which isn't a solid has resulted in rejection this is interesting because while I haven't necessarily seen this exact thing come up in uh interview rounds in particular I have had conversations with uh people that are uh much higher level than me at Microsoft even and this concept of like your career trajectory once you're at a certain level it gets harder and harder to get to the next level as you might expect but it's not linear it starts to become almost exponential and the the framing for this this I've heard is like the people that are you know achieving those higher levels once that exponential curve starts to take off it's because they actually have the initiative and the other characteristics it takes to go further and further so it's kind of interesting because it is similar to this where it's like hey look if it's not a solid a on this person like it's very obvious they should be at this level it's almost like then it's a no so I just I find it like an interesting comparison on the hiring front versus like people's career trajectories internally so there might be some slight amount of leeway at the staff level but even there you'll need to kill the programming portion so yeah I think the reality is like there's going to be this expectation that you can really do well on the programming part but I think the reality is that the types of questions that people generally get for this kind of stuff just like aren't a good demonstration of how good you are at writing code so let's keep going staff may be different between companies and thus a different bar I'm most familiar with Google's L6 this is kind of what I was hinting at at the beginning of this video because the different levels the naming conventions different everywhere it makes it really tricky to talk about this stuff even with levels like this where you have like an L5 L6 for example Microsoft we have 65 as principal that's it's just a completely different scale makes it really weird to do the comparison so for both L5 and L6 system design I throw an ambiguous technical problem with a couple of quarters Horizon an ambiguous it I like migrations but any highle problem would do really so like I said you're going to have system design this other person called them architectural questions that are going to have something ambiguous to they expect that you're going to be asking questions to try and navigate these questions the difference for L5 would expect them to map out the path for L6 I would expect them to not only map out the path but also anticipate and address risks right so this is kind of interesting this person's saying that um they're going to try and navigate that ambiguity but at the higher level they're getting a sense that the person's already anticipating the stuff that's coming down right so they might be talking through the design asking to clarify like different constraints and then saying like hey this is what I would suggest and I think that we're probably going to see things like X Y or Z and that means maybe we want to look at something else but that's just kind of opening up the conversation in the interview so I think that's a really interesting point this person says I haven't done as many coding interviews at that level but I suspect I'd expect not only good problem solving skills and algorithms but also injecting some deep experience into it I like stories yeah the problem with this kind of stuff though is that like I agree that's kind of like what I would want in an interview but I think the reality is a lot of people get thrown these canned leite code problems someone's going to go to like leite code hard and say hey go solve this and they're going to know the solution and if you're not getting the trick it's going to backfire I don't like it I just see this kind of thing happen a lot so that's why I'm mentioning it moving down a little bit this person says in addition I would expect a staff engineer to lead the interview find the ambiguous and/ or risky parts of the project and walk me through those questions instead of getting stuck in a detail interesting this is kind of similar what the other person was saying uh they were comparing like L5 and L6 again sorry the sort of numbering and naming convention all this stuff is going to get confusing here but they're kind of talking about this other person anticipating things it's ilar here like they're expecting that they're setting up this question and the person that's being interviewed is able to anticipate some of this stuff and kind of leading where the conversation's going the project for the interview would be intentionally underdefined again we've seen this come up multiple times and I've already mentioned it this is pretty common with system design so the candidate would need to ask enough questions to uncover the underlying requirements and issues now personally when I ask system design type questions even in the coding questions actually I'll start with the coding one I actually start with a very basic coding question for all the interviews I do in fact I use the same one at all different levels that I interview form it's just that at the more senior levels people move through it quicker and all that I like to do is add in variations and that just means that I can see how this person's building on top of what they already have and then I can just keep making the variations more and more complicated and in fact I might go back and change something so we're dealing with a different constraint of requirement and seeing how they change up how their solution works the same thing applies to system design if I said hey we're going to be optimizing for this thing and we have these constraints and they start building the system around it I might say great that was really good now let's change the constraints so it's not a trick it's just let's change the constraints and see how your design would have to adjust for this I like doing that kind of thing and that way I can see how people are thinking about a broad range of things and not necessarily like okay I went online and I tried to memorize how the Uber works or how the Twitter tweet system works and like instead of just memorizing these things I'm getting people to like actually think through and walk me through how these different systems would function the last one we'll read through here is this person saying I'm probably the same boat as you staff plus and a startup have shipped multiple seven figure Revenue products by myself I am self aware that I won't pass the staff Fang interviews without a year of rigorous prep and even that is a big is the fact remains that while I'm good at what I do what's expected from staff roles there is different not withstanding the question of what they expect is truly what they need stick to startups or join them as senior and prep for the staff position while working there probably make more as a senior there than a staff at a startup anyway this is a interesting take um it's kind of like unfortunate to see people that are like they're kind of observing these limitations that might be in place and I'm not saying that they don't exist I can't really claim that's true or or not but the fact that this person is saying like I know I'm good at what I do I've been able to demonstrate it historically and it's probably still not enough right kind of a crappy situation to see someone in I don't really like to see that um but I think you know that's their lived experience which is unfortunate it could be true though right like what they're saying at the end here depending on someone's situation maybe you know if someone was just looking for more money like to increase their their income maybe being a senior and kind of losing sort of that title um maybe it feels like a step back depending on what they're after maybe that's a big compensation boost and they can really nail it as a senior hard to say I'm not necessarily recommending that but I think that's something that someone could weigh out the pros and cons of that so to bring it all back here for this individual coming from a startup going to Big Tech at like a staff principal kind of level I do think that they are going to get coding questions they're probably going to be the lead code style unfortunately this is just a common thing that we see they're very likely going to get system design questions and that's going to be something that's ambiguous they should be asking questions I think people did a good job of saying they should be anticipating the different things coming down the line and of course you're going to get behavioral questions because at the staff principal level the influence that you're expected to have over uh larger groups of individuals leading projects that's going to be key you're really going to want to be able to showcase that but that's it for this video I hope you found that helpful and I'll see you next time

Frequently Asked Questions

What types of questions can I expect during a staff level software engineering interview at Big Tech?

You can expect a mix of coding questions, system design questions, and behavioral questions. The coding questions are often similar to lead code style problems, while system design questions tend to be more open-ended and ambiguous, requiring you to ask clarifying questions. Behavioral questions will focus on your past project experiences and how you've influenced teams.

How important is coding practice for staff level interviews?

It's very important! Even if you have extensive experience, you'll likely face coding questions that require you to demonstrate your problem-solving skills. I recommend practicing coding problems extensively to get comfortable with the types of questions you'll encounter.

What should I focus on when preparing for system design questions?

When preparing for system design questions, focus on understanding how to navigate ambiguity. You'll want to ask questions to clarify requirements and anticipate potential risks in your designs. It's also beneficial to think about how to adapt your solutions based on changing constraints.

These FAQs were generated by AI from the video transcript.
An error has occurred. This application may no longer respond until reloaded. Reload