Егор Локтев

Кейсы

Разборы задач за двенадцать лет: что было непонятно или сломано — и что в итоге заработало.

Архитектура и запуск в срок

Электронные билеты для наземного транспорта Петербурга

Городу нужна была замена бумажных билетов на наземном транспорте — и доказательство в конкурентном пилоте, что новая схема вообще работает в поле.

Роль
Руководитель проектов, tech lead · «Курсус»
Годы
2021–2022
Масштаб
Пилот на 9 маршрутах
Стек
Проектирование · ТЗ · эквайринг · ОФД (54-ФЗ)

Я собрал команду из двенадцати человек (backend, frontend, mobile, QA, аналитика, маркетинг) и за два месяца спроектировал систему электронных билетов и техническое задание, вывел пилот на девяти маршрутах — трёх автобусных, трёх троллейбусных, трёх трамвайных. Параллельно запустил агрегатор транспортных услуг BSTR — первый b2c-продукт компании и первый этап MaaS-платформы — с интеграцией платёжных шлюзов, эквайрингом и ОФД (оператор фискальных данных, 54-ФЗ).

Итог. Решение выиграло пилот в конкуренции с Газпромом и другими игроками — по существу, а не по цене. Аукцион на контракт мы проиграли; заказчик остался работать по разработанному мной техническому заданию.

Реестр парковочных разрешений под ключ, соло

Государственный сервис «Реестр парковочных разрешений» нужно было реализовать под ключ — с боевой интеграцией в СМЭВ (система межведомственного электронного взаимодействия) и электронной подписью — и сдать силами одного человека.

Роль
Ведущий разработчик, проектная занятость · СПб ГУП «ИАЦ»
Годы
2021
Масштаб
Госсервис на десятки тысяч записей
Стек
Python · Django · Celery · СМЭВ2/3 · КриптоПро · Docker

Я прошёл весь цикл в одиночку: собрал требования напрямую с заказчиком, разработал сервис целиком на Python, Django и Celery, реализовал интеграцию с восемью видами сведений в региональных и федеральных СМЭВ2 и СМЭВ3. Криптография — подписание электронных документов и запросов СМЭВ квалифицированной ЭЦП (электронной подписью) должностных лиц. Настроил инфраструктуру: Docker с КриптоПро, проброс ЭЦП, асинхронные задачи в очередь. Подготовил пользовательскую и техническую документацию по ГОСТ 34.201-2020.

Итог. Работающий госсервис на десятки тысяч записей, сданный под ключ силами одного человека за четыре месяца — с боевой интеграцией в восемь видов сведений СМЭВ и криптографией.

Архитектура и аудит системы данных энергопотребления для «Россетей»

Крупному федеральному заказчику нужна была техническая архитектура системы обработки данных энергопотребления — по ГОСТ-ТЗ, за месяц, с прохождением архитектурного комитета.

Роль
Архитектор, проектный аудит · ПАО «Россети»
Годы
2025–2026
Масштаб
Федеральный заказчик · ГОСТ-ТЗ
Стек
Техническая архитектура · ГОСТ-ТЗ · аудит · проектная документация

Спроектировал архитектуру от верхнего уровня до структур баз данных и потоков данных между модулями; структурировал объём работ и сценарии поставки. Дальше вёл периодический аудит продукта, который разрабатывал клиент, — на соответствие ГОСТ-ТЗ и проектной документации.

Итог. Этап успешно пройден клиентом. Проект завершён; вёлся параллельно основной роли.

Реанимация legacy и реверс

Реанимация и автоматизация системы парковочных штрафов

К февралю 2020 нужно было обеспечить автоматическую выписку штрафов за парковку. ГИС ЕГПП — legacy из двадцати сервисов, развёрнутая в 2015 году и не обслуживавшаяся с 2017-го, — к концу 2019-го не работала: оплата была невозможна, документации не было. Интеграции с Почтой России и ГИС ГМП (государственная информационная система о государственных и муниципальных платежах) 2016 года устарели.

Роль
Администратор ГИС · СПб ГКУ «ГЦУП»
Годы
2019–2020
Масштаб
До 1000 штрафов в день
Стек
Реверс-инжиниринг · Python · Django · ГИС ГМП · Почта России · ЭЦП

Реверс-инжинирингом поднял мёртвую систему без документации: переконфигурировал, развернул и задокументировал её, дописал недостающие сервисы и починил баги в самой legacy. К дедлайну написал прокси-шлюзы к актуальным интерфейсам Почты России и ГИС ГМП — заменил моки боевыми интеграциями. Автоматизировал подготовку определений об истребовании персональных данных нарушителей: штатно система подписывала ЭЦП (электронной подписью) пачками по сто, вживую, — я сделал генерацию пачками по тысяче без ручной подписи. Это позволило не расширять профильный отдел с трёх специалистов до пятнадцати. Нашёл способ заменить SMS-подрядчика, к которому система была жёстко привязана. Построил мониторинг оплаты; позже автоматизировал делопроизводство по жалобам.

Итог. Запуск в срок, к февралю 2020-го. Пропускная способность выписки штрафов выросла на порядок — до тысячи в день тем же составом специалистов. Сервис по жалобам позже приобретён интегратором систем автоматизации транспорта.

Восстановление сети автоматизированных автостоянок

Сеть автоматических парковок под шлагбаумом — двадцать четыре стоянки от трёх вендоров — деградировала из-за пары лет без бюджета на обслуживание. На старте работали восемь, остальные стояли на ручном приводе с контролёром.

Роль
Администратор ГИС · СПб ГКУ «ГЦУП»
Годы
2019–2021
Масштаб
24 стоянки, 3 вендора
Стек
Вендорское ПО · БД · сети · железо · регламенты

Из имеющихся рабочих специалистов я обучил бригады обслуживания, написал регламенты и наладил круглосуточное устранение неисправностей. Чинил и софт — конфиги вендорского ПО, базы данных, сетевые настройки, — и железо: чистка купюроприёмников, замена мёртвых блоков питания. Одну стоянку разобрал на ЗИП для остальных.

Итог. За пять месяцев сеть поднялась с восьми до двадцати работающих стоянок из двадцати четырёх; круглосуточное обслуживание — силами обученного с нуля штата. Освободившееся время я направил на реанимацию системы штрафов.

Миграция паркоматов в городской ЦОД с реверсом embedded-оборудования

ГИС ЕГПП вместе с подсистемой-агрегатором реестров оплат с паркоматов переезжала из серверной ГЦУП в городской ЦОД. Паркоматы — вендорское оборудование 2014 года; вендор к тому времени перестал существовать, а штатного функционала настройки у паркоматов не было.

Роль
Администратор ГИС · СПб ГКУ «ГЦУП»
Годы
2021
Масштаб
Вся городская сеть паркоматов
Стек
Реверс-инжиниринг embedded · прошивки · миграция ЦОД

Реверс-инжинирингом я разобрал embedded-оборудование паркоматов, нашёл способ переконфигурации и переконфигурировал их. Спланировал и провёл переход за две недели: в одну ночь заменил флеш-карты с прошивками во всех паркоматах.

Итог. Почти бесшовная миграция — после ночной замены прошивок вся сеть паркоматов заработала в новом ЦОД.

Нестандартные интеграции

Интеграция с московской оплатой парковок через «фиктивный паркомат»

Питерскую систему нужно было связать с московским приложением оплаты парковок — быстро и дёшево. Москва позволяла править парковочную сессию до конца текущих суток (в Петербурге такого не было) и должна была сохранить эту возможность для СПб. Прокси-шлюз не подходил: API был крайне ограничен и такого не поддерживал.

Роль
Администратор ГИС · СПб ГКУ «ГЦУП»
Годы
2019–2021
Масштаб
Интеграция СПб ↔ Москва
Стек
Реверс формата реестра · интеграция · сверка платежей

Я спроектировал интеграцию как «фиктивный паркомат»: изучил формат реестра, и оплаты из Москвы стали поступать — реестром в час ночи — как оплаты через фиктивный паркомат.

Итог. Заработали и сверка платежей, и правка сессии через московское приложение в течение текущих суток — при максимально дешёвом и надёжном решении там, где стандартные подходы не работали.

Почасовое рекуррентное списание за парковку в BSTR

В приложении BSTR нужно было подключить оплату парковки через ГИС ЕГПП. Требование: пользователь платит за парковку на N часов и может прервать её в любой момент, вернув реальные деньги. Родное приложение ГИС ЕГПП возвращало средства лишь на парковочный счёт, а API было крайне ограниченным.

Роль
Руководитель проектов, tech lead · «Курсус», продукт BSTR
Годы
2021–2022
Масштаб
Оплата парковки в приложении BSTR
Стек
Продуктовая архитектура · рекуррентные платежи · ГИС ЕГПП

Я спроектировал архитектуру, которую реализовала команда: при оплате больше чем на час деньги списывались рекуррентно — в начале каждого часа.

Итог. Пользователь мог прервать парковку в любой момент и оставить себе все неизрасходованные деньги — поверх крайне ограниченного API.

Написать

Написать: @eloktev или loktev@lok-tech.com.

Приходить можно с ситуацией, описанной своими словами, — формулировать её «правильно» не нужно, это моя часть работы.