Senior Software Engineer, Site Reliability Engineering
About the role
MINIMUM QUALIFICATIONS:
- Bachelor’s degree in Computer Science, Engineering, a related field, or
equivalent practical experience.
- 5 years of experience with software development in one or more programming
languages.
- 3 years of experience in designing, analyzing, and troubleshooting
large-scale distributed systems.
- 2 years of experience leading projects and providing technical leadership.
PREFERRED QUALIFICATIONS:
- Master's degree in Computer Science or Engineering.
ABOUT THE JOB:
Site Reliability Engineering (SRE) is what you get when you treat operations as
if it’s a software problem. Our mission is to progress, protect, and provide for
the software and systems behind all of Google’s public services - Search, Ads,
Gmail, Android, YouTube, and AppEngine, to name just a few - with an
ever-watchful eye on their availability, latency, performance, and capacity.
This is an unusual job, unlike others in the industry. Like traditional
operations groups, we keep important, revenue-critical systems up and running
despite hurricanes, bandwidth outages, and configuration problems
[http://googleblog.blogspot.ie/2014/01/todays-outage-for-several-google.html].
Unlike traditional operations groups, we also have full access to and authority
to fix, extend, and scale the code to keep it working and harden it against all
the vagaries of the Internet. We hire people from both systems and software
backgrounds. Strong candidates will have experience with both.
Just as what we do is unique, where we do it is unique too. At Google, we have
the good fortune to have developed many interesting systems ranging from
planet-spanning databases [http://research.google.com/archive/spanner.html] to
near real-time scalable data warehousing
[http://research.google.com/pubs/pub42851.html] to fault-tolerant datastream
joining [http://research.google.com/pubs/pub41318.html]. In SRE, we flip between
the fine-grained detail of disk driver I/O scheduling to the big picture of
continental-level service capacity, across a range of systems and a user
population measured in billions. We own those products in production. We drive
reliability and performance across massive scale by mastering the full depth of
the stack. We literally do learn something new every day - usually surprising
things - that have the potential to transform the lives of billions of our users
around the world.
Behind everything our users see online is the architecture built by the
Technical Infrastructure team to keep it running. From developing and
maintaining our data centers to building the next generation of Google
platforms, we make Google's product portfolio possible. We're proud to be our
engineers' engineers and love voiding warranties by taking things apart so we
can rebuild them. We keep our networks up and running, ensuring our users have
the best and fastest experience possible.Individual pay is determined by factors
including job-related skills, experience, and relevant education or training.
US: $174000 - $252000 (USD) + 15% bonus target + equity + benefits
Learn more about benefits at Google
[https://www.google.com/about/careers/applications/benefits/].
RESPONSIBILITIES:
- Engage in and improve the whole lifecycle of services—from inception and
design, through to deployment, operation and refinement.
- Support services before they go live through activities such as system design
consulting, developing software platforms and frameworks, capacity planning
and launch reviews.
- Maintain services once they are live by measuring and monitoring
availability, latency and overall system health.
- Scale systems sustainably through mechanisms like automation, and evolve
systems by pushing for changes that improve reliability and velocity.
- Practice sustainable incident response and blameless postmortems.
Responsibilities
- Engage in and improve the whole lifecycle of services—from inception and design, through to deployment, operation and refinement.
- Support services before they go live through activities such as system design consulting, developing software platforms and frameworks, capacity planning and launch reviews.
- Maintain services once they are live by measuring and monitoring availability, latency and overall system health.
- Scale systems sustainably through mechanisms like automation, and evolve systems by pushing for changes that improve reliability and velocity.
- Practice sustainable incident response and blameless postmortems.
Qualifications
- Bachelor’s degree in Computer Science, Engineering, a related field, or equivalent practical experience.
- 5 years of experience with software development in one or more programming languages.
- 3 years of experience in designing, analyzing, and troubleshooting large-scale distributed systems.
- 2 years of experience leading projects and providing technical leadership.
- Master's degree in Computer Science or Engineering (preferred).
Benefits
- 15% bonus target
- equity
- benefits
Skills mentioned
About Google
A problem isn't truly solved until it's solved for all. Googlers build products that help create opportunities for everyone, whether down the street or across the globe. Bring your insight, imagination and a healthy disregard for the impossible. Bring everything that makes you unique. Together, we can build for everyone. Check out our career opportunities at goo.gle/3DLEokh