Ilya Khrustalev
(Photo : Ilya Khrustalev)

Ilya Khrustalev is an IT expert, C-level manager with many years of experience working as CTO, technical enabler and successful team leader of international projects. 

First, Ilya started his career in game development. He managed massively multiplayer games, ensuring uninterrupted quality work under extremely high system loads. He then helped develop e-commerce services, which today are part of everyday life for millions of users. For instance, as head of engineering, he led the development of the delivery automation system for the international marketplace Lamoda and, from the technical side, launched Foodfox, which later became the leader of the Russian delivery market, Yandex.Food. 

Ilya shared his experience of working with the most complex IT products and elaborated on how to build effective communication between the development team and the business, develop hard skills and flexible skills, come up with original solutions, and significantly reduce the time required for their implementation.

Ilya, you started out rather unusually: you did not receive a specialized higher education, nor did you have any internships in IT companies. How did you begin working in development and get your initial knowledge and skills?

I became interested in game development as a child as soon as I got my first computer at home. At the age of 4, I retyped programs from a textbook and watched how they worked. As a teenager, I wrote small applications and games—I used Delphi and Visual Basic. 

After school, I moved from my hometown to the capital, where my friends invited me. They were involved in game development, including making a popular game, Formula O2, a 3D multiplayer browser-based 3D racing game using Virtools. 

I got acquainted with commercial development, and got my first professional experience. Fortunately, the studio had many different projects—not just racing games. I was constantly learning new technologies. In parallel, I led several in-house projects. Other than developing hard skills, it also helped flexible skills. I learned how to identify the needs of the client and explain in business-friendly language how to make the project more efficient and cut costs.

As a team leader, have you also tried yourself at game development?

Yes, I was promoted to team leader while working at IT Territory Game Holding—at that time, Astrum Online Entertainment, the largest player in the interactive entertainment market in Eastern Europe. 

Our online games attracted tens of thousands of users, which generated a huge number of requests to the server. At Astrum, I learned how to scale high-level systems almost without limitations, and mastered the skills that are mandatory for a senior developer. 

It was also here that I got my first experience of managing teams. As a team leader, I participated in the launch of several browser games. For the first time, I designed a system from scratch and was responsible for the uninterrupted server operation. Simultaneously, I learned to combine the requirements of the business with the interests and capabilities of the technical team.

Then, after Astrum, I worked for some time with the world-famous Badoo service. There, it was even more demanding, with 400 million registered users and a lot of online activity. Badoo worked almost all over the world, although at that time there was no cloud infrastructure yet—the service data "resided" in two data centers.   

Why did you leave Badoo for Lamoda?

Working at Badoo gave me three important assets. First, the level of the team there was fundamentally new for me: I got to know international experts and learned from them. Second, the level of freedom and responsibility was also a novelty. One of my first tasks, for example, was to go through a multi-million user base and evaluate several metrics. 

All in all, it was a huge responsibility, especially when one has been with the company for only a couple of days. Nevertheless, the nature of the tasks spurred my interest motivated me to grow quickly, to learn new things.

Finally, at Badoo, I interacted a lot with the London team: I improved my language skills and gained experience in international communications.

However, I left the company because I was interested in a different vector of development. It was important for me to continuously improve not only my technical skills, but also to go beyond the tasks of a manager, to act as a team leader, and to communicate with the company. In Badoo, this was possible, but only in the following couple of years. So, my next place of work was Lamoda, one of the largest online clothing and footwear stores in Russia and the CIS.

I initially came there as a team leader with a task to build from scratch an automation system for the entire delivery service of the company. 

What challenges did you address at Lamoda?

There, I managed a project with the goal of automating a delivery service. I communicated a lot with the company to understand the current demand. Then, I assembled a team from scratch, designed the future system, and put it into operation in a few months.

We needed to launch delivery in all the cities of Lamoda's presence and achieve uninterrupted operation there. The system had to be able to cope with a high load and work efficiently offline—in the case of the typical communication outages in small towns. One day of downtime cost the company millions.

At Lamoda, I gained several important team-leading skills. First, I learned the principles of communicating with businesses in a large corporation. The first three months, when I was collecting requirements, were the most difficult: I had to receive prompt replies from a huge network of managers spread all over the country.

Second, for the first time, I got to know Scrum thoroughly and began to apply its methodology in managing the technical team. This yielded results: by the end of the first year, we had become the most productive team in the company.

More than that, after launching the delivery automation system, my international career began—I was promoted to the position of Head of Engineering and moved to Vilnius. There, my main task was to build effective communication between two development centers in two countries. In total, there were about 150 engineers: 25 in Vilnius and 125 in Moscow.

At first, I wanted to divide the teams by their function, but then I realized that this would not be effective, as it would increase communication problems. So, I decided to divide the teams in such a way that each of them could implement the functionality from start to finish without the help of other teams. This made the teams interchangeable and immersed the specialists deeply in the product.

In the end, we achieved a comprehensive, accurate understanding of what we were working on. Productivity increased markedly as each team focused on a specific goal, the achievement of which was under their full control.

Having had such a diverse experience, did you not want to start your own project? 

And so it happened. My former colleagues at Lamoda, Maxim Firsov and Sergey Polissar, suggested that I take part as CTO in creating a restaurant food delivery service similar to the Deliveroo service, which is popular in the UK. 

At the time, Delivery Club was the leader on the Russian delivery market, but they did not yet have their own couriers. They had only just started testing this format—meals were delivered by restaurant couriers. So, our startup Foodfox was not their direct competitor, as we worked with small restaurants which had neither delivery nor a website. That is why we delivered orders using our own staff of couriers.  

In two months, we launched the service and started receiving the first orders. I was responsible for interviewing potential candidates for the technical team, as well as for all the technical solutions of the service. In particular, I supervised the studio that was developing the application, thinking up how to implement various functionalities into it. For example, among those functionalities, was the ability to track couriers on a map—there was nothing like that on the market at the time.

Foodfox was growing and reached the stage of looking for investors. Then, Yandex, one of the leaders of the Russian IT industry, became interested in the startup and eventually bought 100% of the company. At that point, I was already considering leaving the team, and when I learned about Yandex's offer, I made the final decision to leave Foodfox. 

"Yandex" turned Foodfox into the "Yandex.Food" service. Today, it is the market leader and is represented not only in the Russian Federation but also in Belarus, Kazakhstan, Uzbekistan, and Armenia.

What did you do after you left Foodfox?

I worked as Head of Engineering in Ukraine at Readdle, a company developing software for iOS. I spent the first six months setting up communication processes within the team—it was the first time I had ever encountered such a serious confrontation between business and engineers. It was Scrum that helped again—gradually we came from confrontation to understanding that we were working for a common cause and striving for a common result. 

I also did a lot of development: for the first time, I worked with cloud providers, including Amazon. I was also the person to have scaled the team: I grew it twofold and conducted more than 100 interviews. Last, I also took part in the internship program as a mentor.

One of my main achievements at Readdle was having increased the predictability of development deadlines. We had an obvious problem: we could delay a task that we had set a one-week deadline for by a factor of three. At the same time, we usually completed tasks estimated to take 1–2 days on time. 

To fix this, I analyzed where this one-week deadline was coming from. It turned out that this timing is set for tasks that cannot be given an exact estimate—it was an approximate time that was most often insufficient for implementation.

So, we stopped giving such rough estimates. Before starting work on a task with unclear deadlines, we set a small task to analyze and evaluate. As part of this analysis, we broke down the large task into small and clearly time-limited tasks. And only after that did we take them to work. 

My other achievement at the company was related to enabling feature toggles—an experimental functionality that we offered to individual companies and then could either keep the feature in the application or remove it. If the company liked the feature, we enabled it on a permanent basis for an additional fee. 

The difficulty was that it took a team of 10 people in three months to develop one such feature, and in the end, it could be rejected. We could not predict in advance whether the new feature would be in demand, because we were creating software for a wide variety of businesses, from medical institutions to large production facilities. 

I proposed the concept of MVP, which meant making a feature in the cheapest way possible in a short period of time, and opening it up to specific loyal companies that test it, and only then making a decision on finalization.

With this approach, we started launching two new features per week. Our clients got the opportunity to test a large number of solutions in a short time.

To summarize—which tasks do you still enjoy the most?

I've been working remotely since 2021, with varying degrees of involvement. I mostly share advice with entrepreneurs from around the world in order to help them grow, design IT systems, and scale their teams. 

Sometimes, companies reach out to me after they get an investment. They have an initial IT product, but they don't know what to do next. I help them develop a growth and development plan.

Other times, I get seriously involved in a customer's project at the operational and technical level, writing code together with developers, conducting interviews, and solving other one-off tasks. Over the course of several weeks, we have daily phone calls and set up various processes.

What case study would you say was the most interesting or unusual? 

I was once approached by a company that was launching a service similar to the Uber trucking service. An IT giant wanted to buy them out, but the level of the technical team did not meet the investor's expectations. The service team feared that this would be a barrier to an effective merger and further growth.

I was asked to conduct an intensive course for the engineers and explain to them how to pump up their skills and prepare for the acquisition and merger in just two months. It was an extraordinary experience! I conducted a series of mock interviews, identified each team member's weaknesses, and helped them fill in their knowledge gaps and practice.

Ever thought of packaging your experience into a full-fledged training course afterward?

Yes, I am planning to launch a course. However, there, I want to focus not on hard skills but more on how to prepare for technical interviews.

Over the course of my career, I have conducted about 400 interviews and carefully categorized the mistakes that get in the way of being successful. Often, applicants tend to lack quite a bit, but giving negative feedback is not common in every company, so that a developer can make the same mistake time and time again.

My course will help developers come to the interview prepared and get offers. Facebook does something similar: the company keeps publicly available information about what awaits a specialist at an interview and then gives advice on what to pay attention to when preparing.

ⓒ 2024 TECHTIMES.com All rights reserved. Do not reproduce without permission.
* This is a contributed article and this content does not necessarily represent the views of techtimes.com
Join the Discussion