Position: Java developer
Company: devmatic.org
Category: Java
Experience required: 3y
English level: intermediate
Published: 2020-05-01T00:00:00+03:00

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.

Your tasks: Take part in the development of audio and video conferencing services. Engage in the design, development and support of servers written in Java. 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. Provide hot update service version without down time. Work with distributed systems such as GridGain. Write functional and modular auto tests.


Requirements:

Must have:
- Experience in developing server applications in Java for at least 3 years.
- Experience in developing multi-threaded applications and experience with java.util.concurrent.
- Must have experience with similar project to ours — technologies related to voice communications, telephony.
- 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.

Preffered:
* Experience with in-memory grids.
* Experience with MongoDB, Kafka.
* Functional programming experience.

We offer: 
* Salary fork is 2500-3500$/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