About the job
Summary
Description Summary of This Role
Responsible for availability, latency, performance, efficiency, change management, monitoring, emergency response, and capacity planning. Creates a bridge between development and operations by applying a software engineering mindset to system administration topics. Splits time between operations/on-call duties and developing systems and software that help increase site reliability and performance.
What Part Will You Play?
- Chaos engineering - you’re expected to think laterally about how our systems might fail in theory, design tests to demonstrate how they behave in practice, and then formulate and implement remediation plans, as appropriate.
- Pushing our systems to their limits, and then coming up with designs for how to get them to the next performance tier.
- Safeguarding reliability. Ensuring that our services are highly available, resilient against disasters, self-monitoring, and self-healing.
- Running “game days” to test assumptions about reliability and learn what will break before it matters to customers.
- Reviewing designs with an eye toward increasing the holistic stability of our platform and identifying potential risks.
- Building systems to proactively monitor the health, performance and security of our production and non-production virtualized infrastructure.
- Improving our monitoring and alerting systems to make sure engineers get paged when it matters (and don’t get paged when it doesn’t).
- Troubleshooting systems and network issues, alongside our Technical Operations Team.
- Mentoring other engineers in reliability-related skills.
- Evolving our SDLC, practices, and tooling to account for Site Reliability considerations and best practices.
- Developing runbooks and improving documentation.
What Are We Looking For in This Role?
Minimum Qualifications
- Bachelor's Degree in computer science or other relevant field of study
- Typically Minimum 4 Years Relevant Exp in software development
What Are Our Desired Skills and Capabilities?
- Skills / Knowledge - A seasoned, experienced professional with a full understanding of area of specialization; resolves a wide range of issues in creative ways. This job is the fully qualified, career-oriented, journey-level position.
- Job Complexity - Works on problems of diverse scope where analysis of data requires evaluation of identifiable factors. Demonstrates good judgment in selecting methods and techniques for obtaining solutions. Networks with senior internal and external personnel in own area of expertise.
- Supervision - Normally receives little instruction on day-to-day work, general instructions on new assignments.
- Technical Acumen: Experience running kubernetes or equivalent technology in a public or private cloud. Building and maintaining high-availability applications including redundancy, fail over, scalability, monitoring and performance. Proficiency in coding in either C# or Java. Proficiency in scripting languages such as Shell, Python, Perl, Ruby, etc. Service Oriented or microservice architectures. Experience with virtualization, monitoring and automation. Hands-on experience with orchestration and system configuration tools such as Salt, Ansible, Fabric, Puppet, Chef, Terraform, etc. Load balancing, storage, and clustering technologies. System-level monitoring and alerting tools such as PRTG, Nagios or Zabbix. Linux and/or indows System Administration. Systems and Network Engineering. Continuous Integration tools (eg. Jenkins, TeamCity, Bamboo). Experience with cloud infrastructure and networking in a production context. Experience with physical data centers and networks