Software Engineer at KoronaTech in Almaty, working on a loan-origination platform: everything that happens between someone asking for a loan and getting an answer. Together with the team I work on the orchestration layer that routes each application through the right flow for its product and loan type, and we built the integration with the government e-services. Sometimes I write component tests in Cucumber.
Alongside the platform work I taught on Korona SHIFT, KoronaTech's free Java course for people trying to get into the industry. I was mostly on the code-review side, going through participants' submissions with them.
Software Engineer в KoronaTech, Алматы. Работаю над платформой кредитного конвейера: всем, что происходит между заявкой на кредит и ответом по ней. Вместе с командой делаю слой оркестрации, который ведёт каждую заявку по нужному сценарию в зависимости от продукта и типа кредита, также сделали интеграцию с госуслугами. Иногда пишу компонентные автотесты на Cucumber.
Параллельно преподавал на Korona SHIFT, бесплатном курсе по Java от KoronaTech для тех, кто хочет войти в индустрию. В основном занимался код-ревью: разбирал вместе с участниками их решения.
Software Engineer at Kaspi.kz, on the search team. The services were reactive (Spring WebFlux, non-blocking the whole way down), so a lot of the work was about behaviour under load rather than features: backpressure, what one slow dependency does to everything sitting upstream of it, and how the JVM and the garbage collector hold up when you lean on them. Most of my time went into Elasticsearch: query shapes and index mappings over indices big enough that the gap between a careful mapping and a careless one is something users feel in the search box. I built multi-layer Redis caching with event-driven invalidation so the fast path never served stale results, wrote Kafka Streams pipelines for enrichment and signal aggregation, load-tested with k6 and Gatling, and looked after the SLOs and Prometheus alerting.
Software Engineer в Kaspi.kz, команда поиска. Сервисы были реактивные (Spring WebFlux, неблокирующие сверху донизу), поэтому работа была скорее про поведение под нагрузкой, чем про фичи: backpressure, что делает одна медленная зависимость со всем, что стоит выше по цепочке, и как держатся JVM и сборщик мусора, когда на них как следует давят. Больше всего времени ушло на Elasticsearch: на форму запросов и маппинги индексов такого размера, что разница между аккуратным маппингом и небрежным заметна пользователю прямо в строке поиска. Сделал многослойное кеширование на Redis с инвалидацией по событиям, чтобы быстрый путь не отдавал устаревшие результаты, написал пайплайны на Kafka Streams для обогащения и агрегации сигналов, нагружал сервис через k6 и Gatling и следил за SLO и алертами в Prometheus.
Software Engineer at NLMK Group, remote from Moscow, on data pipelines for steel production. Sensors along the line emit a constant stream of measurements, and we moved that processing off a legacy monolith onto microservices in Java 17, Spring Boot and Kafka. The most satisfying piece was migrating the analytical queries from PostgreSQL to ClickHouse: aggregations over the sensor history went from something you started and walked away from to something quick enough to actually sit and watch, which is what made near-real-time reporting possible at all. I automated the GitLab CI/CD pipelines with staged rollouts and smoke tests, and set the observability standards the team worked to: Prometheus, Zipkin and Grafana, with SLOs on the core services.
Software Engineer в NLMK Group, удалённо из Москвы. Дата-пайплайны для металлургического производства. Датчики на линии дают непрерывный поток измерений; мы перенесли его обработку с легаси-монолита на микросервисы на Java 17, Spring Boot и Kafka. Самое приятное в этой работе: перевод аналитических запросов с PostgreSQL на ClickHouse. Агрегации по истории датчиков из того, что запускаешь и уходишь, превратились в то, за чем можно сидеть и смотреть, и именно это сделало возможной отчётность, близкую к реальному времени. Автоматизировал пайплайны GitLab CI/CD со ступенчатыми выкатками и smoke-тестами и задал стандарты наблюдаемости, по которым работала команда: Prometheus, Zipkin и Grafana, с SLO на ключевых сервисах.
Software Engineer at YLAB Development, remote from Moscow. I built REST APIs sitting behind a handful of external integrations, and spent a lot of time on the unglamorous side of making them quick: reading query plans, rewriting SQL, putting Redis in front of the things that earned it. There were almost no tests when I arrived, so a good part of that year went into building coverage up with QA. Later on I was mentoring the junior developers through code review, wrote the team's conventions for error handling and API design, and ran technical interviews for backend candidates.
Software Engineer в YLAB Development, удалённо из Москвы. Делал REST API, за которыми стояла пара внешних интеграций, и много занимался неблагодарной частью: тем, чтобы они были быстрыми. Читал планы запросов, переписывал SQL, ставил Redis перед тем, что этого заслуживало. Тестов, когда я пришёл, почти не было, так что заметная часть того года ушла на то, чтобы вместе с QA поднять покрытие. Ближе к концу менторил джунов через код-ревью, написал командные соглашения по обработке ошибок и дизайну API и проводил технические собеседования для бэкенд-кандидатов.
Master's degree in Applied AI at Astana IT University.
Магистратура по Applied AI в Astana IT University.
Bachelor of Information Technology, Department of Information Systems, at Al-Farabi Kazakh National University in Almaty.
Бакалавр информационных технологий, кафедра информационных систем, Казахский национальный университет имени аль-Фараби, Алматы.
I'm Kaisar. I write code, drink too much coffee, and occasionally overengineer things that absolutely did not need to be distributed.
I like learning how things work under the hood, solving LeetCode when my brain asks for unnecessary suffering, and sharing whatever I learn along the way. I believe knowledge gets more useful when you pass it around. Fun fact: I can spend two hours automating something that takes five minutes manually.
Currently doing a Master's in Applied AI, experimenting with side projects, writing on my Telegram channel, and trying to make computers do useful things.
Меня зовут Кайсар. Пишу код, пью слишком много кофе и иногда переусложняю вещи, которым совершенно точно не нужно было быть распределёнными.
Люблю разбираться, как всё устроено под капотом, решать LeetCode, когда мозг просит бессмысленных страданий, и делиться тем, что узнаю по пути. Считаю, что знание становится полезнее, когда им делишься. Факт: я могу два часа автоматизировать то, что руками делается за пять минут.
Сейчас учусь в магистратуре по Applied AI, экспериментирую с пет-проектами, пишу в свой телеграм-канал и пытаюсь заставить компьютеры делать что-то полезное.