Staff Software Engineer
RIOT GAMES SERVICES PTE. LTD.
Software Reliability Engineering at Riot is challenged with diving into our most ambiguous technology spaces between games, central services and infrastructure to solve our reliability and visibility challenges as Riot continues to scale into a multi-game ecosystem. In order to succeed as a Staff Engineer on this team you will need to be able to partner with any engineering team at Riot on a wide range of technical stacks.
As a Staff Software Engineer, you will be deeply challenged to learn a large breadth of architecture at Riot. You will need to curate a prioritized view of the highest value areas you can deploy your team in order to enable our players to have consistent, reliable engagement experiences with Riot’s games. You will be expected to build alignment across multiple different technology stakeholders and grow your engineers. You’ll be partnering and coordinating with technical leads across Riot while aligning your priorities with some of Riot’s most important strategic objectives.
You’re right for this role if the idea of tackling some of the hardest challenges in high-scale service development excites you. You’re the type of person that loves it when a plan comes together. You believe that impossible is your favorite kind of possible.
Responsibilities
Maintain and evolve Riot’s technical understanding of its multifaceted technical architectures
Ensure Riot central technology teams have the necessary vision into how our live services are performing
Help craft and lead the team into a competent Tier 1 Site Reliability capable group
Design, implement and modify services to enhance reliability and visibility
Establish meaningful, long lived, standards across multiple technical stacks
Provide emergent, critical support and maintenance to existing platforms
Be on rotational on-call for live product support and operational assessment
Provide meaningful code review for other members of the team
Produce comprehensive user documentation around your implemented solutions
Mentor, guide and level up a junior engineering team to be subject matter experts in observability, triage and incident response
Required Qualifications
Bachelor's or Master’s degree in Computer Science or a related field or relevant professional experience
5+ years of relevant experience
Experience with designing, prioritizing and maintaining high-capacity, high-availability, and high-performant software, especially back-end services
Demonstrated ability to work across multiple organizations and generate alignment on technical standards
Demonstrated experience mentoring engineers to grow technically on your teams
Demonstrated experience working in container-based ecosystems and with a container scheduler (e.g. Marathon, Mesos, Kubernetes, GKE, Amazon ECS)
Experience with distributed systems, specifically microservices
Experience with API design, preferably using REST
Understand networking - HTTP down to the network layer (TCP/IP, routing, etc)
Understand relational databases like MySQL
Preferred Qualifications
2+ Years working in a high performance Site Reliability capacity
Experience building high-quality software in languages like Go, Java, Python, or Javascript
Familiarity with Site Reliability best practices
Experience building teams from the ground up
Experience with CI/CD pipelines, ideally Jenkins and/or Github Actions
Understand software performance and the influence of latency in online games
Experience with AWS (or comparable cloud environments)