15+ years of engineering and leadership experience in the industry, most recently at Google across multiple teams. I have domain expertise in machine learning and large scale distributed systems applied to ranking and personalization problems. During this AMA, I can help shed light on the life-cycle of your interview process, career advice, resume reviews and any other relevant questions you may have including things like engineering culture, leadership, etc. I can also answer questions around cost of living, compensation, and negotiation. Since this is an AMA, I will be answering in generalities so that it’s broadly applicable to the audience here. If you’d like personalized advice, resume reviews or feedback, I’d suggest you check out Rooftop Slushie. I’ve had a rewarding experience so far on that site helping out people in various stages of their careers so far. You can either ask the question broadly to the group there - tag the relevant companies you are seeking advice on, or ask me directly via my profile ( https://www.rooftopslushie.com/profile/stiXfWhJvKky . You might need to create an account to login, but the access to the existing answers is free to view). Note that the answers here represent my own individual opinions, and should not be interpreted as official communication on behalf of any company. #tech #career #ama For the TC or GTFO crowd: 650k (quite dependent on the stock price, so I've put in a round number here) Edit: Checking out now. Thank you everyone for participating. Lots of great questions.
What tips do you provide someone wanting to break into Product Management?
Depends on the type of role you're interested in. Let me touch upon some common themes here. It would be helpful if you have had work experience that demonstrates versatility. You should introspect and try to be clear about what you want to do - do you want to run large cross-functional projects or do you prefer incubating new ideas? What domain do you want to specialize in? Do you have past expertise (engineering or otherwise) that you want to leverage? For example would you prefer working with engineer teams alongside fields such as legal, privacy, policy etc? Or move to consumer apps or enterprise products? What do you expect your career to look like in 5 years? You need to be clear about this, and then this should show from your resume and during your interviews. At FAANG (especially large companies with several specialized teams as opposed to small-knit generalist team) a great PM is one that understands the technology fundamentals of the team they're working with and aligns various teams with the help of engineering managers and business. There's a great deal of technical project management skills required along with the knack of understanding how to break down ambiguous technical problems into sub problems that make sense with the charter of the teams you're working with. A past history of working with big data and analytics really helps demonstrate evidence about this. You might have to make that very clear to further improve your chances on getting noticed by hiring managers of large teams. I think most non-FAANG b2b roles would also be similar in scope and requirements unless you're in a small startup where you're expected to be a generalist. Tech and analytics skills would be useful - but demonstrated experience always beats something like "learnt python".
How does a product manager’s role differ from a L6/7 architect role who also decompose ambiguous technical problems and manages people to deliver? Do we need them because we dont have enough architects?
There are a lot of stereotypes about Google engineers. Honestly, what is it like to work at Google? Do you think the stereotypes are true?
Depends on which stereotypes you're talking about! There are a lot of them :) The perks and benefits are definitely true. The uniqueness of Google culture is decaying slowly as the company has grown big in the last 8-10 years. The iconic people have left, and a lot of culture-defining traditions, leaders and systems are no longer there.
Where have they gone for the subset who are still working?
1) How do you feel about today's Leetcode-type interviews for SWEs? 2) Why does Google have such a notoriously slow interview process?
1. To be honest I don't like the leetcode-style interview process. The challenge with changing the process is - how do you maintain consistency across all interviewers when you switch to a new standard, and how do you reduce game-ability of the system. There are moonshot projects around hiring through different mechanisms (for example you may have seen a surprise invitation to a coding challenge when you Google search for things related to software engineering). Do you have any better suggestions? 2. The process is slow due to standardized hiring and leveling system across the company. Unlike other companies, individual teams don't hire SWEs for their open roles. Candidates first need to clear the technical interview round and the hiring committees before proceeding to the team match phase. There are advantages and disadvantages to this - for example the advantage is that you don't need to re-interview when you switch teams. The other reason for the slow process is the detailed interview feedback that interviewers are required to put into the system. Interviewers don't simply provide quick hire/no-hire recommendations - we have to justify every axis that's part of the role with evidence and code snippets. This is very time consuming.
Thanks for your response. I don't have anything against Leetcode style interviews, but this may change as I advance through my career: the thought of still having to Leetcode at Staff level is strange. Other interview format suggestion: has Google experimented with pair programming rounds before? I believe it's a better signal than Leetcode interviews, since it overlaps more with day to day swe skills.
Have you been in hiring committee at google? If yes what’s a line in decision making between L5-L6 and L6-L7 for managers/ sr managers? How you decide?
There are many different axes and different archetypes of people who are L6 or L7, so it's difficult to provide a single general answer to this. In general, from L6 onwards you are expected to show strategic leadership, company-wide impact, ability to thrive in ambiguity and solve large open-ended problems where the high level nature of the solution was not clear to the leaders who presented the problem. On teamwork and collaboration - the ability to lead engineering efforts across multiple teams of 10+ people. Other than these, if you can show yourself to be a thought-leader for a critical system with company-wide impact, that is a good indicator.
On this topic, how does L6/L7 compare to E6/E7 at FB if you have any impressions?
How does Google’s interview process work behind the scenes?
Here are the typical steps for a software engineer interview candidate: 1. You get referred or added to the system. You pick your preferred roles and a recruiter reaches out to you set up a timeline and note preferences. 2. You get scheduled for 2 (sometimes 3) phone interviews - these are typically heavy on coding and problem-solving. 3. If all goes well, you are scheduled for on-site interviews. Typically 5 interviews, 2-3 on coding and problem-solving, 1 on leadership and culture, 1 on system design, and 1 on domain expertise (e.g. ML or Design of large scale systems). 4. It takes a couple weeks to get all the feedback in, and schedule it into the agenda for one of the hiring committees. 5. Finally, you move forward to the team matching and SVP approval phase. If you bring in counter-offers, it can go through several rounds of approvals again, especially if you found a team and the hiring manager / director / VP vouches for you.
Can you talk about hardware engineer interview process as well
How did you get interested in machine learning? Do you think it was a good area to gain expertise in?
I was always interested in AI, and ML followed from that interest. Yes I feel very lucky because it was not clear in the late 2000s that ML would be so useful today - back then the hot computer science fields were distributed systems, high performance computing, etc.
Is ML something you can realistically break into without an academic background in it? For example if you have an engineering background but work for a cloud company that commoditizes these services? Are “technicians” respected who learn the nuances of, say, TensorFlow but have no formal training, for example?
1) How does the interview process work for Research Engineers in G Brain/Deepmind like teams? 2) Are these teams on hiring freeze?
What is the difference between interview expectations for L3 and L4 SWE ?
How important is resume for leveling decisions? And for team matching?
It's important indirectly, not directly. Your resume can show if you have some very relevant skills for a particular team and that might make them vouch for you. For leveling, your experience and interviews matter the most - the resume is indirectly helpful because that's how the committee learns about your work experience.
How has the interview process changed during COVID-19?
It's changing as we speak! The headcount has reduced since Google is slowing down hiring for the rest of 2020, but some teams are still hiring. The process is largely the same, except that there's no on-site interviews and everything is done over Hangouts. The coding rounds are done on a shared Google doc very similar to phone interviews, except that the candidate is also on video. If you hate whiteboard coding, you might prefer it this way. The one that's tricky is the design interview. Since there's no whiteboard, the candidate must draw within Google docs or jamboard and this isn't a smooth experience so far. The other downside is that as a candidate you don't get to experience the Google culture, on-site visit and perks. The interview standard, questions, hiring process etc remains the same.
Please don't spread panic. Offers haven't been rescinded - summer internships have been affected and full-time roles joining dates have been re-scheduled.