Site Reliability Engineer
YouGov — Company based in London, UK
As a Site Reliability Engineer at YouGov, you will join our talented individuals in being responsible for the delivery, optimization, resilience, and availability of high-value and high-transaction-rate services trusted and used by both the general public and some of the largest brands in the world. Site Reliability Engineering is a discipline that combines software and systems engineering to build and run large-scale, massively distributed, fault-tolerant systems. SRE's ensure that YouGov's internally critical and externally visible systems maintain the appropriate service levels (availability, latency, and reliability) to serve our customers' needs, and reduce the friction for managing change, while being strategic about capacity, and constantly managing performance. SRE is a mindset and a set of engineering approaches focusing on delivery of the appropriate architecture, building infrastructure, optimizing existing systems, and eliminating toil through automation.
SREs have the acumen and experience to provide direct technical contributions to major projects both in code, and in building and optimizing the production environment. You will identify and solve critical problems and build automation to prevent their recurrence. You align with your peers across engineering, deliver subject matter expertise for the infrastructure within your product area, and draw on your strong communication skills to collaborate with your peers in other geographies. Your perspectives help foster and support successful delivery of reliability engineering, and you influence by way of metrics, data, and automation.
- 3+ years' work experience in a similar job role.
- Design, develop, and implement supporting cloud services on the Kubernetes platform.
- Proven application production support experience.
- Strong analytical and problem-solving skills.
- Passion for automating repetitive tasks.
- Identify and solve critical problems and build automation to prevent their recurrence.
- Develop clean, well-documented, testable code.
- Work cross-functionally across developers, QA, and other teams.
- Troubleshoot and resolve issues in both production and lower environments.
- Participate in on-call rotation in support of critical products.
- Proven software engineering experience Kubernetes / K8's / Docker.
- Familiarity with running and scaling distributed software systems (load balancing, high availability, systems monitoring, etc.)
- Experience administering and/or designing databases - SQL and NoSQL
- Understanding of networking: TCP, UDP, firewalls, DNS, OSI layers, etc.
- Experience with log analysis and monitoring tools such as Splunk, Logstash, New Relic, etc.
- Establish Error Budgets for the products by monitoring SLIs, measuring SLOs and publishing them to a dashboard
- Design, build and implement software features for the product that increase reliability, availability and performance
- Own the pipeline of deployments to production, this includes establishing and maintaining the CI/CD pipeline for the product
- Drive blameless post-mortems with the product team and use the Error Budget to establish priorities for any necessary changes
- Have experience with Networking, Linux OS, Security, Data Persistence, Containers, AWS, etc.
Any additional info:
This position is 100% remote, therefore having experience within a remote environment would be ideal.