Google offer | Thank you Blind | AMA

I started heavily using Blind about 3 months ago when I started preparing for my job search.

Today I received an offer from Google and I owe Blind a huge thank you for my success, from preparing for the interview to negotiating the offer, I probably wouldn't have done as well without this platform. So I wanted to give back to the community what little I could by sharing my experience.

Background:

BS in CS from a no name public university, 3 YoE at a midsized tech company, Current TC 150k

Preparation:

1) Elements of Programming Interviews in Java - I wouldn't have even heard about this book without seeing it mentioned on Blind. I read the subject matter and did the questions recommended by the authors in their 1 month "Term Project" plan.

2) LeetCode: I don't think I would have done as much LC as I did if it wasn't stressed so much on Blind. Some might say I still didn't do enough! I completed 130 questions, with a 30/50/20 easy/medium/hard split. I mainly stuck to the 100 most liked questions list. For each question, I first have it my best try. Sometimes I was able to come up with an acceptable solution, other times I wasn't. Either way, I went to the discussion tab and spent time understanding the approach behind the top voted answers. By the end, I could do most mediums on my own in 20 minutes.

Leveling:

I found a lot people on Blind finding out their interview loop was for a lower level than they expected after the fact. Having 3YoE at a non-FAANG, I was afraid of being interviewed for L3, so I ensured multiple times with my recruiter that the interview loop would be for an L4. Had I not done this, I may not have ended up with the offer I did. I suggest everyone do this to avoid a nasty surprise.

Interviews:

I had 6 interviews total, 45 minutes each. 1 phone screen and 5 onsite. One of the onsite interviews was a behavioural one. Nothing much to say about that one. "Tell me about a time where..." type questions. This type of interview is very new at Google for SWE roles. Source: my interviewer.

The rest of my interviews were coding. No design interview (I was surprised too!). Practice really paid off and I aced all of the technical rounds. On a couple, I needed a bit of a push from my interviewer, but managed to get the optimal solution. I'm not sure if this is because the bar is lowering as people have mentioned, or because I was well prepared.

Negotiation & Compensation:

I received 3 competing offers of about 250k, but thanks to Bind I knew Google could pay more and I knew I had to negotiate hard to get it. I felt I deserved it after my interview performance. Ideally, I would have loved to be at the top of the L4 band with TC of over 300, but I wasn't able to pull that off. I ended up with an offer that broke down as:

150k base, 15% bonus, 380k RSUs, 40k sign on

TC: 277k

So thank you again friends. Your time spent contributing to this platform is appreciated. And sorry about the long post.

Edit: All but one of the 15+ technical onsite interviewers allowed me to use a laptop instead of the whiteboard. Please do yourself a favour and USE THIS OPTION unless you have a really strong case not to. Coding on a laptop is much more natural and efficient. For some cases, you'll want to let your recruiter know in advance you want to code on a laptop, in others, you'll be asked beforehand, or on the day of the interview. For Amazon, they didn't have a laptop for me but they let me use my own. For the Google interview, I opted to use the laptop and my interviewers were pleasantly surprised. They said they rarely interviewed someone who used a laptop, and actually preferred it as it's easier for them to read.

The whiteboard will still always be there and is great for illustrating your solution before implementing it.

Edit 2: Negotiation Strategy.

Since I knew I wasn't going to get a competing offer that matched the TC I wanted, I tried the strategy of giving the initial number and told the recruiter I was expecting TC around 330k. I justified this by citing my interview performance, which was stellar. The recruiter told me all the feedback was awesome as well. This didn't prove effective at all... Initial offer from G was 230k :/ I probably shot myself in the foot by giving a number that's too high.

Strategy 2 was to use my competing offers. As mentioned, highest one was 250k, but I suspected G would just match this and not go higher. So I quoted my competing offer to be 270k (higher than it actually was but not too high that it wasn't believable). My recruiter did try ask me for proof, but I said it was verbal only, and we moved on without an issue. As expected, Google just matched it (actually, was slightly lower). From there, I had to be persistent, insisting that G had to beat the offer for me to accept, and inch the TC up slowly until it eventually got to 277k.

Edit 3: More on Preparation

I was working full time while studying, and studied after work and around social and family commitments. This usually ended up being about 2 hours late at night, which was enough time to deep dive into 2 or 3 LC questions per day. I did this for about 2.5 months in total.

Edit 4: Interview Scheduling

For my phone screens, I used the time difference to my advantage. I'm on the East Coast and all the companies I was interviewing with are on the West. All my phone screens were around 6PM ET.

For my onsites, I scheduled them all (4) during a week long "vacation" from work. This way I gave my employer no reason to be suspicious. Some people say scheduling multiple interviews back to back can lead to burnout. I didn't really have that problem. Woke up around 8, interviewed from ~ 10-4, then went back to my hotel room to relax for the rest of the day. Might not be for everyone, but it worked for me.

Congrats, but doesn't this also prove that the whole interviews of the FANGs can easily be cheated by preparing well with LC etc? I kinda wonder if the tech companies are really able to check for a certain bar. The day I launch my own company I will only hire candidates with a proven and strong open source contribution background.

@y0y0y0... My idea is asking for reference work links that demonstrate the candidates contributions which are reviewed by 2-3 engineers prior to the onsite. During onsite the engineers will do a deep dive on the references given with the candidate. Managers will check behavioral questions and architecture skills. No LC cheating required.

Leetcoding takes lot of time. The posts you see are only success stories. I know lot more people who tried it and failed. Even though you don’t leetcode in actual work it’s really good to judge someone’s speed, thought process , problem solving capabilities. open source contribution is lot more easier and hard to judge someone than this.

I disagree. Strong contributions take a lot more effort than practicing LC and recalling the same during an interview. I'm talking about contributions that are in real software used by many. This requires a lot of passion, technical interest and skill to be achieved. I'm not talking about someone publishing random GitHub repos that nobody bothers about. But proven commits in Linux kernel, well known open source tools etc. You can easily separate the skillful from the wannabes by using this bar. There's also secondary evidence in mailinglist discussions or bugtracking systems that can be used as a reference. I know for sure that this path used to be very successful during the 2000s when companies were looking for real programmer personalities, that not only cared about TC but also about technology.

Well if you need that level of software engineering skills it’s hard to find. we need lot more engineers than 2000. So the idea may not be successful for FAng.If it’s a startup may be you can find someone if you can beat TCs of Fang.

@dddddd1 First, the number of programmers who contribute meaningfully to the linux kernel (or similar scale projects) are incredibly low. Not to mention most are not on the job market, or don't have the right skills you need for a team. You can certainly start your initial team with only top open source contributors, but when growing your startup, say 5x in a year, how will you do that?

You will have to turn to "random Github repos that nobody bothers about" and the glaring problem with that is it's much easier to game than LC. Copying code/design, wiping out commit history, these are simple tricks that desperate people can use to game.

No matter how you look at it, LC is very hard to game as it's ultimately an IQ/pattern matching test and not a simple step-by-step guide to getting hired.

But you are absolutely right, if I was going to start the next Google I would initially hire all the top contributors I could get (and outbid the other offers they surely have).

I agree. Looking for engineers with strong open source contributions is easy. Hiring them is hard, and getting enough of them to build a company is even harder. This seems like some next level trolling to me, TBH, because it’s so far off reality. I’ve worked with tons of good engineers with a total of ZERO commits in the Linux kernel or other high profile open source projects.

First of all, practicing on LC is not cheating, there is nothing stopping the companies from asking newer questions (which actually they do). However if you practice the generic questions in sites like LC, you are way more likely to think and come up with optimal solution for new questions.

Second thing, the open source contribution and reviewing their previous work approach... is also not fool proof either. This is actually less fool proof.

True, but comparing Boston to MTV, state tax is about 3-4% more, rent for a modern 2br increases from 3k to 4k, and since I can't solely rely on public transit, I'll now need 1 or 2 cars. From my initial estimation, these are the substantial increases in costs.

I didn't decide the rules to the negotiation game. Ideally, in my world, Google would offer me what they think I'm worth. But that didn't happen, their initial offer was ~230k, even though their final offer proves they think I'm worth (at least) ~280k.

It actually slightly irritated me that I told them I was looking for 300k+, and they only offered 230k... And looking back it irritated me a bit more that they were willing to pay closer to my expectation but didn't initially offer that.

At the end of the day, they're doing their best for them, and I'm doing my best for me.

By "them" I'm referring to the compensation team who I believe make the decisions on offer numbers.

I also want to point out that this isn't my mentality at all as an engineer working on a team, and I detest negotiating, and I detest the fact that negotiating can result in a 20%+ difference in your TC!

I also want to add that I'm not trying to sound ungrateful, or bash anyone. I'm just annoyed at the system and using this comment as a space to rant.

Agree 100%, their initial offer was shit. Wasn’t even close to what you asked even though they were fine with that.

You did what you had to do and then they increased is 27% - that’s not a small number. It’s just a damn game, that’s why I negotiate hard. This is also one reason I really respect Netflix, they just give right what you’re worth.

Agree, you better tell what you want to get and then negotiate to make sure you get no less or at least really close. Obviously before you tell your “expectations”, it’s best to know what market pays for your skills and experience. If you have offers to prove that, even better.

While prepping for sometime I realized why FANG goes for basic computer science questions, and if someone preps using leetcode, why its actually good when they can crack the interview.By doing the above way, Fang guys are sure the interviewee can actually solve propblems thrown at them. Sometimes many of us are not aware what we dont know, and hence we wont be googling for that.If I have a broad idea of any problem can be solved using the myriad of DS, I am pretty much set even if I dont know any specific programming language.Many companies ask API level stuff from specific languages. While thats a good approach, but it does not get close to how I might be able to solve a problem, in any other language.

When you are at Google, just check internal pay sheets, your offer is super rare for L4. Additionally lately people from companies like Microsoft are still getting L3, not L4. I was in Microsoft almost 4 years and did well on my onsite, got L3. Now when I’m at G I see hundreds of people like me. Also my competing offers were rejected, they won’t care about not-FAANG companies. I just don’t want to people think that this is easy and standard, nope, seeing pay sheets you can easily notice that this TC is some super high percentile almost nobody gets.

I have 2.5 yoe and told my recruiter that I want to interview for L4 and expect 250k depending on competing offers. Blind tells me I lowballed myself. I guess your saying 250k would be on the higher end if I got it?

But my intentions are not to demotivate you, just learn as much as you can and show them your A game! It’s totally possible to get L4, but remember to ace the design and leadership tasks, they are probably the most important for L4. If you’d choose L3 interview, you won’t even get system design round. I had those and they say it was hard to decide but as my design wasn’t L4 for them, they gave me L3. In my previous company I designed and scaled a big ass system by myself, but it wasn’t enough for them ;)

@OP you’ll get refreshers each year so there’s no point averaging it out. TC is what you make that year, that’s as objective as it gets (also because different companies have different refresher policies so you can factor that in for your second/third/fourth year calculations if you wanna plan ahead)

Bonus is a tricky one, as you only get it on your 1st year. Some people count the whole thing towards their TC, some people ignore it completely. I think it makes most sense to split it over 4 years, same as the RSUs.

That's one way to think about it. I include it because it gives me one number to compare multiple offers.

Ignoring the sign on bonus isn't fair, for example, to an offer that offers 100k less in RSUs but 100k more in sign on. This offer is at least equal, and arguably better as you get the 100k immediately rather than over 4 years.

I have an undergrad degree in CS so I had learnt all of the material I needed for my interviews, it was just a matter of refreshing my knowledge since I don't use a lot of different data structures day to day. I hope that makes sense.

Congrats OP, this is inspiring. I guess I’m out of touch with G’s updates to interview formats. Didn’t know they now have a behavioral round and they allow coding on laptops. Wasn’t the case when I interviewed 2 years ago.

No idea, since I've never interviewed at Google for L3. I would imagine it should be, otherwise what would be the purpose of the levels. Perhaps the questions might be the same but the expectation lower? Not sure.

Could you please tell me what's a 'one month term project plan' mentioned in the post? I have EPI but the c++ one although I would have purchased the java one if I had known that existed :P. I didn't find any one month term plan in that edition. Is it on their website? Thanks!

I don’t know about the c++ one but in the first or second chapter, where they go over studying and interview strategies, there is a table that lists questions the reader should study based on the amount of time they have to prepare. I would imagine it’s in all versions of the book.

From what I could tell from the interviewers, they each come up with their own question independently so you should be ready for anything. Each of my 5 technical rounds (including phone screen) involved a different data structure.

They were all 45 minutes long, and all were just a single question. Some of them had a follow ups that were just conceptual not requiring coding, eg what would you change to optimize for speed over memory, etc.

I'm comfortable in JavaScript and Python as well, but I exclusively practiced and interviewed in Java.

Describing the solution took 10-20 minutes depending on whether or not I needed a hint to get to the optimal solution. Coding generally took 20 minutes. Interviewers asked follow up questions with any time left over. Last 5 minutes were for me to ask questions.