Job Description
We are searching for passionate Lead Scala Engineers. We thrive in well-designed, scalable, systems that use modern functional programming based design approaches. We believe that the functional programming approach in Scala results in systems that are easier to build and maintain - we use modern, pragmatic approaches such as Tagless Final and libraries such as Cats and Cats Effect to achieve this.
You will need to:
- Be proactive, pragmatic and professional, deliver results;
- Write code that makes our games and related functionality run;
- Write unit and other automated tests;
- Work and communicate efficiently with the rest of the development team, including PO, front-end developers and designers;
- Actively participate in code reviews so that code delivered by you and your team is of great quality;
- Own your applications, ensure they deploy and run 24/7 on our Kubernetes platform with great performance;
- Be ready to invest the effort to become an even better developer;
- Passion for our profession, in particular Scala and Functional Programming, and improving yourself technically
- Proven experience in delivering production software using Scala or comparable experiences, such as extensive JVM or Haskell experience
- Interest in the latest programming trends such as functional and reactive programming
- Excellent communication skills and a pragmatic approach to problem-solving
- Highly proficient in spoken and written English
- Bachelor’s Degree in IT or equivalent.
- Experience building high performance clustered systems, modular FP-based architecture, as well as actor systems, where they are necessary;
- Experience in Cats / Scalaz, Cats Effect, ZIO, Monix, Akka Actors, Persistence, Cluster & HTTP, http4s, Tagless Final and/or Scala.js.
- Experience with Event Sourcing & CQRS;
- Experience with Docker, Kubernetes, Kafka, Cassandra.
- Developing world-leading games, including live video, used by customers around the world;
- A healthy mix of startup-like culture of the company, which enables us to try new approaches and technologies and remain on the edge of technological development and enterprise, with stability and supporting functions to help you focus on your job;
- Modern and developer-friendly delivery processes, including Agile (Scrum / Kanban), JIRA issue tracking, Confluence wiki, GitLab source control, Jenkins continuous integration and delivery, modern hardware and software for development (an IDE of your choice);
- Being a part of an international team in a successful, publicly-traded company.