Бумажный проезд 2/2
О проекте
Мы — действующая компания с разносторонней сферой деятельности, запускаем новое IT-направление. Наша цель — создать единую B2B/B2C-платформу для автоматизации бизнеса: от управления товарной информацией и продаж на маркетплейсах до логистики и снабжения проектов.
Текущая ситуация: IT-сторона бизнеса была слабой, процессы не автоматизированы. Мы начинаем строить платформу с нуля, и ты будешь первым backend-разработчиком в команде.
Первый вызов: Создание PIM-системы (Product Information Management) — централизованного хранилища товаров, атрибутов, категорий, медиа-контента. Это фундамент для всех будущих сервисов.
Первые работающие части нужны бизнесу через ~3 месяца.
Твоя роль
- Ты начинаешь один, но по мере роста проекта команда будет расти, и ты естественным образом перейдешь в роль тех.лида.
- Проектируешь и пишешь код — архитектура начинается с простых решений, которые не сломаются при росте. Никакой избыточной сложности на старте.
- Принимаешь технические решения по стеку, структуре кода, базе данных, подходам к интеграциям.
- Закладываешь основу для будущего масштабирования, но приоритет — работающий продукт, который можно использовать.
Что предстоит делать
- Спроектировать и реализовать ядро PIM-системы: товары, категории, атрибуты, медиа-контент, версионирование.
- Создавать интеграции с внешними API: маркетплейсы (Wildberries, Ozon, Яндекс.Маркет), системы учета (1C).
- Проектировать REST API для работы с товарными данными, их выгрузки и синхронизации.
- Работать с большими объемами данных: оптимизация запросов, эффективная работа с PostgreSQL.
- Настроить процессы разработки (Git flow, код-ревью, тесты, CI/CD) — ты формируешь культуру с первого дня.
Обязательные требования
- Python — коммерческий опыт 5+ лет, уверенное владение языком.
- FastAPI — опыт разработки API на FastAPI, понимание асинхронности.
- Asyncio — умение писать асинхронный код, особенно для интеграций с внешними API (rate limiting, конкуренция, обработка ошибок), понимание когда это нужно и когда нет.
- PostgreSQL — глубокое понимание работы с реляционными БД: сложные схемы (динамические атрибуты, версионирование, связи many-to-many), оптимизация запросов, индексы (включая GIN для JSONB), транзакции, умение обсуждать архитектурные решения и предлагать улучшения.
- SQLAlchemy 2.0+ (async) — опыт работы с ORM, миграции (Alembic).
- Опыт интеграций с внешними API — понимание rate limiting, retry logic, обработки ошибок, работа с REST API третьих сторон.
- Понимание работы с фоновыми задачами — опыт или готовность работать с очередями (Celery/RabbitMQ/Redis Queue/ARQ) для асинхронной обработки (выгрузки на маркетплейсы, импорт из 1C).
- Проектирование API — REST, версионирование, валидация, документация (OpenAPI/Swagger).
- Тестирование — pytest, умение писать unit и integration тесты.
- Docker — понимание контейнеризации, docker-compose для локальной разработки.
- Git — уверенное владение.
- Навык проектирования — умение спроектировать структуру БД и API для конкретной задачи без избыточной сложности.
Будет большим плюсом
- Опыт разработки или интеграции с PIM, ERP, маркетплейсами.
- Знание Redis (кэширование, сессии).
- Опыт проектирования event-driven или микросервисной архитектуры (но без фанатизма!).
- Понимание принципов DDD (Domain-Driven Design).
- Знание Elasticsearch или других решений для полнотекстового поиска.
- Опыт настройки CI/CD (GitLab CI, GitHub Actions).
Что мы предлагаем
- Роль первого разработчика: Ты формируешь техническую культуру и принимаешь ключевые решения с первого дня.
- Проект с чистого листа: Нет легаси, нет костылей. Строим на современных практиках.
- Рост вместе с проектом: По мере роста команды ты естественным образом переходишь в роль тех.лида.
- Разнообразные задачи: Проектирование data-моделей, интеграции, оптимизация производительности, настройка процессов.
- Прямое влияние на бизнес: Ты видишь, как твои решения сразу используются в реальных бизнес-процессах.
- Адекватный подход: Мы не строим микросервисы ради микросервисов. Решения должны соответствовать текущим задачам.