Site Reliability Engineer

N Consulting Ltd
Charing Cross, United Kingdom
15 days ago

Role details

Contract type
Permanent contract
Employment type
Full-time (> 32 hours)
Working hours
Regular working hours
Languages
English
Compensation
£ 75K

Job location

Charing Cross, United Kingdom

Tech stack

Amazon Web Services (AWS)
Bash
Cloud Computing
Configuration Management
Continuous Integration
Software Debugging
Linux
Python
Systems Development Life Cycle
Reliability Engineering
Ansible
Prometheus
Test Data
Data Logging
Scripting (Bash/Python/Go/Ruby)
Grafana
Reliability of Systems
Containerization
Gitlab-ci
Kubernetes
Data Management
Terraform
Splunk
Serverless Computing
Docker
Jenkins

Job description

A Site Reliability Engineer is responsible for transforming the SDLC environment with engineering-focused role that emphasizes system reliability, automation, and performance in a non-production setting., Establish service level objectives (SLOs): Define and measure key service indicators (SLIs) for test environments, such as availability and provisioning time, to ensure they meet the needs of development and testing teams.

Monitor environment health and performance: Use observability tools like Prometheus and Grafana to track the health of test environments, identify bottlenecks, and resolve issues proactively, not reactively.

Manage incident response: Lead the incident management process for test environment issues, conducting blameless post-mortems to understand the root causes and implement lasting fixes.

Minimize toil: Automate manual, repetitive tasks associated with test environments to free up engineering time for more strategic work.

Strategic and cultural responsibilities

Drive continuous improvement: Analyze environment performance data, incident reports, and post-mortems to identify opportunities for continuous improvement and innovation.

Balance reliability and speed: Use an "error budget" for test environments. If environments are highly reliable, teams can use the budget for quicker feature development. If reliability is low, the focus shifts to improving stability.

Instil a reliability culture: Promote a blameless culture around test environment incidents, encouraging shared ownership and collaboration between development, QA, and SRE teams.

Capacity planning: Anticipate the future resource needs of test environments by analysing usage patterns and project forecasts. Ensure the infrastructure can scale to meet demand.

Advance test data management: Work with Test Data Managers to ensure that test data is not only readily available but also consistent, compliant, and automatically provisioned with the environments.

Requirements

Expertise in tooling: Proficiency with monitoring and logging tools (e.g., Prometheus, Splunk, Grafana), CI/CD platforms (e.g., Jenkins, GitLab CI), and configuration management tools (e.g., Ansible, Terraform).

Cloud infrastructure knowledge: Deep understanding of cloud platforms like AWS, including experience with containerization technologies (Docker, Kubernetes) and serverless computing.

Scripting and programming: Strong scripting skills in languages such as Python or Bash to automate environment management tasks.

Systems and networking knowledge: Solid understanding of Linux systems, networking concepts, and database management.

Soft skills

Leadership and influence: The ability to champion SRE practices and influence technical and business stakeholders across different teams.

Problem-solving: Strong analytical and debugging skills for investigating and resolving complex environment issues under pressure.

Communication: Excellent communication and collaboration skills to bridge the gap between development, QA, and operations teams.

Adaptability: A proactive and adaptable mindset to keep pace with evolving technology and development methodologies.

Apply for this position