I’m a senior SWE with 3.5-4 YOE, all at Microsoft. Since September, I applied to almost 50 openings, landing 7 callbacks. This is a worse callback rate (15%) than 2021-2022, when I applied for mid-level roles with <2 YOE and got interviews for >25% of my applications, and even than 2019 when I had a callback rate of 20% as a new grad. On the other hand, I’ve gotten better at getting offers over time: 8% of interviews resulted in an offer as a new grad, 24% for mid, and 29% for senior (though technically one was a down level). In any event, I got an offer I’m happy with - here’s my experience, roughly in the same order as I did the interviews! Cruise | Applied through website - Ghosted after recruiter call where I said I was only looking for a senior role Meta (E4/E5) | Recruiter Initiated | Rejected (4 business days after onsite) - 2 questions every coding round though no idea about the LC difficulty or if they were tagged. Finished all rounds easily within time. - Ok behavioral. I didn’t prep so it’s mostly my fault, but the interviewer also didn’t ask questions in a way that helped me naturally come up with stories. I was expecting to be asked to describe a project and then answer related behavioral questions, but he jumped right into asking open-ended self-reflective questions so I was slower to come up with examples on the spot. - Weak system design based on recruiter feedback. I credit this experience with helping me automatically go one layer deeper in future system design interviews. Here, I only gave a surface level description of every component and asked if the interviewer wanted to dig deeper, and every time they said no, so I guess I should’ve been proactive. I also didn’t compute estimates, though I didn’t do them for subsequent interviews either. TikTok (2-2) | Recruiter Initiated | Rejected (3 business days) - I actually thought this team would be fun, and there was also no on-call. - Coding round was interesting. First got asked trivia. Then got a LC Medium DP question that I did in <8 minutes, so the rest of the round was filled with a system design problem. - System design round was also interesting. The first half was unexpectedly a project deep dive. Then some more trivia before the actual problem in the second half. - Rejected for not speaking Chinese professionally 😅 <— At this point, I did some prep for behavioral questions and felt I had very strong behavioral rounds afterwards. —> Stripe (L2/L3) | Applied through website | L2 offer (3 business days) | ~270 TC (negotiated from ~255) - Fun rounds all around, minus system design. Write clean, idiomatic code and comprehensive unit tests and you’ll pass coding rounds. - Bug squash was fun. Set up a debugger - I thought about just using print statements in Python, but I think it would have been too much of a mess - though you really only need to set good breakpoints and know how/when to step into/over. No need to be a hot key wizard! - Be comfortable working with JSON quickly for the integration round. - System design was shaky for me, leading to the down level. I think my design was reasonable (more on that below) but I got grilled on unexpected parts and also had a few heated points of contention. The guy also came off a bit arrogant, though he’s staff-level so at least he has credentials. - Apparently I did extremely well on every round besides system design, yet there was little room for negotiation even when I brought other offers and mentioned their offer is less than my current compensation. Snowflake (IC3) | Applied through website | Offer (2 business days) | ~430 TC (negotiated from ~410) - Reasonable coding questions though they all took me the full time. - Tech presentation was fun and a great start to the onsite as it helps build confidence to talk about something you know well. - No system design in the onsite for me due to how well the pre-onsite system design went. In contrast to other system designs, my problem was a deep one, not a broad one involving multiple components/services. Got a bit lucky though - imagine being asked to design a file system when you work on that part of Windows! - Behavioral round was pretty standard but in-person. - Expertise round was a fun deep dive into an area related to the position. Imperfect analogy: being grilled on how a SQL query engine works by someone who wrote the query engine. - Snowflake doesn’t do signing bonuses, but stocks now vest in 3-6 months depending on your start date. TikTok (2-1/2-2) | Recruiter Initiated | Withdrew from process - The previous recruiter forwarded me to this position as I only failed because of language reasons, not technical. Skipped first of four rounds (coding) due to previous results. - Don’t really remember the second round tbh. My schedule says it was coding but I feel like it ended up being trivia and system design, or coding was only a small part. Ended by having a casual conversation in Chinese. - Third round was system design. Same question as Stripe, same design - except I passed, so I can only conclude my design isn’t wildly wrong. Interviewer was nice and I learned from the feedback he had for the design. Ran ten minutes over; I was even asked behavioral questions after I got to ask questions about the team. - Didn’t schedule last round. TikTok (2-1/2-2) | Applied through website | Withdrew - Withdrew application as you can only interview for one team at a time. Overall had a great experience everywhere in terms of nice interviewers (minus Stripe system design). Besides the last two TikTok positions, recruiters were generally responsive and quick to follow up. I’m pretty sad to leave Microsoft as I have a great team and manager, but looking forward to new learnings in a new environment! Current TC: 290 after a giant cliff. I made an incredible amount the past four years due to appreciation + special stock awards + cash awards, so didn’t have financial incentive to leave until now. #cruise #meta #tiktok #stripe #snowflake
what level in ms
How did you prepare for the behavioral interview?
I made a document containing all the things I’ve worked on. Among these, I identified “highlight” stories to use when asked positive-leaning questions like “tell me about your hardest project” or “tell me about a cross-team collaboration”. I also found “lowlights” to use for negative-leaning questions like “have you had conflict with a colleague” or “when have you failed to hit a deadline”. Within the lists, I also identified hybrid stories that I could frame for both positive and negative questions. Finally, I took some miscellaneous questions I’ve encountered like “biggest weakness” or “peer feedback” and wrote answers. Writing it down was a good exercise for me to recall everything. I didn’t rehearse as I’m a decent public speaker, but having examples fresh in my mind helped a lot.
Congratulations on your new offer… I’m assuming it’s TC for the Bay Area?
Seattle
Where did you apply that didn’t get back to you? And are you planning to work on site, or remotely?
A whole bunch didn’t reply or rejected me at the application stage. To name a few: Amazon, Apple, Block, Figma, Google, Netflix, Uber. RTO 2 days a week is mandatory.
Can you talk about your prep duration ? How long did you prepare for coding and system design rounds
Unfortunately I don’t know if my prep is generalizable. I did 10-15 LC mediums, spanning different categories of problems, off Grind 75 over 2-3 hours. For system design, I read a few more chapters of DDIA starting around the Transactions chapter, but none of it came up during my interviews.
Oh cool, never heard of Grind 75. Sensible. https://www.techinterviewhandbook.org/grind75
Wow so which org are you at right now?
Can’t share that
For the stripe debug round, any insight to how they expect you to run the project? I use Emacs to debug so im a bit nervous my env won’t be configured properly given there are plenty of different ways to config a py project Example: my Emacs is set up to run pytest so if they give me a repo with something else my debugger config won’t be prepped
I used VSCode. The project for my round was tested with pytest but I’m not sure if all of them are. They do give instructions for how to set up the environment (though it’s basically just ‘pip install’ for Python, lol) and run tests but debugger setup is up to you.
Congratulations. Are any of these positions fully remote ?
Only Stripe
If anyone reading would like a TikTok referral, just DM me. We have plenty of open roles
I am interested, reached out by couple of recruiters too. When I share my resume they reject me. I am not sure what's wrong with it since I am getting calls from other places using the same. Any advice?
Apply using a referral because our recruiters are known to ghost
Oh wow what was your highest TC pre-cliff? Like how much have you saved so far?
Highest TC is this year: ~390. Very lucky/grateful!