Position: Middle Scala Developer
Company: Parimatch Tech
Category: Scala
Experience required: 3y
English level: intermediate

**About our team:**
The product of the UnifiedFeed team provides an opportunity for the user of the bookmaker to place a bet at the time when the event has already begun. For these purposes, the speed of data conversion and transfer is very important, because during the game the situation is constantly changing. Of course, we do not forget about the reliability of the system.
Team: 5 Dev, 1 QA, PO/SA, PM.
 
**Tech stack:**
The main stacks are .NET and Scala (Kafka Streams). We keep code in Gitlab and use Gitlab CI for our CI/CD pipelines. Our services run in Kubernetes, mostly in premises with some loads running in AWS. We monitor services using Prometheus, observe metrics in Grafana, and check logs via ELK. Kafka is our streaming platform, also we use HTTP APIs, databases (mostly MongoDB), RabbitMQ etc.

**We invite those who fired up to:**

- Helping to define the system architecture, owning and implementing specific components, and helping to shape the overall experience;
- Building distributed systems that are reliable, maintainable, and scalable;
- Functionally decomposing complex problems into simple, straight-forward solutions;
- Ensuring that services built by the team satisfy both functional and non-functional requirements;
Understanding the business domain;
- Making sure that its implementation is optimal considering all opportunities and constraints;
- Mentoring a team to perform highly complex tasks.

**Essential professional experience:**

- Self-driven self-starter who is excited about overcoming hurdles to get things moving in the right direction;
- Rich hands-on programming experience with Scala language and have a deep understanding of functional programming paradigm;
- Expertise in maintaining a live service, the ability to monitor, troubleshoot, and diagnose issues;
- Ability to create a system design, integrating upstream and downstream components in a complicated web of micro-services;
- Practical experience with software engineering best practices is a big advantage. A deep understanding of distributed systems, asynchronous architectures, and scalability is highly desirable;
- Strong analytical and problem-solving skills.

**Desirable skills and personal features:**

- Exhibits excellent teamwork;
- Results-oriented;
- Skills working with Kafka, Kafka Streams, RabbitMQ, AWS, Redis, Aerospike, Mongo;
- Hands-on experience with running Scala apps using Docker, Kubernetes.