Site Reliability Engineering (SRE) combines software and systems engineering to build and run large-scale, massively distributed, fault-tolerant systems. SRE ensures that Google's services—both our internally critical and our externally-visible systems—have reliability, uptime appropriate to users' needs and a fast rate of improvement. Additionally SRE’s will keep an ever-watchful eye on the capacity and performance of our system. Much of our software development focuses on optimizing existing systems, building infrastructure and eliminating work through automation.
On the SRE team, you’ll have the opportunity to manage the complex challenges of scale which are unique to Google, while using your expertise in coding, algorithms, complexity analysis and large-scale system design.
SRE's culture of diversity, intellectual curiosity, problem-solving and openness is key to its success. Our organization brings together people with a wide variety of backgrounds, experiences and perspectives. We encourage them to collaborate, think big and take risks in a blame-free environment. We promote self-direction to work on meaningful projects, while we also strive to create an environment that provides the support and mentorship needed to learn and grow.
- Experience in the field of Computer Science.
- Experience coding in one or more of the following programming languages: C, C++, Java, Python, and/or Go.
- Experience with algorithms and data structures.
- Bachelor's degree in Computer Science, or a related technical field involving coding (e.g. physics, mathematics, etc).
- Expertise in designing, analyzing and troubleshooting large-scale distributed systems.
- Understanding of Unix/Linux operating systems.
- Ability to debug, optimize code and to automate routine tasks.
- Systematic problem-solving approach, coupled with effective communication skills and a sense of ownership and drive.
- 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.
Location: Warsaw, Poland