Google is an American multinational technology company that focuses on search engine technology, online advertising, cloud computing, and much more. It is considered one of the Big Five technology companies. Headquartered in Mountain View, California, Google captures more than $200B of advertising spend every year.
A quick TL;DR of my career, I started off at Lockheed Martin doing Linux C++ and Java development with a bit of SRE work building out Jenkins+Docker CI/CD infrastructure for my team. I then went to do frontend web development on Google Cloud. However, after around eight months, I wasn't too confident on my trajectory within the team, so I moved over to a team outside of Cloud. In this role, I did Android development with some C++ backend work mixed in. Looking at my background, I've worn several hats and more or less had multiple different roles during my ~4 year career.
This is all because I care more about the end result of my work instead of the work itself. The language, tech stack, etc that I am using is not what gives me fulfillment. Unfortunately, it seems like I'm getting punished for this mindset, as every employer wants someone who has been using the same stack their whole career. It's not surprising given how recruiters and anyone in the hiring process is seeking to find any reason to say "No" to you. They have become adversaries that one has to take down, since passing Google's hiring bar now no longer carries weight. Each interview I fail to pass just appears to perpetuate a narrative that I was nothing more than a COVID overhire and deserved to be laid off.
Is there a gainful role out there for me, or am I going to just have to settle for some dead-end job that will just drag these career woes on?
What should I think about and focus my efforts on when I get a project and a role that's of (1) bigger scope and (2) tighter deadlines than I'm used to?
A reorg has suddenly thrust me into the TL role for a very high-profile project on a new team. This project is part of OKRs 4 levels up the chain and has the eyes of several director level people across different functions. From what I've heard, this project already suffered from "too many cooks in the kitchen" syndrome, and on top of that, this project has delivery date set in Q3, which is quite aggressive from our org's standards.
I've landed in this position because I was transitioning to this team prior to the reorg, AND the EM/TL/PM/2 L5s has been reorg'ed out, and they needed someone who had previously TL experience and was willing to do it.
I've previously TL'ed a team of 4 people, with important but "normal" priority projects. This is clearly a great opportunity for me, but I am afraid I'm not ready to handle it and I'm at a bit of loss as to what I should be focusing most of my effort on. With the tight deadlines I have, I feel like every day will be a battle so any advice on how to approach this will be appreciated.
I have one other L5 supporting me who I trust very much and a new EM who's rumored to be very good. We currently have 4 SWE including me and we'll be getting more at least 4 more engineers, with lots of adjacent teams helping out. I do also have good standing and connection in the org overall and I know how to get a "normal" project in our org over the line (I did an in-org transfer).
I’ve been in my team for over a year now and I’d like to change teams. In my previous companies it took a lot (of luck) to change teams (typically would only happen when orgs restructured). I’ve heard the process in google, and tech in general, is really straight forward and I’d like to get out of my org and try a different team. Would anyone be able to provide tips or guidance on how to change teams?
Our VP keeps office hours every week (even more so recently because of the layoffs announcement). However, I see (and he often complains) that people do not utilise those, perhaps because people do not know what to ask.
I see this as a wonderful opportunity to learn from the senior management (as well as build some visibility). However, I myself am not sure how to utilise them so that it is not a waste of their time.
I have utilised them once and it helped me understand what the work expectations look like from our VP's perspective as well as his insights on growing fast. But, I am not sure if I did it right, and any perspective on this would help.
All Big Tech including Google, Meta, Amazon have done one round of layoffs. Interesting to hear what is your opinion is on the severance packages in the subsequent rounds. Does it get reduced? Asking because I am in interview process with Google. If they do a layoff will I get very less severance than the 1st round? My friends at Google are certain that there will be more rounds of layoffs in coming months.
For context, I work in a tech lead role where I am often making recommendation to my manager regarding the projects coming down the line. The EM has the final say on this, but they respect my opinion on this matter so I don't want to mess this up.
I also have 1:1s with my teammates whom I am responsible for about their career growth goals. My teammates are all the same eng level, but have different levels of competence and desire to learn.
Additionally, I also know it's important for me to leave some room/ambiguity in project investigation stages to allow folks the space to grow, while it's also important for me to take on some challenging work and help our team deliver more quickly. I guess my question is really 2 parts:
I am currently burnt out and looking for ways to take a break.
Looking at Google's generous severance benefits, I had thoughts to inform my manager that I am up for the chopping block if there are any foresight of next round of layoffs. Which I think should be good for the company since I am also helping one motivated Googler to not be laid off in the future.
But then, I am afraid it might get rejected and my manager's relationship with me get strained.
Are there any suggestions on getting severance package while indicating my intent to resign?
I am currently not on PIP and is considered excellent performer. I was promoted to L5 in mid 2021
Michael Lin's blog discussed on the "preemptive severance package" which is relevant to what I am hoping to do
I am a new grad Software Engineer who has completed 6 months ago. There's a lot of internal tech stack and plenty of codelabs. Lately, I have realised that I am not prioritising learning about the stack my team uses (but I do not currently use directly).
I understand it would be helpful in one-off occasions when I have to interact with a new part of the codebase or during on-call, which I am expected to begin soon. However, I always end up prioritising my current work that I have in hand. (It is also because of the fact that I find the codelabs pretty slow and boring)
How should I prioritise learning new things? I remember Rachel's video where she said she spends 20% of her time learning new things and that seemed like a good strategy to me.
Apologies in advance for a long question. Not sure how to ask this question without providing deeper context.
I’ve been working with my current manager for the last 1.5 years. While they have recently helped me get promoted to Senior, it’s been a constant struggle. I dread our 1:1 almost every single week because it always run overtime and we are often still not on the same page.
I see two major issues that haven’t notably improved in the times I’ve reported to them.
(1) My manager isn’t able to coach me, or any of the SWEs on the team. My manager doesn’t seem confident when we have career discussions - I recently asked them what they thought was the difference between good TL and a great one, and they struggled to coherently answer this. Instead, they said they would know better after the next performance calibration. Additionally, none of my teammate has gotten proper coaching either. For example, a teammate struggled to submit code due to their poor code quality and thus had low CL velocity, so my Manager simply told them to submit more CLs, which only made them more stressed without a legitimate way to improve.
(2) My manager lacks technical understanding of our projects and constantly pushes for speed. My manager was externally hired, and to this day, they don’t really understand the complexity of the work our team does. I understand EMs don’t need to contribute code directly, but my manager almost always underestimate how complicated the projects our team takes on are. As engineers, we frequently have to defend our timelines, which is not only frustrating but also pressures some teammates to favor suboptimal design or hastily done CLs that just causes even more churn.
The weird part is, my manager often seem unaware of their own actions, and when I talk to them about these issues, they are always receptive to feedback and seem willing to improve. However, I simply haven’t seen enough improvement in the last 1.5 years.
I could leave, since this is having an impact on my emotional well-being. But I do have good standing w/ my own team and the overall org, and I want to use this situation to learn as much as I could. I know that I myself have a lot to learn as a tech lead (Thanks for , it’s really helpful), and I know I can probably get a bit ahead of our projects and start estimating/de-risking earlier, so my Manager doesn’t get overly aggressive with timelines. I know I can also take this chance to more closely mentor my teammates and help them succeed, since they aren’t really getting it from our manager.
I want to stay, but is it the wrong decision because I have little career support from my manager? If I do stay, what should I focus on so I can really help my team and at the same time learn something valuable for my career?
I am an L4 engineer with decent knowledge of my team's stack.
What are some actions I can take to meet expectations in my current role for the next few years, while minimizing the amount of time I spend on work?
Given that I'm not shooting for a promotion, does that change how I should approach relationship building with senior folks on the team? There is a lot of advice on Taro about relationship building, but it appears to be aimed at folks who wish to promote quickly.
YOE: 10 months remote at an AWS Partner (DevOps/AWS account remediation stuff)
Hello, I’m in my early career and in need of some career advice. I would like to get into a SRE-SWE role at Google, preferably in Zurich (I’m a US citizen) for better career growth and new life experience.
Currently I work remotely at a tiny AWS Partner where Terraform and AWS Cloud remediation is my main work. Though I had no intention of giving up coding, the job I got into pays well but is not exactly what I was expecting...
After the first couple months of trial-by-fire with terraform - my job stopped being challenging and I have tons of free time (which I used to get 4 AWS certs so far.) Terraform hasn’t been difficult once I got the hang of it, and most of it I don’t consider actual brain-exercising coding work like I had done when learning to code (i.e codewars). Lately, I feel my only growth has come from the knowledge I’ve gained from self-studying for my AWS certs. Though I have enjoyed studying for my AWS certs and gaining depth about cloud services (I really enjoy research and distributed cloud architecture to make things work on a mass scale is amazing) and I just cleared the AWS Certified DevOps Pro exam which was a significant milestone for me. BUT…
Also I really love working remotely but I would go to the office if it meant Google and a new life experience in Switzerland.
And I would really love any insight you can give about such SRE-SWE roles and if that sounds like the best fit for my current cloud specialization and interests. Thank you
I am currently a software engineering intern in Google. My main goal is to get a return offer after I complete my internship.
Based on my conversation with my intern manager, the high level metrics for success as an intern are definitely technical problem solving, collaboration and feedback etc. This is highly aligned with Alex's videos on the Internship series, where he described that an intern's main performance metric is code volume. I have also learnt that finishing a project drastically increases one's chance for a grad offer based on interns who converted to FTE.
However, I noticed that there are a lot of opportunities for events and mentoring. My current strategy is to focus most of my time in the project while networking mainly in the team to make sure I have a great relationship with them. Occasionally, I meet another employee once a week or so. At the same time, I noticed that most interns are using most of their time to meet with other FTEs from all over the world and other teams.
I personally find that a large codebase with so many contexts and 12 weeks to be the main factors on why I am a bit more conscious of my own time.
Is my current strategy to focus on the project and networking mostly with my current team optimal for a return offer? If not, are there anything else that I should be focused on?
I joined this new team in October and I'm finding it hard to demonstrate velocity as an entry-level developer. I'm sure this has been discussed before on this thread but what are some sure-shot things to do to increase my commit count?
I know this isn't the healthiest way to approach things but commits and reviews are the best way to demonstrate impact at the L3 level and I'm trying to maximize my impact until the end of this year.
How can I add code quickly? e.g. Add extra unit tests for edge cases, add logging statements, etc.
I am actively interviewing for companies and passed hiring committee for Google but there are barely any headcount. I have received some good competing offers and I told my recruiter I have some deadlines coming up. That has not sped up the process and my recruiter isn’t especially communicative after I told him I wouldn’t mind expanding the product area for team match. Should I just accept a good competing offer and come back to team match while working that other job? Also, does anyone have experience finding a new recruiter at this stage? I don’t feel like mine is particularly invested in advocating for my profile despite passing hiring committee.
I'm still in school, but I will be graduating in a couple months. My goal is to get promoted as quickly as possible at a reputable company like Google. However, there are so many ways to get better as a software engineer, and I'm unsure how to prioritize all of this information. What should I focus on since I'm earlier-in-career to really unlock that fast career progression?
Constantly struggling with recognizing my contribution and promoting my work, as an introvert it almost is like my mind rejects self-appreciation and promotion. What are some small first steps I can take to get comfortable with self-promotion?
A colleague of mine suggested talking with my manager about comp. planning at the end of the next performance cycle saying something like:
"Hey now that perf has wrapped up, I know you’ll be going into comp planning. Should there be any funding that could be applied in my situation, here are my for which bucket it goes into (base salary, GSUs, bonus). "
They also said that they always have this discussion with whoever is their manager each year.
What do you think about this tip? Do you have any other suggestions?
Something I want to get more efficient at is promotion trajectory, and team selection is a big part of that. If I were to switch teams, how can I find one that's important for the business and has a good amount of L5 scope? My goal is to move up to L5 soon and have scope to start making progress to L6 as well afterwards.
I see engineers like Alex and Rahul, and they have had many accomplishments with pretty fast trajectories leveling up. I'm wondering if there's a primary common theme among software engineers like that - What are they doing that others aren't?
At a huge company at Google, there's resources on everything imaginable, including other trades like product management and sales (which I'm interested in). Does it make sense at this stage in my career to spend a lot of time looking into those and learning?
In Alex's case, he met Rahul at Meta and now they're cofounders. How can I build up such deep relationships with other people at Google or any future company I work at?
I'm really new as a Google FTE (still doing some logistical onboarding like getting my laptop fully set up), but I want to hit the ground running and start growing at Google as fast as possible. However, I don't know what I don't know - There's a lot to take in, and I'm unsure where is best to focus and allocate my time.
I've hit a lot of issues pretty deep into the project's execution that hold it up. It can come as late as running the A/B test where we find a big problem that delays everything and takes weeks to solve. This messes up the initial estimates I set up.
Part of this is because I transitioned between teams recently: On my previous team, it was easier to set up components and test them early, but in this current team, it's hard to get real signal until everything is set-up and we run a full end-to-end test.
Lastly, if I hit an issue like this, how can I minimize its effect on my performance and restructure the timeline in an acceptable way?
How do I get better at technical design review and presentations? I go into these tech review meetings and get a ton of questions from senior engineers that aren’t directly related to the project and the raw volume of questions derails the whole thing. It always feels like something is missing. What should the preparation phase of a project look like?
Adding on to this, I do go into these meetings with a technical design document. Ideally people will comment on that well before the meeting, so we can get more of the discussion done async. However, people often don’t have time so they don't do this, making the tech review meeting the first time they see the tech planning materials, hence all the questions.
When I build something, I get the task done and then move on. However, I feel the best engineers are able to create deeper value. If someone has a question about that topic in the future, they make the info easier to find. So everyone benefits from this resource first, before pinging the engineer.
I’d like to convert my internal system of progress into a checklist and then share it with my manager. For example, I’m learning about logging. A question to measure my own progress is to check if I know what information should be logged? What about security considerations? If someone asks me about logging in 2 months, can I unblock them?
Security teams are typically infrastructure teams rather than product teams. Security teams make changes to existing products to make them more secure, which are usually trivial changes, not intellectually stimulating.
The interesting part is the planning happening before. For the first few months at Google, I did routine security fixes, which was boring but impactful. Then I found a project that allowed me to develop a more complex system for about 2 months, but that project has shipped to production and has concluded.
I am working actively with my manager to find projects that would allow me to write more complex software that will also help me grow technically. So the question is: how do I find these projects?
What I am doing now: stay up-to-date on new threats and what other security teams are doing at Google to see if I can draw some inspiration from them.
My sub-team was 3 people (an L5 tech lead, an L4 engineer, and me), but now it’s just me since the others left. My manager is hiring other people in the coming months.
How can I best onboard the new people and set myself up to lead the team?
What are the common failure modes you’ve seen for new engineers at Big Tech cos, where they had to quickly exit the company due to bad performance?
I'm going to be joining Google soon, and my current approach is just to come in and stabilize as a solid L4. Over time, I’ll assess my situation and see how I should pursue leveling up. I would like to grow (i.e. eventually make it to L5), but I’m not in a huge rush - I don’t think I want to set a very concrete goal like “I want to get promoted from L4 to L5 in 1.5 years”. Thoughts?
I’ve only worked at startups and non-tech companies, but I’m joining Google next month. How can I make sure that I meet all expectations as an L4? When it comes to talking to my manager, how should I frame the conversation?
My whole team is engaged in a design exercise for the system we will build in subsequent quarters. Since I joined 2 months ago, I don’t feel I’m able to meaningfully contribute. I also feel weak with system design questions during interviews. How can I improve here?
For the past 3 months, the primary activity on my team has been to debate and discuss the architecture design of the large system our team will be developing in Q3. It feels like we’re in gridlock and I don’t see a clear path to a decision. How can we move forward productively?
I just joined a new team within a Google Infra team and have been attending many team meetings and architecture planning discussions. I’m very quiet in these meetings and don’t feel comfortable saying anything - I’m afraid I’ll say something stupid, or I’ll be exposed as someone who shouldn’t be a senior engineer.
I just got promoted to senior engineer level (E5) at Google and I just switched into an infra team 2 months ago. In order to succeed as a senior engineer, I know I need to mentor and influence other engineers, specifically helping newer and more junior folks on the team.
How can I do that quickly, acknowledging that I’m not their direct manager?