О проекте
Мы — команда полного цикла, строим масштабируемый маркетплейс товаров и услуг для рынка ЕС (mobile + web). Фокус на удобстве пользователей, безопасности данных и росте на несколько стран.
Сейчас бэкенд написан на Python/Django. На горизонте года-полутора планируем полную миграцию на Go — от выработки стратегии перехода до вывода Python из продакшена.
Ищем сильного бэкенд-разработчика, который возглавит этот переход вместе с командой и поможет построить надёжную, масштабируемую платформу.
Чем предстоит заниматься
- Проводить миграцию backend-а с Django на Go: вырабатывать стратегию (strangler fig, поэтапный вынос по доменам, parallel run), переписывать сервисы, поддерживать работоспособность системы в процессе перехода;
- Участвовать в выборе Go-стека (фреймворк, ORM/драйвер, подход к тестированию) — стек ещё не зафиксирован, ваш опыт здесь критичен;
- Пересматривать границы сервисов в процессе миграции — определять целевую архитектуру (микросервисы или модульный монолит) под задачи маркетплейса;
- Проектировать схемы БД на PostgreSQL под сотни миллионов записей: индексы, партиционирование, оптимизация запросов;
- Работать с геоданными: фильтрация по расстоянию, bounding box, геопоиск;
- Внедрять и развивать асинхронную обработку через Kafka: нотификации, антифрод, фоновые проверки;
- Развивать CI/CD, контейнеризацию (Docker, Kubernetes) и observability как стратегию для роста;
- Поддерживать инженерную культуру: код-ревью, тесты, документация (которую вы тоже будете писать и поддерживать).
Обязательные требования:
- 5+ лет коммерческого опыта в backend-разработке, из них 3+ года на Go;
- Опыт работы с Python/Django на уровне уверенного чтения, анализа и поддержки legacy-кода — нужно будет разбирать существующий монолит и переносить логику;
- Опыт миграции систем с одного языка или фреймворка на другой: понимание стратегий перехода, умение держать систему работоспособной в процессе;
- Глубокое понимание современной backend-архитектуры;
- PostgreSQL на уверенном уровне: JOIN, индексы, ACID, EXPLAIN, партиционирование;
- Понимание микросервисной архитектуры: контракты, версионирование API, circuit breaker, retries, идемпотентность;
- Kafka: продюсеры, консьюмеры, гарантии доставки, обработка ошибок;
- Docker (слои, сети, volumes) и Kubernetes на базовом уровне (Pods, Services, Ingress, ConfigMap);
- Опыт работы с геоданными: PostGIS, geohash или аналоги;
- Elasticsearch / OpenSearch — продакшен-опыт;
- HTTP, REST: понимание разницы между PUT и PATCH, когда нужен идемпотентный ключ;
- GitLab CI;
Будет плюсом:
13. Опыт проектирования и создания highload-архитектур;
14. ClickHouse, TimescaleDB или S3-подобные хранилища;
15. Опыт работы с векторными базами данных;
16. Тестирование: unit / integration / e2e, Testcontainers;
17. Мониторинг: Prometheus, Grafana, Alertmanager, OpenTelemetry;
18. DevOps-навыки: nginx, gunicorn, настройка деплоя;
19. Интеграция внешних API (Google Translate, Stripe и подобные);
20. Антифрод, логирование действий, ML-интеграции;
21. Карты: Leaflet, Mapbox, OpenStreetMap.
Что мы ожидаем по работе в команде:
- Аргументированно объяснять технические решения;
- Понятно писать в тикетах, комментариях к PR и документации;
- Помогать коллегам и разбираться в чужом коде;
- Внимательность к деталям и ответственность за результат.
Что предлагаем:
- Возможность участия в технически интересном и амбициозном проекте с самого начала и быть частью core-команды;
- Минимум бюрократии, максимум доверия;
- Влияние на архитектурные и продуктовые решения;
- Удалённая работа;
- Возможность последующей релокации в Европу (Люксембург, Германия, Франция, Бельгия)
Если у вас есть необходимые навыки, считаете что ответственность и педантичность ваш главный недостаток, требовательны к себе и качеству своей работы, а также близок дух стартапа, нравится быстро запускать новые продукты с прицелом на рост — будем рады пообщаться.
Отклики: только с указанием ожиданий по з/п и кратким описанием релевантного опыта по вышеуказанным компетенциям