Position: Scala Team Lead
Company: Newage
Experience required: 5y
Category: Scala
English level: intermediate
Published: 2023-06-01T00:00:00+03:00

**Newage.io** invite **Scala Team Lead** to join the iGaming product team. The platform is developed by the biggest of our teams, used by several dozens of international brands, and based on the Cloud Native SAAS В2В approach. **The project has existed for over 5 years.**

We comprised the best software development and delivery practices, DDD design approaches, functional programming, and SRE discipline to make it a world-class product.  

Our teams are working with the main principles of the Scrum framework to get the best software product in the shortest time.  

**Tech stack:** 

Scala and Node.js as main programming languages, Nest.js, Fastify, Next.js, GraphQL, Apollo, Koa, Typed Akka, ZIO, PostgreSQL, Elasticsearch, Clickhouse, K8s, Kafka, gRPC, AWS and GCS. 

**Skills and experience you will need:**

-At least 1-year experience as a Scala Team Lead;
-Experience in the development of event-driven microservice solutions;
-Strong knowledge of Scala 2.13(Core and Future API, + multithreading understanding), Akka Actor, Akka Cluster, Akka Persistence, Akka gRPC, Slick.

**Experience with:**

-Kubernetes;
-Kafka;
-PostgreSQL;
-JVM GC Tuning(Shenandoah, G1,CMS, Parallel).

**Nice to have:** 

-XP**(Extreme Programming)**, Agile, Scrum, Lean, Scrum Master;
-Experience with Scala 3, ZIO stack;
-Redis;
-Elasticsearch.

**In this role, you will:**

-Develop platform core services auth, wallet, regulation services e.t.c;
-Ownership of platform core services inside microservice reactive platform according to SRE practice with a focus on product stability and reliability;
-Participate in housekeeping;
-Participate in the correction of errors and continuous improvement process;
-GC tuning and k8s service resource management.

**Technical details of the project:**

-Reactive microservice architecture, with more than 200 in production; 
-Event-driven architecture which uses Apache, and Kafka as an Event Storage; 
-gRPC  to low latency connected critical services; 
-JVM as the main stack for developing microservices; 
-Scala as the main programming language; 
-Akka (Actor, Typed, Cluster, Persistence); 
-Cats, ZIO, Monocle, Magnolia; 
-Slick, Elastic4S; 
-PostgreSQL, Elasticsearch, Clickhouse as data warehouse; 
-Evolutionary developing each microservice, we select the most modern, optimal stack and approaches.

**Delivery Process:**

-AWS hosting;
-AWS RDS for persistent storage;
-Kubernetes; 
-Continuous integration and continuous delivery based on Jenkins;
-GitOps for Deployment in the multi-version environment;
-Grafana and Prometheus for monitoring;
-Monitoring and alerting uses business metrics and infrastructure metrics.

**Teams:**

(100 people, with 4-7 members in each Domain-Driven Feature Team) 

4 Scala teams; 
2 Node JS team; 
1 Front-end team; 
2 Data Engineering Team; 
1 DevOps Team; 
24/7 L2/L3 Support. 

**DevOps & Engineering culture:**

-Iterative development (2-week sprints);
-Extreme Programming;
-Flat management system;
-The management team and the business team work together to prioritize the Backlog and set business tasks;
-We feature the DevOps culture where the team participates in the whole product development cycle, starting from the analysis of business requirements, implementation, design, and testing to deployment and monitoring, and evolution of the feature; 
-To ensure the stability of the product, we implement testing at all levels: integration testing, functional testing, exploratory, UI, and performance testing as well as alerting and monitoring; 
-Development best practices: microservices are made to be as small and isolated as possible; 
-We constantly review the architecture, seeking ways to improve the technical quality of the product;
-We review the architecture of microservice interactions and decompose them, adhering to the principle of single responsibility.

**We care to give you all-round support**

**Health care:**

-Medical insurance - full coverage; 
-Paid sick days - 10 days; 
-Paid vacation - 20 days.

**Work-from-anywhere opportunities:**

-Any place that is convenient for you to work from;  
-Our cozy office in Kyiv, where we have a shelter and lighting round-the-clock;
-Mix both options the way you want.

**Learning and Development:**

-Possibility to visit conferences and professional events;
-English language courses + speaking club; 
-Internal educational programs; 
-Certification opportunities.

**Lifestyle:**

-Product mindset;  
-Engineering culture in our DNA.