Python-разработчик middle (FastAPI, AI/ML)

Дата размещения вакансии: 10.12.2025
Работодатель: Леусова Екатерина Сергеевна
Уровень зарплаты:
от 230000 RUR
Город:
Москва
Требуемый опыт работы:
От 3 до 6 лет

О проекте

HR-Mosaic - инженерная HRTech-платформа для автоматизации подбора персонала с использованием AI. Это не заказная разработка, а собственный продукт, который используют реальные клиенты.

Проект построен на микросервисной архитектуре и работает как в облаке, так и on-premise. Мы активно развиваем AI-направление и ищем разработчиков, которые хотят расти технически и понимать систему целиком.

Почему это интересно

✓ Реальный B2B-продукт с пользователями, а не заказная разработка;

✓ Современный стек и актуальные задачи (async, микросервисы, LLM);

✓ Развитие на пересечении backend и AI;

✓ Возможность влиять на архитектурные решения;

✓ Чистый код и инженерная культура (code review, автотесты, CI/CD).

Как мы работаем

• Code Review: все код проходит через review — это часть нашей культуры;

• CI/CD: автотесты, прозрачный DevOps-пайплайн, automatic deployment;

• Autotests: минимум 70% покрытия, автоматическая проверка в pipeline;

• Architecture First: взвешенные решения без бюрократии, обсуждение архитектуры;

Чистый код: типизация, форматирование, линтинг;

Документация: код документирован, есть примеры использования API.

Технологический стек

• Язык: python 3.13+;

• Backend: FastApi, asyncio, asyncpg;

• Валидация: pydantic;

• БД: PostgreSQL, asyncpg;

• AI/ML: OpenAI API, Ollama, sentence-transformers;

• Тестирование: pytest, pytest-asyncio (покрытие >= 70%);

• Качество кода: ruff, mypy, tox;

• Инфраструктура: Docker, Docker Compose, Nginx;

• Миграции: yoyo-migrations;

• Мониторинг: Sentry, OpenTelemetry, Langfuse;

• VCS&CI/CD: Git, code review, автотесты.

Ключевые задачи

• Разработка и поддержка backend-микросервисов на FastAPI;

• Интеграция с LLM (OpenAI, Ollama) для анализа резюме и документов;

• Оптимизация асинхронного кода и SQL-запросов для работы с большими объемами данных;

• Разработка REST API с автодокументацией (Swagger, ReDoc);

• Написание тестов (pytest) с покрытием >= 70%;

• Управление миграциями БД (yoyo-migrations);

• Участие в code review и поддержка качества кода.

Обязательные Требования

✓ 3+ года коммерческой разработки на Python (опыт production-систем);

✓ Практический опыт с FastAPI или аналогичными async-фреймворками (Starlette, aiohttp);

✓ Уверенное владение асинхронным программированием: asyncio,async/await, asyncpg;

✓ PostgreSQL: знание SQL, оптимизация запросов, работа с индексами;

✓ REST API: проектирование, документирование, лучшие практики;

✓ pytest: написание unit и интеграционных тестов для async-кода;

✓ Docker: базовые знания контейнеризации и Docker Compose;

✓ Опыт использования AI-ассистентов для разработки (Cursor, Claude, GitHub Copilot, Gemini и др);

✓ Git и code review: работа в команде, понимание best practices.

Будет плюсом

• Опыт работы с LLM (OpenAI API, LangChain, Ollama) -даже на pet-проектах;

• Понимание микросервисной архитектуры и распределенных систем;

• Опыт работы с type hints и mypy для статической проверки типов;

• Знание инструментов качества кода (ruff, black, pylint, pre-commit);

• Опыт работы с миграциями БД (Alembic, yoyo-migrations);

• Понимание Clean Architecture и принципов SOLID;

• Опыт с мониторингом и логированием (Sentry, OpenTelemetry, ELK);

• Опыт работы с очередями (Celery, RabbitMQ) или job-систем;

• Знание Nginx для reverse proxy и API Gateway конфигурации.

Что мы предлагаем

Конкурентная зарплата: 230,000–260,000 руб./мес. (на руки);

Полностью удаленный формат (работаешь откуда угодно);

Профессиональный рост: clear path от middle до middle+/senior;

Развитие в AI-направлении: уникальный опыт LLM-интеграции;

Влияние на архитектуру: твои идеи формируют проект;

Опытная команда: учишься у профессионалов, помогаешь junior;

• Real B2B-продукт: не заказная разработка, есть реальные пользователи;

Инженерная культура: честная обратная связь, без микроменеджмента.

Букв получилось очень много - мы специально расписали всё в деталях, чтобы дать вам полную картинку проекта. Мы очень ценим, что вы уделили время изучению наших задач! Увидимся на интервью!