Puzzles to Solve: What does a System Integrator do at Solbeg? (+Job Openings)
Maxim Listukhin graduated from BSUIR with a degree in Telecommunications and Television. He worked as a team leader for the integration and support of analytics systems at a major Belarusian telecom operator. Now, he is a system integrator at the outsourcing company SolbegSoft. In an interview with dev.by, Maxim shared the peculiarities of his profession, the everyday life of an integrator, and his personal professional experience.
What are the main responsibilities of a system integrator at SolbegSoft?
The Integration Engineer, or System Integrator, is a profession that can be pursued by testers, system and network engineers with knowledge of cloud services if they want something new. In SolbegSoft, system integrators deploy an OTT platform to enable end-users to use all the functions of Cloud TV. We work with a platform from the Israeli telecommunications company Kaltura.
For example, we need to configure 150 channels. Each of them has its own address, which the provider gives us. I prepare the documents and specifications, create scripts for mass configuration, and configure the system on the Kaltura platform. In short, I install the necessary versions of all components and adapters to provide fully operational service.
Here’s what I specifically do:
- Configure digital rights management (DRM) systems that protect content from illegal copying. Use special software created by Kaltura developers. The systems work on standard components and can be integrated into any platform.
- Configure systems for a specific operator, such as television channels and all their attributes. Combine all stages: how users register, how they pay for subscriptions, etc.
- Integrate the service with the operator’s billing or payment system, if there is one.
- Connect platforms to public or private content delivery networks (CDNs), configuring their authorization and routing.
Sometimes we face atypical tasks that we have never solved before, so we don’t have any well-established mechanisms for solving them. In this case, we study the technical documentation from the Solution Architect. He creates it for each adapter, microservice, and other components. The Project Manager with specifications on Confluence can also help. If this doesn’t help either, the Integration Engineer seeks answers from the development team.
What else does an Integration Engineer do?
The scope of responsibilities of a system integrator at SolbegSoft is very wide. Here’s what else they do:
- Review the architecture of the entire solution and provide feedback. The Solution Architect writes it together with the client, and our expertise helps improve it.
- Work with the web interface and flexible products within it. Place elements, adjust color, and connect the platform with payment gateways, conditional access systems, and personal recommendation providers.
- Integrate the product with the client’s internal systems, such as customer billing. This helps transfer Kaltura data on user financial behavior in the system: which channels were watched, which subscriptions were purchased, etc.
- Integrate with services from other providers.
- Verify the functionality of the build at the request of the QA Engineer. Sometimes testers discover an unknown bug. In this case, we help to understand it to eliminate the possibility of software problems.
- Create and fill out the documentation on Confluence: what was done, when, on which account and client, etc. This usually happens after we deploy new versions of adapters and microservices and install them on staging, pre-prod, and prod.
- Consult the client and pass on knowledge about the created system before product release. After the launch, the integrator helps with technical support requests. The most frequent request, for example, is why the service did not work. If necessary, I reproduce the situation, look at the logs using the logz.io service, and analyze the cause of the failure.
- Configure frontend applications. The solution has user applications for all popular platforms — Web, mobile Android / iOS, STB, Smart TV from various manufacturers. Their appearance, content, and menu items need to be configured according to the design provided by the client.
What tools does a system integrator use?
I use standard solutions for managing software development:
- Jira task tracking system
- Confluence collaboration system
- Tools for automated deployment of new versions of software
- Network analyzers and software for API testing, such as Wireshark, Postman, Fiddler, and browser DevTools
- Services for collecting and analyzing log files
- Grafana monitoring and visualization systems
- Cloud infrastructure and service management systems
- Different database management systems and document storage systems, such as MS SQL, CouchBase, and Elasticsearch
- A good text editor for checking and editing large XML or JSON files.
What drives you in your profession?
The profession of a system integrator has allowed me to gain hands-on experience with top services like Amazon, Docker, Kubernetes, and other modern software. I am familiar with the field of cloud television, so it’s interesting for me to delve deeper into it.
It’s great that there are many challenging tasks that require creativity to solve. For example, one week I struggled with a configuration problem, even experienced colleagues advised me to just file a bug and forget about it. But I didn’t give up, rethought the problem, and found its cause. This lifted my spirits for several days ahead.
There are also difficulties. For example, the initial acquaintance with the solution architecture. Sometimes it may seem confusing, but you just need to spend a little more time on immersion.
What do you need to know and be able to do to become a system integrator?
As for the necessary soft skills, they include:
- Ability to plan.
- Attention to detail.
- System thinking. A specialist should see the solution as a whole, be able to break it down into components, organize and find connections and dependencies.
- Communication skills. Often, it is necessary to communicate with clients directly, so it is important to understand their requirements and wishes.
- Confident knowledge of English. It is necessary for communication with colleagues and clients around the world.
As for specialized skills, it is important to:
- Know the principles of cloud services (servers, web-servers, load-balancers),
- Be able to use and integrate with various types of databases,
- Be proficient in Windows and Linux at the administrator level,
- Be able to write, read and edit scripts in at least one of the popular languages: Python, Shell, Java.
- Know the basic network protocols HTTP, HTTPS, DNS, FTP, SSH, and have an understanding of the OSI model, routing in the Internet network.
- Have an understanding of microservice and cloud application architecture, containerization.
Вакансии в SolbegSoft
Читать на dev.by