Our Backend Team Lead: What’s Behind JustControl.it?
March 23, 2020
Here is one more story about the team behind JustControl.it. Meet Ivan Pomortsev, our Backend Teamlead responsible for the architecture of the solution, its seamless functioning and impressive capabilities. In this piece, Ivan is going to tell about his experience, vision, and the technologies he uses.
Tell us about your background prior to joining JustControl.it?
I studied at ITMO University and majored in Computer Science. After that I started working as a freelance developer, then I switched to e-commerce. However, my most important career step was entering the world of digital ads, i.e. the mobile traffic industry.
Namely, I joined an agency focused on affiliate marketing directing traffic to iOS and Android apps. I had to deal with a lot of tasks there, including collection of data, generation of converting ads, analysis of individual creatives. This experience, I mean advertising stats in general and Facebook in particular, helped me a lot when I started collaborating with the JustControl.it team.
Where is your goal as our Backend master?
I mean, what type of solution is there in your head when you think of your job?
Our main goal is to assist digital marketers with optimizing their day-to-day activities, regardless of a particular platform they may be using. That is to say, one the one hand, we are working on a tool that could be sufficiently flexible to cover custom scenarios every agency or publisher has to face. On the other hand, this tool shall simultaneously be a perfect match to the digital advertising market as a whole, so that it can be easily used to cover typical scenarios.
Any special priorities?
There are several ideas that serve as my guidelines in this respect while I am developing the product.
First, the resulting figures our product generates must always add up, just as it must be in the world of accounting and finance. And even if these figures do not add up for some reason, we must always know this objective reason.
Second, we should always be focused on the capabilities in real demand, those that would be helpful for and required by a particular customer. So, we do not offer superfluous functions that will never be used.
Third, we observe the so-called ‘Progressive JPEG’ principle. In other words, at the beginning of each iteration, we create a simple version of a capability, Then we test and examine it. And after that, we improve it to create a full version.
Share some info about the architecture? What makes JustControl.it different from its competitors in these terms?
The key point of our architecture is that each of our customers has their own dedicated environment. It means that every customer has their own private area isolated from other customers. Namely, we create a dedicated database for them, individual encrypted storage for their credentials. Even our scripts executed for such a customer are isolated.
Such an architecture enables us to work with both ‘big’ and ‘small’ customers, meet their specific needs while distinguishing them from each other. After all, it is not good if the small ones suffer from the fact that the big ones have larger amounts of data. They pay for the service and they deserve the best product possible.
In addition, this architecture makes it possible for us to easily and expediently scale the environment of every particular client ‘on-demand’. When it comes to a ‘small’ customer we can deploy a corresponding and adequate environment covering their needs. When it comes to ‘bigger’ customers, we deploy bigger environments to work with more significant amounts of data. As a result, everyone can benefit from JustControl.it.
And, the last but not the least, it is all about security. The fact that each customer’s environment is totally isolated secures strict confidentiality of stats, user data, access to data sources, etc.
If you need more details, that is how it looks like.
A Virtual Private Cloud is created for every customer. There, in this cloud, all the capabilities and features function and interact with each other within local networks only, with no access to worldwide networks. This approach physically eliminates the risk of leakages. Servers with sensitive data are not linked to the Internet.
As for our services that process such data, they offer a flexible system of user rights management. Beyond any doubt, Amazon Web Services, our main partner, does provide us with an opportunity to build a perfect architecture. They are really good at it! And our DevOps team is good at cooking what they offer.
Which technologies do you use?
Docker is the key technology. In essence, this product is a set of microservices, and each of them is, in fact, a Docker-image. And it all ‘lives’ in Docker containers.
I would also name ClickHouse which is used to work with stats, Postgres to work with data. As for the main language, we code with PHP. Other technologies are less significant.
Your attitude to the project and your role in it?
This project is a child for me, I have been with it since its inception. As for my role, I am Backend Teamlead who also participates in DevOps processes. From time to time, I also take part in Frontend direction and marketing.
In general, what do you like most about your current job at JustControl? I mean, your colleagues, the office environment, etc.
What I like is that can work with a team of like-minded experts who share my views and approaches to software development. I also enjoy this chance to exert my own personal influence on the life of the product, it means a lot to me.
You know, I like those moments when I can step aside a little bit and take a look at the product as an external observer. I can see some truly grandiose results. I am also motivated by the fact that such a goal has been attained with such a small team. We use the most up-to-date technologies making it possible to save time and effort.
I would also like to stress that JustControl.it offers extremely competitive and advantageous employment conditions. Finally, our office environment is open, friendly, and democratic.