Firecode

Специалисты · FC-124

Backend-разработчик (Python) Senior

Опыт
9 лет
Экспертиза
Backend-developer, Fullstack-developer, Team lead, Tech lead
Отрасли
Ритейл, Логистика

Специалист с 9-летним опытом разработки высоконагруженных микросервисов на Python. Проектирует и реализует backend-решения на базе FastAPI, Django, работает с очередями сообщений и асинхронной обработкой данных. Имеет опыт руководства командами, профилирования и оптимизации производительности систем, владеет полным циклом разработки от проектирования архитектуры до развертывания в production.

  • Seniorгрейд
  • 9 летопыт
  • 9проектов в CV
  • 2отрасли
FastAPIPostgreSQLDockerPythonVueGoPHPLaravelDjangoC#

Стек

Технологический стек

Backend-разработка

Python
FastAPIразработка высоконагруженных микросервисов
Frontend
Vue JSJavaScriptCSSHTML

Оркестрация и обработка данных

Очереди сообщений
CeleryRabbitMQKafka
Асинхронные задачи
AsyncIO

Базы данных

Реляционные
PostgreSQLMySQL
Оптимизация
Профилирование и оптимизация запросов

Инструменты и рабочий процесс

Версионный контроль
GitGitLabBitbucket
Управление задачами
JiraYoutrack
Контейнеризация
Docker
Облачные платформы
AWS
Linux
ShellMakefile

Экспертиза

Ключевые навыки и экспертиза

Backend-разработка

  • Разработка высоконагруженных приложений (Python)
  • Создание и оптимизация RESTful API (Swagger/OpenAPI)
  • Работа с различными типами БД и ORM

Data Engineering

  • Асинхронная обработка данных (Celery, Kafka)

Архитектура и безопасность

  • Проектирование микросервисной архитектуры
  • Понимание и применение архитектурных подходов DDD, Hexagonal Architecture и принципов разделения ответственности

Инфраструктура и автоматизация

  • Работа с Linux и командной строкой
  • Написание Shell-скриптов для автоматизации задач

Рабочий процесс

  • Следование best practices (TDD/BDD, чистый код)
  • Оптимизация производительности приложений

Проекты

Ключевые проекты

Названия заказчиков не раскрываются. Детали обсуждаем на встрече.

No-ops платформа

3 года 2 месяца

Платформа для автоматизации и централизованного управления инфраструктурой, используемая DevOps-инженерами для создания, настройки и сопровождения виртуальных ресурсов внутри компании и во внешних проектах. Система поддерживает работу с различными гипервизорами и облачными платформами, включая VMware, oVirt и Yandex Cloud, позволяет создавать виртуальные машины и объединять их в группы. В платформе также настраиваются и запускаются пайплайны автоматизации, а также обеспечивается мониторинг внутренних процессов и состояния инфраструктуры. Основная задача системы - сократить объем ручных операций DevOps-инженеров, стандартизировать работу с инфраструктурой и централизовать управление процессами развертывания и сопровождения. Система интеграции крупного сервиса доставки еды с партнерами-ресторанами, обеспечивающая двусторонний обмен данными между платформой и внутренними системами заведений. Система получает от партнеров данные о меню, доступности блюд и ценах, преобразует их в необходимый формат и синхронизирует с платформой доставки еды, а в обратную сторону передает оформленные заказы в системы партнеров для дальнейшей обработки. Для каждого партнера реализуются механизмы приема, трансформации и передачи данных с учетом его протоколов и контрактов, а архитектура системы позволяет масштабировать количество подключенных интеграций. В рамках проекта также развиваются Python-микросервисы для поэтапной миграции функциональности с PHP-монолита, внутренняя админ-панель для КАМов и технической поддержки, а также решения для повышения стабильности и доступности сервиса.

Роль
Backend Developer, Team Lead, зам. начальника отдела
Состав команды
от 5 до ~20 человек в зависимости от этапа (Backend Developers, QA, PM, Project Manager, Techsupport)

Что реализовывал

Разработка и интеграция бизнес-логики

  • Реализовал модуль обработки конфигурационного файла, на основе которого формировалась основная схема работы приложения.
  • Реализовал интерфейс приложения и интеграцию с основной бизнес-логикой.

Архитектура данных и обработка событий

  • Спроектировал и внедрил отказоустойчивую обработку фоновых задач и событий на базе PostgreSQL pg_advisory_lock, обеспечив корректную работу при конкурентном выполнении.
  • Спроектировал общую структуру данных приложения, включая основные сущности и связи между ними.

Инфраструктурные и архитектурные решения

  • Разработал единый шаблон организации роутов FastAPI с разделением по функциональным областям.
  • Реализовал Makefile для автоматизации развертывания приложения без Docker и выполнения основных операций проекта.
  • Спроектировал структуру проекта с разделением по доменным и функциональным областям.
  • Реализовал механизм создания тестовой БД для каждого прогона тестов с использованием одной сессии и независимым состоянием каждого теста.

Архитектура и микросервисы

  • Спроектировал и реализовал с нуля интеграцию с партнером по контракту крупного сервиса доставки еды: механизмы передачи заказов и получения данных.
  • Создал инфраструктурный микросервис-образец, ставший основой для разработки остальных сервисов командой.
  • Разработал механизм бесшовной миграции данных по меню с PHP-монолита на Python-микросервисы.
  • Организовал переход зоны партнерских интеграций с legacy-монолита на микросервисную архитектуру.
  • Проработал архитектуру массового переноса около 2000 мелких и 3–5 крупных партнеров при объединении крупного сервиса доставки еды и другого сервиса доставки.

Управление командами и проектами

  • Управлял двумя командами одновременно: распределял задачи, контролировал delivery, привлекал ресурсы смежных команд и обеспечивал приоритет проектов.
  • Руководил разработкой механизма переключения партнеров при интеграции с другого сервиса доставки.
  • Координировал кросс-командные проекты длительностью от квартала: проработка архитектуры, декомпозиция, приоритизация и контроль реализации.
  • Проводил 1-to-1, занимался развитием и мотивацией сотрудников, участвовал в найме, увольнении и адаптации новых разработчиков.
  • Совмещал управление командой с онбордингом и наставничеством стажеров в условиях жестких сроков.

Процессы разработки

  • Внедрил систему приоритизации партнерских задач с обязательным техническим исследованием и финансовым обоснованием перед разработкой.
  • Внедрил регулярную переоценку проектов и остановку неприбыльных направлений.
  • Выстроил взаимодействие разработки и техподдержки: классификация типовых проблем, техническая документация и регулярный обмен опытом.
  • Организовал процессы разработки на стыке Scrum и Kanban: управление спринтами и эпиками, декомпозиция и приоритизация задач.
  • Усилил контроль качества релизов, тестирования и эксплуатационной готовности.

Надежность и инженерные практики

  • Развил observability сервисов: Prometheus, Grafana, логирование, распределенная трассировка, технические и продуктовые метрики.
  • Внедрил алерты на критические проблемы и контроль аптайма сервисов.
  • Организовал автоматизацию тестирования и повышение качества эксплуатационных проверок.
  • Внедрил стандарты разработки, двойное кросс-код-ревью, практики рефакторинга и управления техническим долгом.
  • Обеспечил backward compatibility через версионирование контрактов, идемпотентность сервисов и контроль целостности данных.
Стек технологий
  • Python
  • FastAPI
  • PostgreSQL
  • JavaScript
  • Vue
  • CSS
  • HTML
  • Go
  • Kafka
  • Celery
  • PHP
  • RabbitMQ
  • Redis
  • Symphony
  • корпоративный трекер задач
  • Grafana
  • Prometheus

Внутренняя административная панель для работы с партнерами

5 месяцев

Внутренняя административная панель для сотрудников, работающих с партнерами крупного сервиса доставки еды: КАМов, продакт-менеджеров и специалистов технической поддержки. Система предоставляет единый интерфейс для работы с партнерскими данными и выполнения типовых операционных задач, постепенно заменяя соответствующую функциональность устаревшей монолитной админки. Основная задача проекта - ускорить онбординг новых сотрудников и повысить эффективность ежедневной работы с партнерскими данными.

Роль
Team Lead
Состав команды
Team Lead, 4 Backend Developers, 2 QA Engineers

Что реализовывал

Архитектура и разработка

  • Спроектировал стратегию перехода со старой админки на новую, включая миграцию пользователей и функциональности.
  • Провел продуктовое исследование и сформировал требования к новой админке на основе проблем и потребностей пользователей.

Координация и управление

  • Руководил реализацией крупного эпика: декомпозировал и распределял задачи, контролировал выполнение и сроки.
  • Координировал работу смежных команд, привлекая необходимые ресурсы разработки и QA.
  • Организовал переход пользователей на новую админку: подготовил обучение и обеспечил адаптацию техподдержки, продактов и KAM к новому интерфейсу.
Стек технологий
  • Python
  • PostgreSQL
  • Redis
  • PHP
  • Symphony

Платформа по работе с контентом для редакторов и журналистов

1 год 1 месяц

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

Роль
Backend Developer
Состав команды
Team Lead, 4 Backend Developers

Что реализовывал

Исследовательская деятельность

  • Адаптировал Laravel для работы с Cycle ORM вместо штатного ORM-фреймворка.
  • Адаптировал внутренние пакеты Cycle ORM, включая spatie/laravel-activitylog, spatie/laravel-query-builder, mpociot/versionable и другие.

Рефакторинг и оптимизация

  • Провел рефакторинг существующей структуры базы данных и связанных с ней компонентов.
  • Оптимизировал запросы к БД, сократив среднее время выполнения с ~1 секунды до ~50 мс.
  • Адаптировал Swoole для использования в Laravel и работы с сокетами.

Интеграция и синхронизация данных

  • Спроектировал и реализовал механизм синхронизации данных между внутренними продуктами компании.
  • Разработал API и интеграции с различными CMS, обеспечив обмен и синхронизацию данных между системами.

Биллинг

  • Спроектировал архитектуру и полностью реализовал механизм биллинга компании.
Стек технологий
  • PHP
  • Laravel
  • Cycle ORM
  • spatie
  • swoolee

Платформа по работе с инфлюенсерами

7 месяцев

Платформа для организации рекламных кампаний, связывающая блогеров и инфлюенсеров с рекламодателями и заказчиками. Система позволяет заказчикам находить подходящих авторов по тематике, охватам и характеристикам аудитории, формировать брифы и управлять процессом размещения рекламных интеграций. Для инфлюенсеров предусмотрен личный кабинет с историей сотрудничества, статистикой по кампаниям и инструментами взаимодействия с заказчиками. Платформа объединяет поиск исполнителей, постановку рекламных задач, коммуникацию и контроль выполнения кампаний в едином рабочем процессе.

Роль
Fullstack Developer
Состав команды
1 Fullstack Developer

Что реализовывал

Проектирование и разработка платформы

  • Спроектировал и разработал с нуля backend-часть платформы для взаимодействия рекламодателей и создателей контента.
  • Реализовал API для управления рекламными кампаниями, брифами, профилями участников и статусами выполнения интеграций.
  • Спроектировал и реализовал асинхронную обработку фоновых операций на базе Celery.
  • Разработал пользовательский интерфейс платформы на Vue.js, включая личные кабинеты рекламодателей и инфлюенсеров.
  • Реализовал функциональность поиска и подбора блогеров по нишам, охватам и показателям аудитории.
  • Реализовал инструменты управления рекламными кампаниями, отслеживания их статусов и истории сотрудничества.
Стек технологий
  • Python
  • Django
  • Celery
  • Redis
  • PostgreSQL

Платформа по работе с ASIC

8 месяцев

Платформа для централизованного управления парком ASIC-майнеров - специализированного оборудования для добычи биткойна, используемая администраторами для автоматизации его настройки и мониторинга. Система ведет учет оборудования, позволяет удаленно изменять параметры майнеров и централизованно контролировать их состояние без необходимости настраивать каждое устройство отдельно. Платформа собирает телеметрию, включая хешрейт, температуру и статус подключения, и предоставляет информацию о состоянии оборудования в едином интерфейсе. При сбоях и снижении производительности система формирует оповещения, что позволяет оперативно выявлять проблемы и сокращать время реакции на неисправности.

Роль
Fullstack Developer
Состав команды
1 Fullstack Developer

Что реализовывал

Проектирование и разработка системы

  • Спроектировал и разработал с нуля платформу для централизованного управления парком ASIC-майнеров.
  • Реализовал API для управления оборудованием, его параметрами, состояниями и эксплуатационными данными.
  • Разработал асинхронную обработку фоновых операций на базе Celery для работы с большим количеством устройств.
  • Реализовал сбор и обработку телеметрии майнеров: хешрейт, температура, статус подключения и другие эксплуатационные показатели.
  • Реализовал механизм удаленной настройки параметров оборудования и централизованного управления парком устройств.
  • Разработал систему мониторинга состояния майнеров и оповещения о сбоях и снижении производительности.
  • Разработал пользовательский интерфейс платформы на Vue.js для управления оборудованием и просмотра его состояния.
Стек технологий
  • Python
  • Django
  • Celery
  • Redis
  • PostgreSQL

Платформа виртуального сотового оператора

1 год 1 месяц

Платформа виртуального сотового оператора (MVNO), обеспечивающая основные процессы обслуживания абонентов: биллинг, тарификацию звонков, SMS и интернет-трафика, взаимодействие с оборудованием оператора-донора и работу личного кабинета. Система обрабатывает данные об услугах и потреблении абонентов, рассчитывает стоимость оказанных услуг и обеспечивает передачу необходимой информации между внутренними компонентами и инфраструктурой оператора-донора. Проект находился в состоянии значительного технического долга: использовалась устаревшая версия фреймворка, присутствовали циклические зависимости, медленный процесс развертывания и проблемы с производительностью ключевых операций. В рамках дальнейшей разработки требовалось одновременно поддерживать существующую функциональность и постепенно повышать производительность, стабильность и сопровождаемость платформы.

Роль
Fullstack Developer
Состав команды
1 Fullstack Developer

Что реализовывал

Модернизация и рефакторинг

  • Модернизировал legacy-проект: выполнил миграцию с Django 0.9.8 на Django 1.12 с адаптацией существующей бизнес-логики.
  • Устранил циклические зависимости и провел рефакторинг ключевых компонентов кодовой базы.
  • Провел ревизию и адаптацию бизнес-логики биллинга и тарификации в рамках миграции на новую версию фреймворка.
  • Оптимизация производительности
  • Оптимизировал работу с базой данных и формирование отчетов, сократив время выполнения с 4–5 секунд до 300–400 мс.
  • Оптимизировал пользовательские сценарии и навигацию, сократив среднее количество действий для доступа к функциям с 7–8 до 2–4 кликов.
  • Настроил Nginx как reverse proxy и сервер статических ресурсов, дополнительно сократив время ответа приложения.

Инфраструктура и DevOps

  • Автоматизировал развертывание проекта с использованием Fabric, сократив подготовку нового сервера с недели до 2–3 часов.
  • Внедрил Continuous Integration с использованием Fabric, Docker и сопутствующих инструментов.
  • Обеспечивал эксплуатацию и техническую поддержку инфраструктуры проекта на 6 серверах.
Стек технологий
  • Python
  • Django
  • Celery
  • Redis
  • PostgreSQL
  • Linux
  • Nginx

Маркетплейс-агрегатор товарных предложений

2 года 2 месяца

Маркетплейс-агрегатор, объединяющий товарные предложения с различных сайтов-источников и предоставляющий пользователям возможность сравнивать доступные товары и цены. Основу системы составляет автоматизированный сбор данных с внешних площадок с помощью веб-парсинга, включая информацию о товарах, их характеристиках и стоимости. Полученные данные регулярно обновляются для поддержания актуальности каталога и ценовых предложений. Платформа также включает механизмы обработки и синхронизации собранных данных, обеспечивающие стабильную работу каталога при изменении информации на сайтах-источниках.

Роль
Ruby Developer
Состав команды
3 Ruby Developer

Что реализовывал

Парсинг и агрегация данных

  • Спроектировал и разработал собственный микрофреймворк для создания, запуска и отладки веб-пауков.
  • Разработал набор веб-пауков для автоматизированного сбора данных о товарах и ценах с внешних площадок.
  • Реализовал механизм регулярного обновления каталога на основе данных, полученных из внешних источников.
  • Разработал механизм matching товаров между различными источниками для объединения предложений и устранения дублей в каталоге.

Backend-разработка

  • Разрабатывал backend маркетплейса на Ruby on Rails, реализуя основные бизнес-сущности и API для работы с каталогом.
  • Разработал административную панель для управления каталогом и мониторинга состояния парсеров.
  • Реализовал поиск и фильтрацию товаров по категориям, ценам и источникам.
  • Настроил фоновые задачи для запуска парсеров и регулярного обновления данных по расписанию.

Инфраструктура

  • Обеспечивал эксплуатацию и техническую поддержку инфраструктуры проекта на 2 серверах.
Стек технологий
  • Ruby on Rails
  • PostgreSQL/MySQL

Логистическая платформа

1 год 7 месяцев

Логистическая платформа для автоматизации управления доставками, используемая для формирования и распределения заказов, построения маршрутов, учета складских остатков и отслеживания статусов доставки в реальном времени. Система объединяет ключевые процессы логистики в едином контуре, обеспечивая взаимодействие между заказами, складом и доставкой. Проект был унаследован в состоянии существенного технического долга: в кодовой базе присутствовали циклические зависимости, использовалась самописная ORM, а процессы разработки не были формализованы. В рамках поддержки и развития платформы требовалось одновременно обеспечивать стабильную работу существующей системы и постепенно улучшать ее архитектуру и процессы разработки.

Роль
C# Developer
Состав команды
1 Team lead, 2 C# Developer

Что реализовывал

Рефакторинг и модернизация

  • Провел рефакторинг архитектуры legacy-проекта: заменил циклические зависимости и синглтоны на Dependency Injection.
  • Выполнил миграцию с самописной ORM на Entity Framework 6, адаптировав существующую бизнес-логику платформы.

Инженерные практики

  • Разработал и внедрил стандарты разработки и единые требования к качеству кода.
  • Выстроил процесс разработки с учетом задач, обязательным код-ревью и Continuous Integration.
  • Внедрил практики TDD для повышения качества и стабильности разрабатываемого функционала.
Стек технологий
  • C#
  • ASP.NET MVC
  • Entity Framework

Модуль электронного документооборота

1 год 9 месяцев

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

Роль
C# Developer
Состав команды
1 C# Developer

Что реализовывал

Разработка модуля документооборота

  • Спроектировал и реализовал маршрутизацию документов по цепочке согласования с настраиваемыми этапами и ответственными лицами.
  • Реализовал систему статусов документов - от черновика до архива - с сохранением истории изменений и переходов между статусами.

Архитектура и рефакторинг

  • Спроектировал расширяемую архитектуру модуля с возможностью добавления новых типов документов и маршрутов согласования.
  • Провел рефакторинг существующей кодовой базы для унификации подходов между проектами.
Стек технологий
  • C#
  • .NET
  • MS SQL Server

Заявка

Запросить этого специалиста

Пришлём полное CV и предложим дату старта. Если профиль уже занят — подберём равнозначного.

Все специалисты

Ответим в течение рабочего дня (Пн–Пт, 10:00–19:00 МСК). Менеджер на связи по телефону, почте и в мессенджерах — пишите там, где удобно.

Запросить FC-124

Достаточно имени и контакта — остальное по желанию.

PDF, DOC, DOCX, RTF, ODT, XLSX, PNG, JPG — до 10 МБ