— 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.
— Experience with similar project to ours — technologies related to voice communications, telephony.
— 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
— English verbal — b1+
* Knowledge of functional programming concepts.
* Experience with MongoDB, Kafka.
* Salary fork is 3000-5000$/mon
* Work in a cool international team
* Remote option (fully or partially)
* Сomfortable office conditions including all modern conveniences
* Good management
* A decent salary level with regular review
* Paid vacation and sick leave
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.
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.