Кейсы
Разборы задач за двенадцать лет: что было непонятно или сломано — и что в итоге заработало.
Архитектура и запуск в срок
Электронные билеты для наземного транспорта Петербурга
Городу нужна была замена бумажных билетов на наземном транспорте — и доказательство в конкурентном пилоте, что новая схема вообще работает в поле.
- Роль
- Руководитель проектов, 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.
Приходить можно с ситуацией, описанной своими словами, — формулировать её «правильно» не нужно, это моя часть работы.