Bachelor’s degree in Computer Science, a related field, or equivalent practical experience.
5 years of experience with software development in one or more programming languages.
5 years of experience with data structures or algorithms.
3 years of experience in designing, analyzing, and troubleshooting distributed systems.
2 years of experience leading projects and providing technical leadership.
Nice to haves:
Experience working in computing, distributed systems, storage, or networking.
Experience in designing, analyzing, and troubleshooting large-scale distributed systems.
Experience with C++/Go.
Ability to debug, optimize code, and to automate routine tasks.
Excellent problem-solving approach, with effective verbal and written communication skills.
What you'll be doing:
Engage in and improve the whole life-cycle 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.
Perks and benefits:
Site Reliability Engineering (SRE) combines software and systems engineering to build and run large-scale, massively distributed, fault-tolerant systems.
Opportunity to manage the complex challenges of scale unique to Google, using your expertise in coding, algorithms, complexity analysis, and large-scale system design.
Culture of intellectual curiosity, problem solving, and openness.
Collaborative work environment with support and mentorship for professional growth.