Ведущий Python-разработчик / Архитектор системы единого входа (OpenID Connect, FastAPI) (удаленная работа)

12 ноября 2026

Уровень зарплаты:
от 300 000 до 300 000 руб.
Требуемый опыт работы:
Не указан

Вакансия: Ведущий Python-разработчик / Архитектор системы единого входа (OpenID Connect, FastAPI)

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

О проекте

Издательство Национальное образование развивает образовательные сайты: подготовка к ЕГЭ и ОГЭ , педагогический клуб, онлайн-школа, платформа материалов к учебникам. У всех сайтов общий вход через собственную систему единого входа ЕМАП (сервер авторизации по OpenID Connect: регистрация, вход через VK ID и Яндекс ID, роли и права, организации-школы, админка).

К ЕМАП подключены все продукты, поэтому ошибка в нём останавливает всё. Сейчас систему разрабатывает подрядчик мы ищем человека, который примет систему, станет её техническим владельцем и будет отвечать за то, как устроен вход и права во всех продуктах.

Нужен не просто разработчик, а инженер с опытом системной архитектуры: разберётся в чужом коде без документации, опишет устройство системы и сам доведёт изменения до прода.

Чем предстоит заниматься

  • Архитектура и анализ: разобрать ЕМАП целиком (протокол входа, выпуск и проверка токенов, ключи подписи, сессии, роли, организации, админка, интеграции с сайтами); поддерживать описание системы в актуальном состоянии; принимать архитектурные решения и согласовывать их с техдиректором; превращать запросы бизнеса в задачи с критериями готовности и оценкой.
  • Разработка: дорабатывать бэкенд на Python (FastAPI, SQLAlchemy async, PostgreSQL), при необходимости фронтенды входа, ЛК и админки (Vue 3 + TypeScript); подключать новые сайты и сервисы к единому входу; следить за безопасностью (хранение паролей и ключей, защита от подбора, права в админке); писать и поддерживать автотесты (pytest, Playwright, Schemathesis).
  • Эксплуатация: выкладывать версии через GitLab CI вместе с инженерами эксплуатации, проверять подключённые сайты после выкладки; разбирать инциденты по логам и Sentry; следить за нагрузкой в пиковые периоды (начало учебного года, подготовка к экзаменам).
  • Команда и подрядчик: 1 2 месяца работать вместе с подрядчиком, принимать работу по результату и забирать знания и доступы; консультировать бэкенд, фронтенд, онлайн-школу и тестировщиков по вопросам входа и прав; вести документацию в Confluence.

Ожидания на первые 3 месяца

  • 2 недели: поднять ЕМАП локально и на тестовом стенде, получить доступы, разобраться в протоколе, токенах, ролях, организациях и подключении сайтов; начать самостоятельно исправлять текущие ошибки; расставить приоритеты по задачам.
  • 1 месяц: самостоятельно выпускать исправления с проверкой подключённых сайтов и возможностью отката; принимать работу подрядчика по результату, в том числе автотестами; сквозные тесты на основные сценарии при каждой выкладке.
  • 2 месяца: принять самостоятельную поддержку ЕМАП; смена ключей подписи токенов и выкладка новых версий проходят без поломки сайтов; схема входа и порядок подключения нового сайта описаны в Confluence.
  • 3 месяца: довести первую собственную доработку от требований до прода (например, вход сотрудников школ через организацию); завершить документацию и автоматизацию проверок.

Результат принимается не по календарю: изменение подтверждено автотестами и проверкой на стенде, откат проверен. Если срок не выдерживается нужен конкретный список препятствий и решение по каждому.

Что нужно уметь (обязательно)

  • 5+ лет коммерческой разработки на Python; уверенно FastAPI или другой асинхронный фреймворк, SQLAlchemy.
  • Глубокое понимание OAuth 2.0 и OpenID Connect с серверной стороны : authorization code с PKCE, refresh-токены, JWT, JWK, ротация ключей, logout, consent, scopes. Опыт разработки или доработки сервера авторизации, а не только подключения к готовому.
  • Опыт проектирования систем: уметь описать архитектуру, выбрать решение и объяснить почему именно его.
  • Системный анализ: собрать требования, описать сценарии и критерии готовности, оценить трудоёмкость.
  • Безопасность веб-приложений: OWASP Top 10, хранение паролей и секретов, права доступа.
  • PostgreSQL: запросы, индексы, миграции, разбор медленных запросов.
  • Фронтенд на уровне чтения и правки: Vue 3 или React, TypeScript.
  • Docker, Kubernetes на уровне собрать, выложить, посмотреть логи , GitLab CI.
  • Умение разбираться в чужом коде без описания и доводить работу до прода.
  • Работа с ИИ-помощниками (Claude Code, Cursor или похожие) как обычная часть процесса.

Будет плюсом

  • Опыт с Keycloak, Ory, Authentik понимание, чем свой сервер отличается от готового.
  • Вход через VK ID и Яндекс ID.
  • Elasticsearch, Playwright, Sentry.
  • Опыт в продуктах с большим числом пользователей и разными типами (ученики, родители, учителя, школы).
  • Опыт приёмки работ у подрядчиков.

Технологии

Python, FastAPI, SQLAlchemy (async), PostgreSQL, sqitch, authlib, joserfc, Elasticsearch, Vue 3 + TypeScript + Vite, Playwright, Docker, GitLab CI, Sentry.

Условия

  • Удалённо, из любого региона России, полная занятость.
  • Оформление в штат по ТК РФ.
  • Готовы рассмотреть быстрый выход старт в течение 1 2 недель.
  • Подчинение техническому директору; работа в связке с руководителями групп бэкенда, фронтенда, тестирования и эксплуатации.
  • Задачи и документация Jira и Confluence, код GitLab.

Этапы отбора

  1. Разговор с HR.
  2. Техническое интервью с техническим директором: опыт, протоколы входа, архитектура, разбор реальной ситуации.
  3. Практическое задание.