Назад
2 дня назад

Senior Python Backend Developer (PostgreSQL)

180 000
Формат работы
remote (только Russia)
Тип работы
project
Грейд
senior
Страна
Russia
hhВакансия с HeadHunter. Контакт ведёт на hh.ru

Мэтч & Сопровод

Покажет вашу совместимость и напишет письмо

Описание вакансии

TL;DR
Senior Python Backend Developer (PostgreSQL): переработка бэкенда действующей staffing/HR-платформы и миграция сложной системы на новую структуру базы данных с сохранением бизнес-логики с акцентом на асинхронную разработку, проектирование PostgreSQL и безопасные миграции в продакшене. Focus on восстановлении логики недокументированного легаси-кода, поэтапной стратегии миграции без длительного простоя, совместимости REST API и интеграции с Vue 3.

Локация

Москва, Москва, RU; Remote

Проект : переработка бэкенда действующей staffing/HR-платформы под новую структуру базы данных, по сути миграция сложной системы с сохранением бизнес-логики. Чем предстоит заниматься

  • Спроектировать новую схему БД (PostgreSQL) взамен текущей и написать план миграции данных без потери целостности и без долгого простоя прод-системы
  • Переписать бэкенд под новую структуру — читать и корректно переносить бизнес-логику из легаси-кода, который местами не документирован
  • Поддерживать/дорабатывать async-инфраструктуру: очереди (RabbitMQ), фоновые задачи по расписанию, генерацию отчётов/актов (PDF)
  • Синхронно вести фронтенд на Vue 3 (Pinia, Quasar) там, где меняется контракт API
  • Планировать и защищать поэтапную стратегию миграции (фичи/фазы, откат, тестовые контуры) — это самостоятельная архитектурная работа, а не тикеты по ТЗ Обязательно (must have)
  • 5+ лет коммерческой разработки на Python, из них заметная часть — асинхронный бэкенд (asyncio, aiohttp / FastAPI / аналоги)
  • Глубокое знание PostgreSQL: проектирование схем с нуля, нормализация, индексы, транзакции, производительность на нетривиальных объёмах данных
  • Опыт миграций схемы БД в проде
  • Реальный опыт переписывания/рефакторинга крупной части бэкенда действующей системы (не с нуля) — умение читать чужой недокументированный код и восстанавливать бизнес-логику по нему
  • Уверенное и грамотное владение AI-инструментами разработки (Cursor / Claude Code) для ускорения работы — не в формате "весь код пишет за меня": важно понимание того, что происходит под капотом, готовность писать и разбирать код руками, тщательное ревью сгенерированного кода перед тем, как он попадает в проект.
  • Опыт работы с async ORM и инструментами миграций (Alembic или аналог)
  • Vue 3 (Composition API) + Pinia на уровне продакшн-разработки, опыт работы с Quasar или сравнимым UI-фреймворком, умение делать качественную верстку, ревьювить AI код верстки и понимать особенности взаимодействия фронта с бэком (чтобы фронт не тянул бэк вниз)
  • Понимание/опыт работы с очередями сообщений (RabbitMQ или аналог) в контексте фоновых задач и межсервисного взаимодействия
  • REST API — проектирование контрактов, версионирование, обратная совместимость при живых клиентах
  • Docker, CI/CD (GitLab CI или аналог), базовое понимание деплой-автоматизации (Ansible или аналог) — не обязательно писать плейбуки самому, но понимать, как код доезжает до прода
  • Опыт написания тестов на реальной БД (pytest + фикстуры), а не только на моках — умение проектировать тестовый контур для системы, где бизнес-правила критичны
  • Самостоятельность в архитектурных решениях: способность предложить и защитить стратегию миграции, а не ждать детального ТЗ Будет плюсом
  • Опыт интеграций с внешними финансовыми/юридическими сервисами (платёжные шлюзы, ЭДО/электронная подпись, налоговые API)
  • Опыт генерации документов (Jinja2 → PDF, weasyprint или аналог)
  • Java (базовый уровень) — в системе есть отдельный микросервис на Java/Gradle
  • Опыт роли тех.лида на проекте сопоставимого масштаба Бэкенд: Python 3, aiohttp (async), Gino (async ORM) → PostgreSQL, Alembic (миграции), RabbitMQ (aio-pika), Jinja2 + WeasyPrint (генерация PDF), JWT-аутентификация, Swagger/OpenAPI. Фронтенд: Vue 3 (Composition API), Pinia, Quasar 2, Axios. Инфраструктура: Docker, GitLab CI, Ansible (деплой), pytest. Условия • Проектная занятость (под разработку новой структуры бэка), в дальнейшем — обсуждение перехода на полную ставку. • Оплачиваемый отпуск (4 недели в год). • От 180 000 ₽ по итогам собеседования.

Будьте осторожны: если работодатель просит войти в их систему, используя iCloud/Google, прислать код/пароль, запустить код/ПО, не делайте этого - это мошенники. Обязательно жмите "Пожаловаться" или пишите в поддержку. Подробнее в гайде →

Текст вакансии взят без изменений

Источник - hh