Discuss the project

Automated system for improving the theoretical knowledge of specialists

October 07, 2022
6 min.
Views: 679

The trend towards digitization of the Russian economy has led to a critical shortage of IT professionals. Therefore, it is necessary to acknowledge the fact of a decline in the quality of training for specialized specialists.

At MediaTen, we have a strong commitment to this issue. According to our work regulations, it is customary to assess the theoretical and practical knowledge of our developers every three months through a grading procedure.

We understand that the theoretical training of employees should be conducted continuously rather than sporadically. In an attempt to strike a balance between comprehensive monitoring and a favorable working atmosphere within the company, the concept of our testing system was born.


The system was designed to provide unobtrusive but periodic testing of employees on various aspects of programming and more. It involves categorizing questions into thematic groups, which employees can subscribe to at their discretion.

At the moment, the primary topics are Backend and Frontend. Additionally, we have introduced an "English language" category to enhance and maintain proficiency for reading professional documentation.

The questions are formulated based on the theoretical knowledge that is in demand in the IT market. They are grounded in our real development experience and any mistakes that have been made in the past. This helps prevent them from being repeated in the future.

In the topics, we have gathered the most important aspects recognized in modern programming theory:

  • OOP (Object-Oriented Programming), SOLID principles, ACID, code writing standards, architectural programming patterns, relational theory, and more;
  • requirements for fundamental knowledge of the programming languages and development technologies we use in our work: HTML + CSS, JavaScript, PHP, SQL, Bash.

It is important for us that programmers not only know how to work with frameworks but also understand the architectural and structural intricacies of the technologies themselves.

Every day, the system selects several random topics from a separate category. It is designed so that questions do not repeat within a specified period. Its quantitative characteristics should be adjustable, from the depth of viewing the history to the start and end times of the surveys. The logic assumes that questions are evenly distributed within the specified time boundaries.

As an intermediary between the system and employees, we have implemented a Telegram chatbot. The choice is driven by the fact that our employees actively use this messenger, and its API is well-designed and versatile.

An example of how a Telegram bot works based on ready-made questions

The distribution is carried out on any platform since all the work is done through the implementation of common interfaces and data structure agreements.

Our bot is written in Nest.js as a separate repository. The communication between it and the system itself is achieved through request exchange. This way, we have achieved independence between the two parts of our development. When designing the architecture, we aimed to fully comply with the SOLID principles and RESTful requirements.

The system has turned out to be quite flexible. It allows us to expand and scale its functionality, and it also offers a simple mechanism that can be applied in other areas of activity.

General scheme of business processes

The introduction of testing began in January 2022. At the time of publication of this article, our project is a little less than a year old.

What we have achieved

At the moment, the database consists of 520 questions. Each employee has the right not only to suggest their own questions but also to point out inaccuracies in the wording of a particular question/answer option. We strive to update the test library weekly to comprehensively develop the theoretical knowledge of our developers.

One day, after another question from the bot, we even had heated discussions about the classification of MVC. At the initiative of those who were discussing it, we gathered together for a comprehensive discussion of this issue. We didn't establish the truth, but we had a great time. For us, such meetups are one of the undeniable factors of the experiment's success, as employees' interest in studying additional material significantly increases.

Data aggregation in our ERP system

The system has already asked about 25,000 questions, and employees have successfully answered more than 17,000 of them.

Статистика ответов за 10 месяцев

Ticket statistics in development are not only visible to administrators and department managers but also to the user. Therefore, they can create their own picture of their professional knowledge.

Детали билета

In conclusion, it is worth mentioning that thanks to such testing, a significant improvement in employees' theoretical knowledge is noticeable. For a more comprehensive analysis, we have decided to organize AB testing. This will allow us to provide a comprehensive assessment of the overall system's impact.

Web application development

We will work out the concept, create an adaptive interface, expand the functionality of digital products and test for errors. We will find approaches even to non-standard tasks. You will receive a web application based on a modern technology stack with relevant solutions for your business.

Ready for productive collaboration?

Order service
Publication author: