Senior Software Engineer
The Services Team develops shared systems, tools, platforms and services for Supercell games and player experience teams. Such systems include player support, live-ops, fair-play, and moderation, as well as data processing pipelines that ingest billions of game events every day.
Members of the Services Team work in a cross-team environment, where many of the projects are developed by in-house contractors or outsourced partners. One of the main responsibilities of the Services Team is leading these projects and holding technical ownership of the architecture behind the systems.
To be successful in the role, you should be not only technically superb, but also fluent in communication with non-technical people. You often discuss the features, the design, and the roadmap with product owners, game developers, and data engineers. You must be able to design an architecture of large cloud-based systems from scratch, execute the implementation, and carry out the operation of the system throughout its entire lifespan. In many cases, you would be delegating parts of the work to externals, or even form a team to start working on a new project.
- Design, implementation, and maintenance of scalable, highly available and secure systems, written in various programming languages
- Lead and manage external developers who work both in-house and remotely
- Cloud platform dev-ops and troubleshooting
- Cross-team project-management
- Being part of a rotating on-call duty to offer 24/7 support for business-critical systems
- Background in designing, developing, operating, and maintaining production systems
- Excellent programming skills minimum of 5 years of experience with server-side backends, preferably in NodeJS, Java, Kotlin, or Go
- Experience with leading software development projects
- Linux shell and scripting languages experience
- Strong cloud computing knowledge, preferably with AWS
- Ability to think clearly under pressure. We aim for minimal downtime in our core systems. You are expected to be able to respond to and troubleshoot a wide range of issues in a production environment.
- Being passionate and committed to tasks, and in general an autonomous person with high levels of initiative and energy
- Ability to manage priorities and tight deadlines with incomplete data
- An open and respectful attitude towards others and their work
- Enthusiasm towards games in general
- Web UI frameworks, such as React and AngularJS
- Docker, Terraform and Kubernetes
- Other cloud platforms and serverless systems
- Project management tools, preferably Jira and Trello