О проекте
Мы — команда онлайн-кинотеатра. Наш сервис работает с высокими нагрузками (Highload), обеспечивая пользователям бесперебойный стриминг контента.
Сейчас мы находимся на этапе масштабной архитектурной трансформации: мы декомпозируем наш текущий монолит на Python/Django и переводим целевые домены на современный стек .NET / C#. Ищем Backend-разработчика, который не боится legacy, умеет читать чужой код и хочет строить производительные микросервисы с нуля.
Чем предстоит заниматься:
- Декомпозиция монолита: анализ, чтение и рефакторинг legacy-кода на Python/Django, выделение доменов в изолированные микросервисы.
- Разработка микросервисов: проектирование и написание производительных Web API на целевом стеке .NET 8+ / ASP.NET Core.
- Работа с данными: миграция и синхронизация схем данных при разделении монолита на изолированные базы.
- Оптимизация: профилирование тяжелых запросов, настройка индексов, написание сложных выборок без использования ORM.
- Интеграции: настройка межсервисного взаимодействия (синхронное и асинхронное).
Наши требования (Hard Skills):
Текущий стек (Python / Django):
- Отличное знание Python 3.x: понимание асинхронности (asyncio), работы с памятью и структурами данных.
- Уверенный опыт с Django & Django REST Framework (DRF): умение работать с legacy-кодом, оптимизировать сериализаторы, проектировать API.
- Опыт работы с очередями задач: Celery, брокеры сообщений (Redis / RabbitMQ).
- Глубокое понимание Django ORM: умение отслеживать и решать проблему N+1 запросов.
Целевой стек (.NET / C#):
- Знание .NET 8+ / ASP.NET Core: разработка производительных Web API, знакомство с актуальными релизами платформы.
- Уверенное владение Entity Framework Core (EF Core).
- Понимание принципов Dependency Injection & Middleware: умение конфигурировать и кастомизировать конвейер обработки запросов.
Архитектура и Базы данных:
- Понимание принципов микросервисной архитектуры и распила монолита.
- Знание паттернов межсервисного взаимодействия (REST, gRPC, async) и архитектурных паттернов (API Gateway, CQRS).
- Уверенная работа с PostgreSQL: профилирование запросов, оптимизация индексов, написание сложных выборок на чистом SQL.
- Опыт миграции данных и синхронизации схем при разделении БД.
Инфраструктура и Highload:
- Понимание специфики высоких нагрузок, базовое знание кэширования (Redis / Memcached).
- Понимание оптимизации сетевого ввода-вывода (I/O), что критично для стриминговых сервисов.
- Уверенная контейнеризация: Docker, Docker Compose (в том числе развертывание локального окружения из двух разных стеков).
Личные качества (Soft Skills):
- Ответственность и нацеленность на результат: вам важно не просто «закрыть таску», а довести фичу до продакшена, чтобы она работала стабильно.
- Критическое мышление: умение подвергать сомнению неочевидные решения и предлагать лучшие архитектурные подходы.
- Самоорганизация: умение эффективно планировать свое время в удаленном формате.
- Командная работа: готовность делиться знаниями, участвовать в код-ревью и вместе искать лучшие решения.
Условия:
- Полностью удаленный формат работы (дистант).
- Работа над высоконагруженным проектом в сфере онлайн-кинотеатров (стриминг, большие объемы данных, реальные вызовы Highload).
- Уникальный опыт миграции и построения микросервисной архитектуры с использованием двух мощных стеков (Python + .NET).