Back-end Software Engineer (Scala)
Our client is an innovative company fueled by a passion for delivering top-tier entertainment in the world of betting. We firmly believe that betting should be an exhilarating experience, and our mission is to empower operators with the tools they need to not only attract and retain customers but also to provide them with the highest level of entertainment.
Our engineering team has created a highly scalable and modular platform for businesses to customize to their unique needs. We recognize the uniqueness of each operator and are committed to supporting their vision and goals.
- You will be responsible for designing, building, serving, and monitoring cloud-based microservice architectures as a vital member of a high-performing cross-functional team and a community of Backend Engineers.
- Your work will involve leveraging a cutting-edge technology stack that includes Scala, Rust, Kubernetes, RESTful APIs, Couchbase, Postgres, Docker, and more.
- You will take ownership of the entire development cycle, from architecture design through implementation, testing, and ongoing maintenance of our products.
- Close collaboration with Product and Service Delivery Teams, as well as your colleagues in an agile environment, will be essential.
- Join a team that places a strong emphasis on Continuous Integration, Code Quality, Code Reviews, and Test Coverage, so your positive and committed attitude toward these practices is crucial.
- Your primary goal is to deliver fully functional features and products, designed with a Domain-Driven mindset, thoroughly tested, and aligned with user requirements.
- Minimum of two years of experience with the Scala programming language.
- Familiarity with both relational (e.g., Postgres) and non-relational databases (e.g., Couchbase, Redis, Cassandra/Scylla).
- Experience with Enterprise Message Buses, such as Kafka or RabbitMQ.
- Experience in creating HTTP APIs and a strong understanding of the HTTP stack.
- Proficiency in asynchronous programming using Futures, IO, Task, or ZIO.
- Knowledge of the Typelevel stack.
- Strong problem-solving skills with the ability to delve into code.
- An “you built it, you run it” approach, demonstrating a commitment to taking ownership of services and applications at scale.
- A “contract first” approach for APIs and integrations.
- Strong team player, with leadership skills being an asset.
- Excellent communication skills, including fluency in English to communicate effectively with clients.
- Experience with Kubernetes (k8s).
- Proficiency with Cats (a library for functional programming in Scala).
- Strong background in Pure Functional Programming.
- Familiarity with libraries and frameworks such as http4s, doobie, fs2, fs2-kafka, and circe.
- Knowledge of the Tagless Final pattern.