Google site reliability engineer salary

post-thumb

Site reliability engineers are the ones who ensure all the production (infra/servers/DBS etc…) are running fine all the time. Every Web-based tech company has this division. But, this role is not to be confused with that of a developer.

“SRE is what happens when you ask a software engineer to design an operations function.” - Ben Treynor

SRE’s focus is on finding a balance between releasing new features and ensuring that they are reliable for users.

SREs are keeping the service fast and available. They do this through:

  • Capacity planning.
  • Building automation and processes that reduce the impact of mistakes.
  • Principled monitoring to improve MTTD/MTTR (meantime to detection/recovery).
  • Revising software designs to mitigate failures in other parts of the stack.

The ideal SRE is:

  1. Able to understand and often predict the emergent behavior of complex systems. At least one SRE will be involved in the design of any large system, and their ability to reason about the failure modes of the system under design is why.
  2. Able to solve problems with high-quality code. Google runs large services that are constantly getting new features, and SRE is responsible for writing the software that makes that possible with a sub-linear number of humans running the machine. No joke, capacity planning is hard enough at this scale that a couple of SREs decided it would be best to write a large-scale mixed-integer solver to approximate the bin packing.

How to nail your next tech interview? Get your FREE consultation.

In this article we covered:

  • Google site reliability engineer’s responsibilities
  • Google site reliability engineer salary
  • How to prepare for an SRE interview
  • How to know you are compatible for the software site reliability engineer role

1. Google site reliability engineer responsibilities

Site reliability engineers define reliability goals and constantly improve them. They handle how the code is configured, deployed, and monitored. Their responsibilities are:

  • Availability
  • Performance
  • Monitoring
  • Change management
  • Emergency response
  • Eliminate toil
  • Maintain infrastructure

2. Google site reliability engineer salary

The salary trajectory of a Site Reliability Engineer ranges between locations and employers. According to Glassdoor, the salary starts at $120,000 per year and goes up to $208,589 per year for the highest level of seniority.

The Glassdoor data shows that the typical Google Site Reliability Engineer salary is $132,000 per year. The range for Site Reliability salaries at Google is from $100,000 - $205,000 per year. This estimate is based upon 13 Google Site Reliability salary reports provided by employees or estimated based upon statistical methods. Site reliability engineers at Google can expect to make an average total pay of $144,000 per year with bonuses and additional compensation.

2.1 Highest paying cities for Site Reliability Engineer in the US:

2.2 Site reliability engineer salary at different companies, according to Glassdoor:

Google - $147,393

Apple - $138,350

Microsoft - $129,345

LinkedIn - $143,408

3. How to prepare for SRE interview

The interview process for the SRE role is one of the most, if not the most, challenging at Google. SREs need to have strong Linux SysAdmin skills. They also want SREs to be strong software engineers too.

SRE candidates typically have interview panels that consist of engineers from both domains. Half will focus on your “Systems” knowledge and half will look at your “SWE” skills. Scripting languages, although important, are not sufficient. Ideally, you should also be strong in Python, C, and C++.

Google looks for SREs that have a good mix of both skills: coding and systems skills. So, a mediocre coder might be able to get away with great Systems knowledge and vice versa. With that said, you cannot be mediocre at both or bad at either dimension.

Fortify your strengths rather than work on your weaknesses! If you’re a killer systems guy, and an okay coder, then focus on systems. The gains that you make in your area of strength will outpace any gains you make on your weaker side.

The caveat to this advice, however, is that you can’t have a clear deficiency in either of the two areas. Like I said previously, they won’t take a bad coder or someone who lacks Linux knowledge. If that’s the case, in either dimension, then you shouldn’t be interviewing for SRE.

3.1. SRE topics to prepare for the interview:

  • File management
  • I/O management
  • Networking
  • Bit manipulation
  • Memory management
  • System processes management, etc…

4. How to know you are compatible for the software site reliability engineer role

Here’re some questions you should ask yourself:

  1. Do you like thinking about large-scale problems that have a lot of moving parts?
  2. Do you like thinking about how to make large systems more reliable?
  3. Are you okay with working on software that will likely never be overtly seen by an external user?
  4. Do you enjoy looking at a terminal for large amounts of time?
  5. Do you enjoy the process of diagnosing and fixing a problem? If yes, what if the diagnosis involves system-level problems that you cannot always see?
  6. Do you enjoy thinking about system information (e.g. disk space, CPU, os, kernel, etc.) and system-level functionality (e.g. ssh, proc, cron, swaps, etc.)?
  7. Are you comfortable with the idea of being “on-call” in which you are likely to be in a high-stakes scenario where something needs to be fixed?
  8. Are you able to stay calm under pressure?
  9. Do you approach problems in a logical, process-oriented way?
  10. Are you comfortable attempting a problem that has never been solved before?
  11. Are you someone who thinks about how you can make things better?

5. Did you prepare yourself to nail your SRE interview?

If you need help with your self-evaluation of how much you prepared yourself for your SRE interview. If you also need help with your SRE interview preparation and you want to get a bunch of SRE interview questions for your better preparation, then don’t waste your time and join interview help.

Interview help is a platform that will help you prepare for tech interviews at the biggest tech companies.

It will help you gain a lot of exposure and understanding of the interview process. Interview help will give you practice and knowledge but also will help you build confidence for the real thing.

Our team of experts will teach you what to focus on, which questions to expect in your interview, how to answer those questions, and will provide you with feedback.

Get Personalized Professional Mentoring For Your Tech Interview

Talk To InterviewHelp’s CEO

comments powered by Disqus