Reliability Engineer II

Location: Pittsburgh

Job Type: Full Time / Permanent

The Reliability Engineer II will work with other Reliability Engineers (RE), Product Managers, Software Engineers, and Architects to produce mission-critical infrastructure, tools, performance improvements, actionable and meaningful performance measurements, and communication to stakeholders. The RE II is expected to work with management, peers, and customers to define and implement the technical vision, improve monitoring tools, error detections, defects elimination while improving Mean Time to Detection/Resolution, and overall service availability and customer satisfaction. The RE role at provides an opportunity to blend system design and software engineering skills with passion for troubleshooting and defects elimination to address an ever-changing applications and environments with scalability and reliability challenges.

Job Duties & Responsibilities:  Improving and developing reliability platform, building out custom tools, infrastructure, and services. Automation of manual tasks to reduce toil. Contribute to reference architectures. Perform engineering and technical tasks as assigned by applying general engineering principles. Perform independent research in support of technical tasks. Contribute positively to open-source projects developed and join existing communities. Navigate this broader ecosystem and structure projects with upstream/ downstream opportunities in mind. Participate in an on-call rotation, have strong written communication skills, and be able to develop working relationships with coworkers. Provide technical expertise and consultation through direct involvement to identify and resolve problems. Proposes ideas and solutions within the RE and Product teams to solve common issues. Bring experience, pragmatism, empathy, and composure to interactions with teams outside of the RE organization. Work frequently with Product teams on shared goals. Balance planned and reactive work using basic project planning techniques and technical roadmaps. Experience negotiating SLIs, SLOs, and SLAs with product owners. Works to implement service reliability, metrics, sustainability, technical debt, and operational toil for live services running at scale. Work across multiple project teams simultaneously to support rapid development efforts. Identify and integrate with third-party solutions where it makes the most sense. Use data to understand the availability, reliability, and sustainability of our software.

Education & Experience:  Bachelor’s Degree in Computer Science, Software Engineering, Information Systems. 3-5 years of relevant experience. Valuable Technologies Like: Cloud computing, Web Services, Kubernetes, (Repository Management git/svn/etc), Ansible, Terraform, Virtualization, Docker Containers, Kafka, RabbitMQ, Redis, Netbox, Akamai/Apigee. Valuable Methodologies Like: Agile, SCRUM, Reliability Engineering, 12 factor apps, microservice architecture, public cloud architecture. Valuable Languages Like: React, Node, Kotlin, C#, Java, JavaScript, Linux shell, Powershell, SQL, HTML, CSS. Valuable Databases/OS Systems Like: Non-relational databases (NoSQL, Elasticsearch, CosmosDB), MySQL, Postgres, SQLServer, Oracle, DB2, Windows, Linux. Valuable Observability Tools Like: Grafana, Prometheus, Victoria Metrics, Elasticsearch, Azure Monitor, APM Tools (NewRelic, DataDog, AppDynamics, etc). Service Management Tools Like: Jira, Pivotal Tracker, Xmatters Intellectual curiosity, problem solving, and openness is key to its success. Mindset for solving production systems issues and understanding root cause while providing “Detective work” and automating away toil – doesn’t like boring repetitive tasks. Enjoys digging into new problems. Capable of digging into common system performance issues, such as “this is slow”, and developing metrics and driving measurable improvements. Can work on different tasks in different systems week to week. Knows when to ask for help and when to dig more on their own. Understanding of and comfort with the GNU/Linux operating system. Proficiency in high-level languages such as Ruby, Python, and Bash. Exposure to system-level languages such as Go, Python Familiarity with configuration management software such as Puppet, Chef, Ansible, or Salt. Source control, branching, & merging: git/svn/etc (Repository Management) Familiarity with Infrastructure as Code Networking basics: TCP vs UDP, basic troubleshooting, HTTP – load balancing, firewall, private networks, multi-tier design, scale-out, persistent data. Databases – at a minimum understands the basics – select/insert. Familiarity with standard infrastructure concepts like load balancers, firewalls, object storage and where/when they might be used. Service Management – Incident Response, Change, and Problem Management. Experience with Kubernetes and Docker. Cloud computing concepts (not necessarily provider specific) – VMs vs Docker Containers, block storage vs object storage, infra automation vs install automation. Experience operating a platform, software as a service, or shipping software. First-hand experience with Prometheus and Istio. Experience as an open-source contributor.