Senior Software Engineer - League of Legends, Reliability Team
In 2009, Riot released its debut title League of Legends and over 100 million people now play the game every month. Whether you're in Rio, Seoul, or Moscow, you can find an excited and engaged community of League players. Delivering content to a global audience of millions of players whilst also building new games affords Riot's Engineering discipline with a mountain of exciting and technically complex challenges. That's where you come in.
Riot engineers bring deep knowledge of specific technical areas but also value the opportunity to work in a variety of broader domains. As a Senior Software Engineer at Riot, you possess broad understanding of the entire development cycle while honing your craft in at least one area of specialization. Not only will you have the opportunity to work with the cutting-edge technology needed to handle the scale of League of Legends, you will also be empowered to explore new solutions to surprise and delight our existing and future players.
The League Reliability team is responsible for the fundamental core of how League of Legends develops the game. We support the pipelines and processes to build, test, and deploy the game - which touches nearly every team within the League of Legends organization. We are also responsible for releasing the bi-monthly patches to tens of millions of customers around the world.
League of Legends runs on thousands of servers around the globe to support millions of concurrent players. Our diverse infrastructure including bare metal game servers for performance, Docker (DC/OS) for microservices and VMs for stateful applications. We collaborate with our infrastructure technology teams to develop tooling to operate at this massive scale.
You'll be involved with building automation, tools, and standards for the development, deployment, and operations of LoL
Part of your work will include supporting a sustainable operational model for League of Legends through tooling and processes. We leverage tools to improve our configuration management, service discovery, and secret storage tools to allow hundreds of services deployed to dozens of datacenters to be managed easily and securely. Augmenting our deployment tooling to support scheduled deploys, automatic rollbacks, zero downtime deploys, canary analysis and much more.
You'll support the tech behind the fast paced bi-weekly release cadence of LoL
Hundreds of developers and designers contribute changes multiple times a day and we provide them with feedback via our continuous integration platform. Within minutes, this allows them to see if a build is broken and then deploy their code to internal environments that we provide for daily play tests and debugging. Every two weeks we incorporate these changes into a patch to release to players. First by deploying it to environments within Riot, followed by public beta (PBE), and finally globally to players.
- In this position, you are an individual contributor software engineer, writing code and authoring architectural design documents.
- You have demonstrated abilities to complete full projects of a scope/complexity larger than a single individual end-to-end feature. This includes breaking down the project and working across multiple people and potentially multiple disciplines.
In a senior engineering capacity, you will also have the following responsibilities:
- Identifying and resolving systemic issues across the product
- Participating in interviewing and act as a key influencer for hiring decisions
- Help with mentoring and career development of more junior engineers
- You describe yourself as a generalist and you have particular interest or strength in infrastructure, tools and automation.
- Strong fundamentals in software development, networking and storage. You will be required to operate with a very diverse set of technologies.
- Advanced skill in more than one programming language.
Demonstrated strength in one or more of the following:
- C++, C#, Java, Go, Python
- Distributed systems
- Operating services - (experience at scale is a plus)
- Knowledge of Jenkins or other CI
- Experience managing Virtual Machine clusters
- AWS, GCP, Container or VM Orchestration
- Networking (TCP/IP, DNS, HTTP, SSL)
It’s our policy to provide equal employment opportunity for all applicants and members of Riot Games, Inc. Riot Games makes reasonable accommodations for handicapped and disabled Rioters and does not unlawfully discriminate on the basis of race, color, religion, sex, sexual orientation, gender identity or expression, national origin, age, handicap, veteran status, marital status, criminal history, or any other category protected by applicable federal and state law, including the City of Los Angeles’ Fair Chance Initiative for Hiring Ordinance relating to an applicant's criminal history (LAMC 189.00).