Ищем инженера уровня Middle, ориентированного на бэкенд (Python/FastAPI) и способного при необходимости дорабатывать фронтенд-модули на React/Next.js. Основная зона ответственности — разработка и поддержка продакшен-сервисов, интеграции и API.

Основные обязанности:

  • Разработка, сопровождение и оптимизация продакшен-сервисов (REST/JSON API), фоновых задач и интеграций.
  • Проектирование и реализация сервисных API: валидация, пагинация, авторизация, обработка ошибок.
  • Интеграция с внешними системами и API (закупочные площадки, корпоративные сервисы, внутренние сервисы).
  • Небольшие доработки во фронтенде (React/Next.js): правки страниц, маршрутов, UI-компонентов.
  • Участие в код-ревью, написание тестов и документирование сервисов.

Требования:

  • 2+ года коммерческой разработки на Python.
  • Опыт работы с Python 3.11+ и FastAPI.
  • Опыт проектирования REST API (валидация, пагинация, авторизация).
  • PostgreSQL — уверенное владение SQL и понимание оптимизации запросов.
  • React — обязательно; Next.js — желательно.
  • Практический опыт работы с Docker и Git.
  • Умение читать и поддерживать чужой код, следовать принципам чистого кода.

Желательные навыки (будут преимуществом)

  • Опыт работы с SQLAlchemy 2.0 (async) и миграциями через Alembic.
  • Опыт работы с Redis и системой фоновых задач (Celery или аналог).
  • Опыт интеграции с S3/Supabase или S3-совместимыми хранилищами.
  • Опыт парсинга (Scrapy, Playwright) и разработки ботов (aiogram).
  • Знания по SSO/Keycloak.
  • Опыт с RAG-технологиями: Weaviate, LangChain, OpenAI/Voyage.
  • Понимание CI/CD и мониторинга (Prometheus/Grafana).

Личные качества

  • Аккуратность, внимательность к деталям, ответственность.
  • Готовность задавать вопросы и быстро осваивать новые технологии.
  • Способность самостоятельно решать задачи и эффективно взаимодействовать с командой.

Условия:

  • трудоустройство по ТК РБ
  • систему мотивации (оклад+KPI);
  • график работы с 8:30 до 17:30;
  • офисный формат работы по адресу: г. Минск, ул. Кальварийская, д.42 (м. Молодежная);
  • оборудованное рабочее место в офисе;

Ссылка на вакансию в банке вакансий на gsz.gov.⁣by:

*Перспективная вакансия для замещения.