Software Engineer, Site Reliability Engineering, University Graduate, 2019

With Google in Munich - DE

More jobs from Google

Posted on March 13, 2019

About this job

Job type: Full-time
Role: System Administrator
Industry: Cloud Services, Hardware Engineering, Internet Infrastructure
Company size: 10k+ people
Company type: Public

Technologies

unix, c, algorithm

Job description

Note: By applying to this position your application is automatically submitted to the following locations: Munich, Germany; Zürich, Switzerland; London, UK; Dublin, Ireland

Minimum qualifications:

  • BS degree in Computer Science or related technical field, or equivalent practical experience.
  • Experience working with algorithms, data structures, complexity analysis and software design.
  • Experience in one or more of the following: C, C++, Java, Python and/or Go.

Preferred qualifications:

  • Experience designing, analyzing and troubleshooting large-scale distributed systems.
  • Familiarity with running web services at scale; understanding of Unix systems internals and networking.
  • Understanding of Unix/Linux systems from kernel to shell and beyond, taking in system libraries, file systems, and client-server protocols along the way.
  • Knowledge and understanding of network theory, such as different protocols (TCP/IP, UDP, ICMP, etc), MAC addresses, IP packets, DNS, OSI layers, and load balancing).
  • Systematic problem solving approach, coupled with a sense of ownership and drive.

About the job

Hope is not a strategy. Engineering solutions to design, build, and maintain efficient large-scale systems is a true strategy, and a good one.

Site Reliability Engineering (SRE) is an engineering discipline that 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 and uptime appropriate to users' needs and a fast rate of improvement while keeping an ever-watchful eye on capacity and performance.

SRE is also a mindset and a set of engineering approaches to running better production systems—we build our own creative engineering solutions to operations problems. Much of our software development focuses on optimizing existing systems, building infrastructure and eliminating work through automation. As SREs are responsible for the big picture of how our systems relate to each other, we use a breadth of tools and approaches to solve a broad spectrum of problems. Practices such as limiting time spent on operational work, blameless postmortems and proactive identification of potential outages factor into iterative improvement that is key to both product quality and interesting and dynamic day-to-day work.

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.

To learn more: check out Site Reliability Engineering, written by Google SREs, watch a recorded Hangout on Air to meet some of our SREs, or read a career profile about why a software engineer chose to join SRE.

As a Software Engineer on the SRE team, you'll have the opportunity to take on complex problems of scale which are unique to Google, while using your expertise in coding, algorithms, complexity analysis and large-scale system design.

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're always on call to keep our networks up and running, ensuring our users have the best and fastest experience possible.

Responsibilities

  • Design, write and deliver software to improve the availability, scalability, latency, and efficiency of Google's services.
  • Overcome challenges relating to mission critical services and build automation to prevent problem recurrence with the goal of automating response to all non-exceptional service conditions.
  • Influence and create new designs, architectures, standards and methods for large-scale distributed systems.
  • Engage in service capacity planning and demand forecasting, software performance analysis and system tuning.
  • Conduct periodic on call duties using a follow-the-sun model. At Google, we don’t just accept difference—we celebrate it, we support it, and we thrive on it for the benefit of our employees, our products and our community. Google is proud to be an equal opportunity workplace and is an affirmative action employer. We are committed to equal employment opportunity regardless of race, color, ancestry, religion, sex, national origin, sexual orientation, age, citizenship, marital status, disability, gender identity or Veteran status. We also consider qualified applicants regardless of criminal histories, consistent with legal requirements. See also Google's EEO Policy and EEO is the Law. If you have a disability or special need that requires accommodation, please let us know by completing this form.

Apply here