Нур-Султан (Астана), проспект Бауыржана Момышулы, 5А
О РОЛИ
IT Департамент КФФ развивает внутренний продукт для автоматизации и оптимизации процессов федерации. Ищем Middle backend-разработчика на Python и FastAPI, который будет проектировать и развивать серверную часть системы, реализовывать бизнес-логику и интеграции, обеспечивать надёжность и производительность API, а также участвовать в архитектурных решениях.
ОСНОВНЫЕ ОБЯЗАННОСТИ
Разработка API и бизнес-логики
Разрабатывать и поддерживать REST API на Python и FastAPI
Реализовывать бизнес-логику, вычисления, проверки данных и ролевую модель доступа
Разрабатывать асинхронные операции и фоновые задачи
Данные и интеграции
Проектировать структуру PostgreSQL, писать и оптимизировать запросы, поддерживать миграции схемы
Интегрировать сервис с брокерами сообщений, объектным хранилищем и внешними системами
Реализовывать загрузку, хранение и безопасную выдачу файлов
Качество, архитектура и инфраструктура
Писать unit- и integration-тесты для бизнес-логики, API и слоя данных
Участвовать в проектировании архитектуры, декомпозиции задач и code review
Настраивать структурированное логирование и обработку ошибок
Участвовать в контейнеризации сервисов и базовых CI/CD-процессах
ЧТО МЫ ОЖИДАЕМ
Высшее техническое образование (информационные технологии, прикладная математика или смежные направления)
Не менее 3 лет коммерческого опыта backend-разработки на Python
Уверенное знание Python: модель данных, type hints, коллекции, итераторы и генераторы, декораторы, контекстные менеджеры и обработка исключений
Понимание устройства CPython, reference counting, управления памятью и работы garbage collector
Уверенное понимание asyncio: event loop, coroutines, tasks, futures, cancellation и обработка ошибок в конкурентном коде
Понимание различий между конкурентностью и параллелизмом, I/O-bound и CPU-bound задачами; умение не блокировать event loop
Практический опыт разработки REST API на FastAPI
Уверенное знание Pydantic v2 и опыт проектирования моделей валидации и API-контрактов
Понимание REST, HTTP, JSON, кодов ответа, идемпотентности и документирования API через OpenAPI
Уверенное знание PostgreSQL и SQL: проектирование схемы, ограничения, индексы, транзакции, уровни изоляции, блокировки и анализ планов запросов
Практический опыт с SQLAlchemy 2.x, включая ORM, Core, транзакции и асинхронный API
Практический опыт с Alembic: создание, проверка и применение миграций
Опыт реализации аутентификации по логину и паролю с JWT, а также ролевой модели доступа и проверки прав на backend
Практический опыт с Celery и брокерами сообщений RabbitMQ и/или Redis
Понимание retries, идемпотентности, подтверждения сообщений, маршрутизации очередей и обработки неуспешных фоновых задач
Опыт работы с S3-совместимыми объектными хранилищами: Amazon S3, MinIO или аналоги
Понимание безопасной загрузки файлов: ограничения размера и типа, проверка MIME, контрольные суммы и безопасная выдача файлов
Опыт написания unit- и integration-тестов с pytest
Опыт тестирования асинхронного кода и FastAPI-приложений с pytest-asyncio или AnyIO и HTTPX
Понимание ООП, функционального программирования, SOLID, модульности и разделения ответственности; умение применять эти подходы уместно
Уверенное использование type hints, статической проверки типов, линтинга и форматирования
Опыт работы с pyproject.toml и современными инструментами управления зависимостями, включая uv или Poetry; опыт с Poetry приветствуется
Практический опыт с Ruff и mypy либо аналогичными инструментами
Базовое понимание безопасности web-приложений и API: контроль доступа, SQL injection, валидация входных данных и защита чувствительной информации
Опыт работы с Git и участия в code review
Практический опыт с Docker и Docker Compose, умение самостоятельно написать Dockerfile, понимание multi-stage build, переменных окружения, networks, volumes и health checks
Базовые знания CI/CD: автоматический запуск линтеров и тестов, создание Docker-образов, применение миграций и развертывание по окружениям; конкретная платформа не важна
Грамотная письменная и устная речь на русском языке; английский - на уровне чтения технической документации
БУДЕТ ПРЕИМУЩЕСТВОМ
Опыт работы в продуктовых IT-командах или крупных организациях
Опыт построения event-driven решений с Apache Kafka
Опыт использования Testcontainers для integration-тестов с PostgreSQL, Redis или RabbitMQ
Опыт точечного использования raw SQL или asyncpg для сложных и высоконагруженных запросов
Опыт генерации PDF- и XLSX-документов в фоновых задачах
Опыт настройки централизованного логирования, мониторинга, метрик и distributed tracing
Опыт разработки систем с аудитом изменений, историей версий и чувствительными данными
УСЛОВИЯ
Официальное трудоустройство, г. Астана
Испытательный срок - 3 месяца
Уровень заработной платы обсуждается по итогам собеседования
Техническое собеседование проводится офлайн в офисе
Квартальные премии в размере оклада
* Мы готовы рассмотреть другие варианты заработной платы в случае если вы превзойдете наши ожидания на техническом этапе собеседования
Филиал акционерного общества QAZPOST DIGITAL
Астана
до 1100000 KZT
Национальные информационные технологии
Астана
от 600000 KZT
Национальные информационные технологии
Астана
от 600000 KZT
Национальные информационные технологии
Астана
от 600000 KZT