Position: Senior Software Engineer
Category: Node.js
English level: intermediate
Years of experience: 5


My first steps in development began with the creation of a service for the internal use of the company. The service requirements were as follows:

1. Map of the enterprise network showing the status of the network equipment.
2. Automatic remote polling of network equipment using HTTP/Ping commands.
3. Maintenance of duty schedule. This is a simple table showing the duty of employees, permutations in their schedule due to illness / vacation.
4. Convenient display of contacts responsible for each specific object on the map.

I was the sole developer of this service. Actually, I was hired for this project. As a result, out of 4 points of requirements, only the first 2 managed to be implemented. But the company decided to change the profile of its work, so the project was closed.

At the next company, my responsibilities included developing and administering the Test Case Management service. This service replicated the functionality of external solutions, such as Qase or TestRail. But the service itself was only for internal use in the company and was not provided outside in any form.

On this project, I was involved in writing the backend, setting up the developer's flow (CI / CD), and administering the database. The backend was written in NodeJS using Express and NestJS; Mongo was used as a database.

For 2 years of work on this project, I was able to establish a convenient development flow, transfer the database to the cloud, increase the stability of the service, thereby guaranteeing 99.9% uptime.

Now I am developing a personal account for the user. Each page consists of some widgets. In widgets, data can be partially or completely repeated. There are more than a dozen data sources. Graphql is used to solve this problem. The service is developed on the NestJS + NextJS stack.