Backend-разработчик
Зарплата
Требования
Местоположение и тип занятости
Компания
Описание вакансии
О проекте
Мы разрабатываем современный маркетплейс с поддержкой множественных вендоров, системой заказов, чатом в реальном времени, платежной интеграцией и мобильным приложением. Проект использует микросервисную архитектуру с акцентом на производительность, масштабируемость и качество кода.
Обязательные навыки
Технический стек
- Python 3.8+ — глубокое понимание языка, знание best practices
- Django 4.x/5.x — опыт разработки на Django не менее 2-3 лет
- Django REST Framework (DRF) — опыт создания RESTful API, знание ViewSets, Serializers, Permissions
- PostgreSQL — опыт работы с реляционными БД, оптимизация запросов, работа с индексами
- Redis — использование для кеширования, очередей задач, pub/sub
- Celery — опыт работы с асинхронными задачами, планировщиками задач (django-celery-beat)
- Django Channels — опыт разработки WebSocket приложений, работа с асинхронными консьюмерами
- JWT аутентификация — опыт реализации токен-базированной аутентификации (djangorestframework-simplejwt)
Базы данных и оптимизация
- Опыт оптимизации SQL-запросов (select_related, prefetch_related, аннотации, агрегации)
- Понимание проблемы N+1 запросов и умение её решать
- Опыт работы с транзакциями (atomic, select_for_update)
- Знание индексации БД и её влияния на производительность
- Опыт работы с иерархическими структурами данных (MPTT)
API разработка
- Опыт проектирования RESTful API
- Знание OpenAPI/Swagger (drf-yasg) для документирования API
- Опыт работы с фильтрацией, пагинацией, сортировкой данных
- Понимание версионирования API
- Опыт работы с CORS и настройкой безопасности API
Асинхронность и очереди
- Опыт работы с Celery для фоновых задач
- Понимание паттернов работы с очередями сообщений
- Опыт работы с Django Channels для WebSocket соединений
- Знание асинхронного программирования в Python (async/await)
Интеграции
- Опыт интеграции платежных систем (YooKassa, Stripe и т.д.)
- Опыт работы с Firebase для push-уведомлений (fcm-django)
- Опыт работы с внешними API и обработка webhook'ов
Желательные навыки
Дополнительные технологии
- Docker — опыт контейнеризации приложений
- Git — опыт работы с Git, понимание Git Flow
- Linux — базовые навыки работы с Linux серверами
- Nginx — базовое понимание настройки веб-сервера
- CI/CD — опыт настройки автоматизированных деплоев
Архитектура и паттерны
- Понимание принципов SOLID
- Опыт работы с паттернами проектирования (Repository, Service Layer, Factory и т.д.)
- Понимание микросервисной архитектуры
- Опыт работы с event-driven архитектурой
Тестирование
- Опыт написания unit-тестов (pytest, unittest)
- Опыт написания integration-тестов
- Понимание TDD подхода
- Опыт работы с моками и фикстурами
Дополнительные библиотеки
- Опыт работы с django-filters для фильтрации данных
- Знание библиотек для работы с изображениями (Pillow)
- Опыт работы с библиотеками для работы с телефонными номерами (phonenumber-field)
- Знание библиотек для работы с переводами и транслитерацией
Опыт работы с похожими проектами
- Опыт разработки e-commerce платформ или маркетплейсов
- Опыт работы с системами управления заказами
- Опыт разработки систем с множественными ролями пользователей
- Опыт работы с системами рейтингов и отзывов
- Опыт разработки чат-систем или систем уведомлений
Личные качества
- Ответственность и внимательность к деталям
- Умение работать в команде
- Готовность к обучению и изучению новых технологий
- Понимание важности безопасности и производительности
- Умение писать чистый, поддерживаемый код
- Опыт code review и работы с Git
Обязанности
- Разработка и поддержка backend API для веб и мобильных приложений
- Проектирование и оптимизация структуры базы данных
- Реализация бизнес-логики для работы с товарами, заказами, платежами
- Разработка WebSocket соединений для чата в реальном времени
- Интеграция с внешними сервисами (платежные системы, push-уведомления)
- Оптимизация производительности приложения
- Написание документации для API
- Участие в code review
- Написание тестов для разрабатываемого функционала
ОПЫТ: от 2-3 лет в разработке на Django/Python
УРОВЕНЬ: Middle/Senior Backend Developer
