Interview with Sergey Dedovets

“The secret of a successful company is the constant improvement of the internal processes”


Throughout its 25-year history, SYSTEM TECHNOLOGIES has been one of the top companies in the segment of the software developers – and these are not just words. We constantly hold the bar high for the quality of our work, and rely on the current trends and mainstream industry innovations, offering the most optimal and advanced solutions for business.

To understand how the product development process is organized in our company, what technologies are used and what we especially value in relations with our clients, we suggest reading an interview with our colleague Sergey Dedovets, the Executive Director for Development.

About the importance of planning

To organize an effective workflow, the company pays great attention to strategic planning of its actions. It is exactly the stage of planning where the current tenor is determined and the available resources are evaluated – which, of course, directly affects the effectiveness of all activities. Most often, the company’s development issues are handled by a competent team that thinks through the stages of strategic development, evaluates current and future projects, and works out the plans on modernization of the development and implementation of projects that are atypical for the company.

Notably, a manager who acts as a coordinator of the company’s actions and long-term goals should be appointed to manage such a team. In our company, this role is assumed by the Executive Director for Development, which is me. If we talk about the list of duties of such an employee, these are the tasks of shaping the team itself, participating in the strategic planning of the company’s development, helping to build up plans for the clients, coordinating and defining development standards, planning new projects, interviewing the clients to get information about what they like in our products and what needs to be improved, well, and of course the rendering of architectural schemes for new projects.

Implementation of all these tasks allows the company to be competitive in the long run both on the market of sales of our products and, in general, on the market of IT specialists.

About the projects

Each project that we create is different from another and is unique in its own way – I have never met two similar ones. In the course of the development process, we always focus on current trends and real business needs, and then create optimal software that solves the most burning issue of the client. Quite often there may be several unresolved issues in the work of the company that is our client which directly affect the effectiveness, and then we offer a set of products that cover all the needs of the client. I note that the company has some product development scenarios that are really worked through:

The first scenario: we choose the streamline that is in demand at this particular moment on the market, or as we believe, will be in demand in the near future, and develop a completely new product.

The second scenario: we take the product that has already been developed in the company and completely update it for specific needs, in particular, if the business is narrowly focused and there is a need for specific modifications.

The project is being worked out and adapted for each client according to the approved functionality.

If we talk about banks, the digitalization of banking tools improves the quality of services. By expanding its boundaries, a bank integrates banking products and services into the daily needs of the client, creates unique offers. The client still remains in the center of the digital bank. So, you need to meet their requirements and expectations: speed, security, convenience at all stages of interaction, flexibility of offers, ease of use, and communication with the client in the same language. How to build up such an ecosystem of a digital bank? We have implemented a number of complex projects that cover all needs:

UniBank as a new-generation remote banking system. A lot of time and resources have been allocated for this project. A product manager was allocated specifically for UniBank, great attention was paid to UX, and in order to speed up the development and support, an orchestrator was added which had not been there before.

SmartCRM is a platform for building up CRM and ERP systems. Based on the modules that are embedded in this product, it is possible to shape almost everything that is necessary. The modules are autonomous, mobile and tailored to any functionality with the possibility of making improvements.

LightCBS is generally an innovation not only for the Belarusian, but also for the European markets. Our product has very, very few competitors due to the fact that our CBS on microservices is lightweight, unlike analogues. As a rule, CBS systems are heavy, expensive and have not been updated for a long time. Such systems contain a lot of functionality that is uncharacteristic for a CBS system, which the companies often do not use in practice. Our CBS is lightweight and adapts to the needs of the client.

Shafa is a system for high-quality organization of electronic document storage. It reduces the costs of the processes associated with the organization and maintenance of an electronic archive.

ST.Consent is a system for managing the users’ consents to the processing of personal data. It allows to obtain the consent to the processing of personal data, to stop processing, delete or block personal data in the absence of the grounds for processing thereof.

Digital Monitoring is a platform that processes the events in digital services, aggregates information and makes the necessary calculations, as well as displays online the metrics that are required for tracking. It can work with any remote service systems that the clients, employees, partners interact with: with remote banking systems, CRM systems, open APIs, credit document management complexes, etc.

Product systems in the mold of a trading platform, credit document management and factoring are complex solutions that allow to quickly and easily perform everyday tasks of the client.

Thus, we help to cover all business needs and stand out from the competitors.


About the custom software development

Custom software development means creating the software that solves certain tasks of the client. Most often, the client turns to such a development option when it is necessary to get a product that fully meets the specifics of the business and implements the solution of business tasks atypical for complex products.

When it comes to the development process, we offer two options: fix price projects and Agile teams. I will talk about each of the options in more detail.

The fundamental difference of the fix price projects is that in the first instance, the content of the future product is described in detail along with drawing the screens in the form of prototypes, the functionality is also described in detail. After this stage, the resources for the project are evaluated, deadlines are set, and its cost is determined. Then the development starts. It is important to note that due to the long-term approval of the terms of reference, which takes from three to six months, entering the market using this option of the custom software development becomes protracted. Making changes to the terms of reference takes very long time, because you need to gather all the people interested in the project, and the customer may have a lot of them, since the systems are deeply integrated.

Now let’s talk more in detail about the Agile teams: everything works differently here. Initially, we describe Vision&Scope, namely the approximate vision of the final result. After that, the so-called Product Owner is allocated by the customer, who works closely with the team, and once already having the Vision&Scope, a backlog of sprints is formed. Sprints are short intervals during which a given amount of work is performed. In particular, a sprint can last for 2-3 weeks, but no more. At the end of each sprint, a demo is held with the participation of the Product Owner, the team and, possibly, additional representatives of the customer. After evaluating the work performed, discussing what has worked out well out and what hasn’t, adjustments can be made by adding additional functionality, new priorities and other components to the Vision&Scope.

Now we need to consider the issue from the other side. How can a business get the functionality in order to satisfy its needs?

In this case, there are three options: a business can order the development from scratch from us, or the development that takes into account our buildups in other projects, or to purchase a product that is already developed and ready for implementation. Specifically referring to the third option, the business can get acquainted with our products and make a decision that the offered functionality is enough to satisfy its needs. In our turn, we sell a ready-made solution, after which only the stages of implementation and integration with the third-party systems remain.

To summarize: it is important to understand that from the point of view of the development process there are either fix price projects or Agile teams, and from the point of view of the choice of product functionality there is either the sale of a ready-made solution to the company, or custom software development – and the choice depends on client and the needs of client business.


About technologies

Technologies for an IT company are the main working tool. Like many other tools in various fields of human activities, technologies become obsolete over time or are changed to more efficient ones. And in order to remain in demand on the market and continue to provide high-quality services, a company needs to master the mainstream technology stack, be aware of innovations and strive to be the first one to offer the most advanced product to the clients.

We strongly adhere to this opinion. And I would also like to note that there’s a number of advanced technologies that we use, that no one else in Belarus is using.

One of the major innovations of the company in recent years is DBMS independence. We can connect any relational database, since we don’t have a tie for it. The server part is written in such a way that, firstly, it has a microservice architecture, and secondly, it can be installed both on local customer servers and on any cloud.

We also have our own orchestrator – the open source BPMN Camunda engine, which allows to graphically orchestrate the calls to microservices, and to perform simple business logics within itself. Orchestration is a sequence of calls to microservices to obtain the final result. The advantages of Camunda are that you do not need to go into the code in the orchestration layer and completely retest the application, changes occur quickly enough. And as one more advantage, I can name the insignificant business logics that can be written in Groovy or Java script, which allows you to make such changes very quickly.

I’ll give you an example: if you need to change the script of some process, for example, to block some branch or to add additional checks, through Camunda such improvements will be done very quickly. The engine is designed for process related things, where a certain number of actions or a certain number of participants are needed from the starting point to the final result.

We also use Flutter for mobile development. This is an open-source framework from Google. When we started developing on Flutter, it wasn’t very popular, but we believed in its potential. And now Flutter occupies a huge niche in mobile development. The main advantage of this engine is that one team of developers writing in Flutter can assemble their native applications for iOS, Android from a single code base, and you can also create a PWA – an analog of mobile applications. This gives enormous opportunities in terms of optimization, development deadlines, reduction of scopes and time for testing. And it solves the most crucial, classic problem of all mobile teams – the situation when the Android and the iOS development teams integrate the API into their applications, that is, server logics, in a different way. At first, after the end of development, everything is fine for everyone, and then, when something starts to change on the backend, the mobile application begins to behave differently. The reason is that it was done by two teams, and while doing so, they have worked out the same positive scenario, but the negative one starts to work in different ways.

And the second classic problem is entering the market simultaneously. That is, say, by some date of the month, you should deliver specific functionality, and the Android team has managed that, whilst the iOS hasn’t. Or vice versa.

In our work, we are constantly improving the technology stack in order to offer products that meet the clients’ needs and the security standards. After all, a modern IT company is primarily a company that invests in the development of its technologies, strives to simplify complex business systems without loss of efficiency.


About long-term cooperation

Basically, long-term cooperation is mutually beneficial. As a company, it is beneficial for us to have a client with whom we can absorb experience and receive high-quality feedback.

On the part of the customer, this is also very profitable, because the customer can be sure that we will provide support to the product, enhance it, introduce our new developments into it. We will also monitor the security, keep track of the absence of any vulnerabilities. As a bonus, we train the customer’s employees in server administration.

As a result, one party increases its knowledge in business – the other party increases its knowledge in the technical part. In the process of long-term cooperation, our customer begins to understand how our company teams work, how processes are organized, and there are cases in my experience when the customers were adopting the management formats of our teams and applied them in related areas, for example, in planning, verification, reporting or roles allocation.

We value our clients and always strive to offer the best modern solutions in order to improve efficiency, introduce mainstream technologies and simplify business processes.

Contact us

Minsk, 3 Akademika Kuprevicha street
Minsk, 1/1 Akademika Kuprevicha street
Brest, 6-1 Shevchenko boulevard

Legal and postal address:
220084, Republic of Belarus, Minsk,
1/1 Akademika Kuprevicha str., room 441

    By sending a message, you automatically agree to
    the privacy policy

    The site collects non-personalized user data through cookies. For more information see the Cookies Policy

    Accept Cookies Policy