Position: Middle Node.js Developer
Company: CHI Software
Category: Node.js
Experience required: 2y
English level: intermediate

The project is a renovated module system of company data management and showcasing. The system consists of the Core and various modules integrated to it.
The Core is the main part of the system that is to be created as a basis for the system.

The project is a renovated module system of company data management and showcasing. The system consists of the Core and various modules integrated to it.
The Core is the main part of the system that is to be created as a basis for the system.
All the modules contained in the system should be integrated with the Core. The Core itself processes all the data related to each module of the system.
The Core of the system should be connected to the MS cloud in order to retrieve the data. The Core synchronizes the data with MS server each hour - it imports the data from the cloud and contains it. The synchronization is made in one-sided way, so the info is taken from the MS server, though in order changes were made on any of the modules, the Core doesn’t push any info to the MS server and contains the data separately.
Each module of the system should be integrated with the Core: it pulls and pushes data to each module. In case the info from any of the modules was edited it should push the data to the Core. The new info that was pulled from the MS Cloud by the Core should be updated on the modules' side. The modules themselves are connected to the Core only and not influence anyhow on the MS Cloud data. These same modules are made as microservices for the main Сore part.
The Core possess the following parts to be created only on the back-end:
1) Employees - includes CRUD and relations;
2) Contacts - includes CRUD and relations;
3) Assignment 

Requirements:
— 2+ years of commercial experience in Node.js development;
— Strong knowledge of Nest.js;
— Good knowledge of OOP basics;
— Knowledge of HTTP protocol, request/response, DNS, full request life cycle;
— Strong knowledge of ES6;
— Strong knowledge of Promises;
— Commercial experience in any MongoDB/PostgreSQL/MySQL;
— Experience in any Redis/Memcache;
— Commercial experience in Git/Bitbucket/Github;