Команда MMarket ищет Middle+ Backend Software Engineer (Python) - инженера, который уверенно разрабатывает backend-сервисы, понимает принципы построения распределённых систем и готов брать ответственность за отдельные сервисы и технические решения.
MMarket — первый национальный маркетплейс Кыргызстана в экосистеме MBank. Мы создаём масштабируемую платформу электронной коммерции, развиваем собственные системы логистики, складского учёта, биллинга и управления товарами.
Описание роли
Вы будете разрабатывать и развивать backend-сервисы на Python, участвовать в проектировании архитектуры, создавать API и интеграции, работать с базами данных, асинхронными задачами и событийными пайплайнами.
Мы ожидаем, что инженер уровня Middle+ способен самостоятельно реализовывать задачи от проектирования до запуска в production, участвовать в код-ревью и помогать менее опытным разработчикам.
Чем предстоит заниматься:
Backend-разработка
- Разработка и поддержка backend-сервисов на Python 3, Django и FastAPI.
- Создание и развитие REST и GraphQL API для внутренних и внешних клиентов.
- Разработка бизнес-логики, внутренних модулей и интеграций с внешними системами.
- Работа с асинхронным кодом и библиотеками: asyncio, aiohttp, asyncpg.
- Поддержка существующих сервисов, устранение ошибок и улучшение качества кода.
- Участие в разработке высоконагруженных и критически важных для бизнеса систем.
Базы данных
- Проектирование и развитие схем данных в PostgreSQL.
- Написание и оптимизация сложных SQL-запросов.
- Работа с индексами, транзакциями, блокировками и миграциями данных.
- Анализ производительности запросов с использованием EXPLAIN и EXPLAIN ANALYZE.
- Работа с Django ORM и SQLAlchemy.
- Использование raw SQL в случаях, когда ORM не обеспечивает необходимую производительность или гибкость.
Архитектура и интеграции
- Участие в проектировании микросервисной и модульной архитектуры.
- Разработка сервисов в рамках event-driven architecture.
- Работа с очередями и брокерами сообщений: Kafka, RabbitMQ или аналогичными инструментами.
- Разработка обработчиков событий с учётом идемпотентности, повторной доставки и обработки ошибок.
- Участие в интеграциях с использованием CDC и Debezium.
- Понимание принципов eventual consistency и распределённых транзакций.
- Участие в выборе технологий и подготовке технического дизайна решений.
Производительность и надёжность
- Оптимизация производительности кода, сервисов и API.
- Поиск и устранение узких мест в приложениях и базах данных.
- Участие в настройке логирования, метрик и распределённой трассировки.
- Разработка отказоустойчивых интеграций с внешними и внутренними системами.
- Участие в разборе production-инцидентов и устранении их причин.
Инженерная культура
- Участие в код-ревью и архитектурных обсуждениях.
- Написание unit-, integration- и функциональных тестов.
- Поддержка стандартов качества, безопасности и читаемости кода.
- Работа с Docker, Git и CI/CD-пайплайнами.
- Подготовка и поддержка технической документации.
- Помощь и менторство менее опытных разработчиков.
- Использование AI-инструментов для разработки: Codex, Claude Code, Cursor, Copilot или аналогичных.
Ожидания от кандидата
- От 3 лет опыта в backend-разработке на Python.
- Уверенное знание Python 3.x.
- Практический опыт работы с Django и/или FastAPI.
- Хорошее понимание принципов объектно-ориентированного программирования, SOLID и чистого кода.
- Опыт работы с PostgreSQL и понимание принципов оптимизации запросов.
- Опыт работы с Django ORM и/или SQLAlchemy.
- Умение писать и анализировать raw SQL-запросы.
- Понимание транзакций, уровней изоляции, блокировок и индексации.
- Практический опыт асинхронного программирования на Python.
- Опыт проектирования и разработки REST API.
- Опыт работы с Docker и Git.
- Понимание принципов CI/CD и автоматизированного тестирования.
- Опыт написания тестов с использованием Pytest или unittest.
- Понимание принципов микросервисной и event-driven архитектуры.
- Базовое понимание работы Kafka или RabbitMQ.
- Способность самостоятельно декомпозировать задачи и доводить их до production.
Будет преимуществом
- Опыт backend-разработки на Node.js и TypeScript.
- Опыт поддержки или миграции сервисов между Python и Node.js.
- Опыт работы с Kafka, RabbitMQ, Redis или другими инфраструктурными компонентами.
- Практический опыт работы с CDC и Debezium.
- Опыт разработки систем в сфере логистики, складского учёта или управления товарными остатками.
- Опыт работы с WMS, OMS, PIM, ERP, inventory-системами или системами доставки.
- Понимание процессов приёмки, хранения, резервирования, комплектации, отгрузки и списания товаров.
- Опыт работы с e-commerce системами: orders, checkout, pricing, inventory, payments и delivery.
- Опыт разработки высоконагруженных сервисов.
- Опыт работы с Kubernetes.
- Знание основ DevOps и опыт работы с Nginx, Prometheus, Grafana, Loki, Tempo или OpenTelemetry.
- Опыт работы с AWS, GCP, Yandex Cloud или другой облачной инфраструктурой.
- Понимание принципов безопасности backend-приложений.
- Участие в open-source проектах или наличие технически значимых pet-проектов.
Почему стоит присоединиться к MMarket:
- Реальное влияние: вы будете работать над системами, от которых напрямую зависят продажи, логистика и работа маркетплейса.
- Современный стек: Python, Django, FastAPI, PostgreSQL, Kafka, Redis, Docker, Kubernetes и event-driven architecture.
- Сложные задачи: высоконагруженные сервисы, интеграции, обработка событий и распределённые системы.
- AI-forward подход: мы активно используем современные AI-инструменты для разработки, тестирования и анализа решений.
- Профессиональный рост: участие в архитектурных обсуждениях, возможность влиять на технические решения и развиваться до Senior-инженера.
- Сильная команда: работа рядом с опытными backend-инженерами, DevOps-специалистами и архитекторами.
- Комфорт и стабильность: современный офис, прозрачный контракт и полностью оплачиваемые отпуска.
Что мы предлагаем:
- Работу над одним из крупнейших локальных маркетплейсов Кыргызстана.
- Уютный и современный офис в Технопарке.
- Конкурентную заработную плату, обсуждаемую индивидуально.
- Возможность предлагать и реализовывать собственные технические идеи.
- Интересные и нестандартные инженерные задачи.
Готовы присоединиться к нам?
Отправляйте своё резюме и свяжитесь с нами в Telegram.
При отклике укажите, пожалуйста, свой GitHub, pet-проекты или примеры кода и, по возможности, добавьте короткое сопроводительное письмо - это поможет нам лучше познакомиться с вами.
