Interview Cycle: Facebook M1, Google L7, Microsoft L68, and Local Public Company
Hello all. I recently interviewed for positions at a local public company, Facebook, Google, and Microsoft and promised in another thread to recount the experiences, since there’s not a lot of Blind info for the experienced/higher level folks. So I don’t have to GTFO, TC is currently $396k (was $500k before stock tanked).
Background: Based on the east coast, with 20+ yoe in software, with about 10 years as a hands-on manager of ICs and 5 as a mostly hands-off manager of managers, including VP Eng at a startup with a team of about 25. Primary language experience is C#, though early career featured a mix of C, C++, and Java. Nearly every role was focused on SaaS and distributed systems to some degree. I don’t move jobs frequently. Excluding this last round, I’ve done a total of 8 job interviews.
The following is a chronological account with as much detail as possible, though I’ve tried to omit some things out of respect for the recruiting folks at the various companies and to avoid anything obviously self-identifying. The process was about 3 months of slow rolling and 2 month of excitement. Apologies in advance for the novel. For the tl;dr: scroll to the end for offers and final result.
The ball got rolling late in May with a LinkedIn message from an Executive Recruiter hired by a local public company (henceforth referred to as LPC). Unlike most LinkedIn spam, this seemed to actually be written by a human and advertised a VP Eng position. A phone call followed and things seemed like a decent fit, so a call was scheduled with an exec from the company.
Early in the month, had a 30 minute call with LPC exec. We discussed my background, the open role (managing a growing team of about 50 engineers), and generally had the types of conversations you’d have in an initial “fit” call. Things felt good to both of us, and I was told the recruiting firm would follow up with possible next steps, which turned out to be a 60 minute technical screen. Due to vacation plans and whatnot, that call didn’t happen until the end of the month and was a pair of system design questions (both were bulk/batch related, one for data, another for images). Again, things were left at waiting to hear from the recruiter for next steps.
Recruiter for LPC got back to me and the first (of 3!) onsites was scheduled for the last half of the month. In the first onsite, I met with some of the managers that would report to me. Questions were generally behavioral, but there was one brainteaser, which I was able to work my way through with a little coaching. Overall, it was a pretty laid-back experience and I was given ample time to ask questions of my own. Things seemed to go well, and I was promised a quick follow up. As it turns out, that didn’t happen for a couple weeks.
This is where things get interesting. I received an email from a Microsoft Executive Recruiter with a fairly generic email along the lines of “let’s see if there’s any good opportunity for networking” here. I said sure, why not and chatted with the recruiter a couple days later. The call was pretty conversational and covered most of my past experience, current role, etc. About 20 minutes into the 30 minute call, I realized it was a behavioral screen. At the very end, the Recruiter mentioned an open role and asked if I was interested in speaking with the hiring manager. I said sure, and the call was scheduled for the following week and a formal job description was provided for the Partner Group Engineering Manager role.
A quick check of Blind yielded some information, but it all seemed more myth than fact. It was at this point that I decided I might as well go all out and apply to open roles at Google and Facebook. I didn’t have any connections at Google, so I simply submitted via the careers site. For Facebook, submitted via a recruiter that had reached out to me a year earlier.
The Facebook recruiter got back to me quickly, we had a couple back and forths, and then he disappeared. Through another contact, I learned paternity leave was the culprit and that contact was able to get the ball rolling again. A screen with the hiring manager and one other manager was scheduled for the following week.
A Google recruiter reached out the day after I submitted my resume and did a quick screening call with me. Things looked good, so a quick call was scheduled with the hiring manager a couple days later. That call went well, and was nothing out of the ordinary. We discussed my experience and the role in more detail. The role (managing ICs and managers) sounded interesting and I was told the recruiter would get back to me with any possible next steps.
The same day, I had a screen with the hiring manager for Microsoft. Just like all the others, it was a dive into my experience as well as details about the role itself. It felt like it went well, and I should expect to hear from the recruiter soon about any possible next steps.
Over the next several days, I heard from all four companies. For all but Microsoft, I was handed off from the “Sourcers” to the actual “Recruiters” who would own the rest of the process until the offer/rejection conclusion. Interviews were scheduled and, over the course of the next three weeks, I had two local and two remote onsite interviews scheduled.
First up was the second on-site for LPC. That was more of the same, though I met with people who’d be my peers rather than my reports. These were a mix of behavioral interviews and simple conversations. Again, things went well, and I could expect to hear back “soon”. This time it actually was only a matter of a couple days.
Two days later, it was time for Microsoft, which absolutely wins the award for the best experience. The flights to/from Sea-Tac were booked in first class, and first class car service was arranged for airport to/from hotel and hotel to/from office. The interview panel were the other members of the leadership team (all L69+) I hoped to be on. Two rounds were behavioral and the rest were much more conversational and focused on a deep dive into the current situation, strategies to address issues and improve things, etc. Lunch was “off the record” and took place at a high end steakhouse. I had great rapport and conversations with everyone, including the CVP. (The CVP did ask the interesting question about whether I’d consider eventually moving to the west coast, and I said yes) It felt like things went as well as they possibly could and it was the most enjoyable interview experience I’ve ever had. It felt far more like a collaboration than an evaluation.
No rest for the weary. Local onsite at Google and LCP, and a trip to Menlo Park were on tap for the following week. Google was up first and was definitely the most challenging interview. It was two rounds of system design and three rounds of behavioral/managerial. The first system design was to design Youtube video upload service. The second was much more interesting as it involved deploying a hypothetical team to both maintain an existing service while designing & building its replacement. That was the only round I didn’t have a great read on whether I nailed it or not. Two of the behavioral rounds were the fairly standard questions about the role of a manager, handling high performers/low performers, mistakes made, etc. The third was a series of questions about a slowly disintegrating dynamic between two teams. As it turns out, it was based on actual events. Overall, I finished the day exhausted but feeling good.
Now it was time for round three with LCP. This was the final round with the CEO, who went for the jugular by opening with “how would you redesign our app?” as a question. Great question! I was able to provide some feedback and generally show that I did, in fact, research before showing up. This was a very interactive session and focused a lot more on organizational and company strategy than anything else. We wrapped up and things felt good, but there was no time to celebrate because I had to head straight to the airport to fly out for the Facebook onsite.
Yes, we’re still in September and both my family and coworkers are starting to forget what I look like. The flights booked by Facebook comprised 12 hours in middle seat economy. Ain’t nobody got time for that, so I upgraded both legs to business class with lie-flat seats. Money well spent, IMHO. The interview itself was pretty standard. The only part that concerned me was coding. It’s been a while, so I did about 20 LC easy/medium to prep. A pair of system design (translate posts & autocomplete) and a light coding problem that required some basic knowledge of big-O, making a reasonable choice with data structures, and a small amount of cleverness. Other rounds were pretty standard behavioral/managerial. The project retro round was with a VP and was advertised as also having a coding component, but it mostly turned into a Q&A were I was able to get some insight on life running a 1,000 person org. After the interview, it was straight to the airport to catch the red-eye home and to wait for results.
Results came early in the following week. LPC let me know to expect an offer, Google recruiter let me know I passed the panel and would get back soon to schedule another onsite to meet the team. It was at this point that it was confirmed this was an L7 role. Facebook got back to me to say I’d passed as well, but a quick fit meeting with hiring manager and Director needed to happen. Finally, Microsoft let me know that there were two other candidates for the role who were interviewing in the next week and a half, so I’d have to wait a little longer.
Later that week, the Google team fit meeting happened. This was on site and I met with members of the team I hoped to join, as well as the hiring manager and Director. Meetings with the team members felt like they went very well, but the meeting with the HM & Director felt somewhat forced. I’m a person that can easily have a conversation with nearly anyone, but this one was tough. In any case, I found out a few days later that the Google team passed and went with another candidate. Good news was that the recruiter had another interested team, so a call was set up for a couple days later.
On the same day, I received my first offer (details at the end) from LPC and it was better than expected, but certainly less than I could expect from FB, G, and MSFT.
Shortly thereafter, I met with the hiring manager and Director at Facebook for a fit meeting. That went very well. I really liked both of them and it felt like a good fit, though it was a role managing ICs and not other managers. I liked the team and tech enough to not count them out, though. Immediately after that, I received the offer for Facebook for an M1 role. (details at the end) I let the recruiter know that I was still waiting on a couple other opportunities and asked for a week to consider.
Fast forward a week to the end of September, and I finally heard back from Microsoft. They thought I was great and I was the top choice, but ultimately decided not to hire externally for the role. In hindsight, my discussion with the CVP gave a clue that they were probably hedging their bets and didn’t want to invest more in a remote team that has an uncertain future. The recruiter did ask if a move to the west coast was in the cards, as they have lots of open role there. I left that at “let’s see how my other opportunities pan out first.” I have a kid who’s just getting over a move and making new friends, so moving is really a last resort. Boo.
There was no time to pout though, as another team matching call for Google was scheduled for the next day. That one was with the hiring manager and went very well, so I was back in good spirits. Alas, I found out a couple days later that he decided to go with an internal candidate. At this point the recruiter decided to switch tactics and submitted my package for hiring committee review.
October started with the Facebook recruiter still waiting patiently, notice that I passed HC at L7 with Google, and that another team is interested. Again, the match conversations went well and I’m back in business. I got along well with the team and the work was interesting, however the role was managing ICs and not other managers. Not ideal, but I can work with that. On the call, the Director indicated they were going to move forward. Sweet L7 here I come. I received the offer a couple days later. In the meantime, the hiring manager and Director from FB reached out with a couple notes reiterating their desire for me to join the team and that they felt it was a great match.
Now, this is what everyone probably cares about. By the time offers were coming in, each company knew who they were competing against and at what level. At no point did I reveal any offer numbers to the recruiters. I did my research on Blind/Levels and I set my floor at what looked like the 75th percentile. Aggressive, but with some room to negotiate up. I also let companies know that for comp, my number is the average of the first four years comp so I have a way of comparing differences in equity vesting, joining bonuses, and refreshers.
Here’s what I asked for:
LCP: No guidance.
G: $700k (I was more aggressive here. I also told them that if they hit that number, I would accept on the spot)
Here’s what I got (4 year average - Salary/Bonus/Stock/Joining/Refresh)
LCP: $505k -- $225k / 25% / $500k/ $20k / $250
FB: $595k -- $230k / 20% / $900k / $75k / $200k
G: $613k -- $240k / 25% / $971l / $0 / $189k
So, LCP is out, but came with a better offer than I thought they would. Facebook crushed it and came in above my ask by almost 10%. G came in more than 10% below my ask. The G offer was interesting because it had a vesting schedule that was front loaded to make year one comp come close to my ask, but the result was that my TC would actually decrease every year as a result.
In any case, I was tremendously disappointed with the G offer. It definitely seemed like the goal was to come in slightly higher than a Facebook M1 offer and then to deceive a little bit with the equity structure. The more I thought about it, the more offended I got (I know, emotions are a weakness here). I gave it a day and then made my decision to join Facebook, but still needed to negotiate. I let FB know that I had a stronger offer from Google, but not one that was out of reach. I gave them an “accept now number”, which was to add $50k to the original offer.
Once again, Facebook came in over the top and I accepted the final offer:
$663k -- $240k / 20% / $1100k / $100k / $200k
Final orders of business after accepting were to let the other recruiters know my decision. LCP was easy because they couldn’t compete in comp. The Google recruiter was the toughest. She was awesome throughout the entire process and probably put in the most work of anyone, only to be left hanging by the comp team. Google did follow up later and asked for a chance to compete, but a) I’m not willing to renege (unless it’s for an exorbitant amount of money) and b) they had the first chance to seal the deal but squandered it.