Position: Senior Scala developer
Company: Artkai
Category: Scala
Experience required: 5y
English level: pre

Required skills:
— Experience in developing server applications in Scala for at least 3 years.
— Experience in developing multi-threaded applications using Future or other IO implementations.
— Knowledge of the patterns of creating fault-tolerant systems and the ability to apply them in practice.
— Understanding the operating principles and limitations of distributed systems.
— Ability to write clean code and perform continuous refactoring.
— Understanding network performance and network protocols.
— Knowledge of classical algorithms and data structures.
— Knowledge of Linux

As a plus:
* Knowledge of functional programming concepts.
* Experience with MongoDB, Kafka.
* Experience with similar project to ours — technologies related to voice communications, telephony.

We offer:
* A decent salary level with regular review
* Work in a cool international team
* Remote option (fully or partially)
* Сomfortable office conditions including all modern conveniences
* Good management
* Paid vacation and sick leave

Responsibilities:
— Take part in the development of audio and video conferencing services.
— Engage in the design, development and support of servers written in Scala.
— Write efficient and thread-safe code for an application that runs under heavy load.
— Design the system so that the failure of several servers does not affect the availability of the service.
— Participate in code-review, help colleagues with the development.
— Write functional and modular auto tests.

Project description:
Our team is developing a new generation of video conferencing services built using WebRTC, the video quality of which is adapted to various networks: 3G, WiFi, LTE. It allows you to make video calls and organize video conferences for hundreds of participants. Users can connect to the service from browsers, from smartphones and using desktop applications. Now we are looking for strong developers in the new project team, which started less than two years ago. There is almost no legacy in this project, and it is possible to choose new interesting technologies, since most of the components you have to develop from scratch.