Skip to content
back to the episode
Episode summary2025CTO

Engineering Fundamentals: Algorithms Are Money

The 35th Code of Leadership episode is an interview with Evgeny Kozlov, Alexander's colleague at T-Bank and the author of a technical channel. The conversation runs from school computing lessons in a Bryansk village to the Statist product-analytics platform: why an engineer needs fundamentals, what assistants change, and how a tech lead becomes a team lead.

Code of Leadership · episode #359 min read

This summary is shorter than the full episode; examples and assessments reflect the participants’ experience and views.

The main thread of the material
01

From a Bryansk village to bigtech

Evgeny works on the Statist platform product: collecting and analysing data for product analytics, online experiments, and real-time insight hunting, where the user gets answers through a UI without writing SQL. His direct manager is Andrey Tsybin, the department's CTO, who already spoke about Statist in an earlier episode; the two of them once led two different teams at a company before T-Bank. Then a step back: an urban-type settlement, Krasnaya Gora in the Bryansk region on the border with Belarus, some five thousand residents, an ordinary school number one, and one computing lesson a week. Basic and Pascal did not impress him, yet the teachers noticed he was good at it and urged him to push past the initial resistance. University was the Bryansk State Technical University, on a course in software and administration of information systems; at the first calculus class the professor asked whether the new elite of the university had arrived.

His first language was C, with malloc and realloc, memory fragmentation, and hash tables written by hand; Evgeny reckons that exact pain is what made every later language easier. Second year was C++, third was C#: in one semester he went from a console application to a desktop and web pair sharing a class library, with code-generated contracts and a SQL Server database, after which classmates went off to work in local companies. When he tells that story people say it is impossible and ask what Hogwarts he studied at; he answers that it was Bryansk, and they refuse to believe him. He never became the sysadmin he had planned to be from search-engine job descriptions: back then the search engine said nothing about DevOps. He learned Java himself from Bruce Eckel's Philosophy of Java over a couple of weekends, leaning on C#, and Ruby on Rails in 2015 gave him a taste for development: a pretty site in one evening.

02

Fundamentals, assistants, and curiosity

The test task for his first job — a classifieds clone on Rails with a rent button and database locks so that two people could not rent the same item — took him one evening, and he deployed it with a single command, without Terraform or Kubernetes. Then came outsourcing work, a week on C#, months of interviews with detailed feedback from interviewers, and a job as the first Ruby developer at a Bryansk company. By the early 2020s the Russian Ruby market had shrunk, and on the asynchronous backend of an airline-ticket company Evgeny dug into an event-driven engine written in C++ underneath, segfaults included. At interviews he answered correctly but was turned down for not having the language on his CV — a stone wall — so he went to bigtech, which hires an engineer rather than a Python developer. At T-Bank in 2021 he was given a software-engineering interview section instead of a language one; system design was his weak spot then, and he still remembers Igor Maslov's interview as a hard one.

Alexander brings in a news item about the American labour market, whose source he names with open uncertainty: it separates programmers, who only write code, from software developers, who also own requirements, tests, infrastructure, and operations — and over five years the first group's vacancies fell by tens of percent while the second stayed stable. Hence the argument about fundamentals: in Evgeny's words, a physicist will pick up programming, but a programmer will never get into physics. Alexander only partly agrees — at his base department he saw a climate model in Fortran with three-letter variables and no descriptions, so he would not belittle an engineering education. The second thread is assistants: Alexander's son learns Unity incantations and says he will figure things out when he has to, yet without a base everything around the code stays noise rather than context. Evgeny's formula: surfing the waves is fine if you remember it is only part of the landscape.

03

Statist: from a gigabyte to a petabyte

Evgeny's first product at T-Bank tracked client-side performance — how fast screens open in web and mobile apps and how the metrics move from release to release. It was liked internally enough that the team was asked to build real product analytics on top of it: not time series but an analytical store, and ClickHouse was the choice. They had to compete with Amplitude, Yandex Metrica, and one more external tracker — Evgeny read their engineering blogs to work out how such things are built at all. The driver, as Alexander recalls, was price: events kept growing, the quota hit its ceiling, aggressive sampling was switched on, and support could no longer follow a user's path across screens. Evgeny adds that the quota counts not only events but unique attributes: the cardinality of attributes is the limit of any analytical system, and the laws of physics apply to everyone equally.

The prototype was built by three or four people — Evgeny, Andrey Tsybin, a mobile developer on the SDK, and a frontend developer on the UI; the external analytics was replaced closer to the end of 2022 and the start of 2023, migrating step by step. From a gigabyte in ClickHouse they grew to hundreds of terabytes, and past a petabyte counting replicas, storing more for less money. In September 2023 Evgeny came back as a team lead: the motivation was the chance to influence things through decisions and expertise rather than code, plus the ambition of showing what he knew and how it should be done; Alexander calls that role a playing coach. In his first three months the team found and shipped a lot of optimisations and went through all of 2024 without an outage, disappearing from the internal chronicle of incidents. Ahead lie Statist's move to the external market and multi-tenancy: without it you cannot sell, scale, or account for spending per organisation, and rebuilding a monolith for it is like moving from a summer house to a block of flats. Finally, Evgeny recommends an underrated and untranslated book, Web Scalability for Startup Engineers, and diving into Cloud Native as a concept that keeps you independent of vendors.

Takeaways

What to take away

  1. 01Fundamentals have to be built in time: a physicist will pick up programming while a programmer will never get into physics, and with age there is no time left for a base — which is why bigtech tests it, since nobody knows when the five percent of tasks that need it will arrive.
  2. 02Surfing the waves with an assistant is acceptable as long as you remember it is only part of the landscape: value shifts from memorising syntax to critical thinking and to comparing the alternatives you are offered.
  3. 03At scale, algorithms are money: Evgeny recalls deleting three lines and freeing 100 CPU out of 200, and across billions of events a millisecond saved per event pays back in hardware and disk.
  4. 04A team lead with ten people — already beyond the familiar seven plus or minus two — takes on only non-critical code, because he himself becomes a schedule risk, yet he fully owns the technical backlog that nobody else in a platform product will ever invent.

Sources