Middle Backend-разработчик (Python) at Федерация Футбола Казахстана — NeverHard
Middle Backend-разработчик (Python) at Федерация Футбола Казахстана in Астана. Skills: Architecture, Backend Development, CI/CD, Code Review, Docker. Apply on NeverHard.
Company
Федерация Футбола Казахстана
Location
Астана
Type
full_time
Required skills:
Architecture
Backend Development
CI/CD
Code Review
Docker
FastAPI
Integration Testing
PostgreSQL
Python
Rest API
О РОЛИ 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 месяца Уровень заработной платы обсуждается по итогам собеседования Техническое собеседование проводится офлайн в офисе Квартальные премии в размере оклада * Мы готовы рассмотреть другие варианты заработной платы в случае если вы превзойдете наши ожидания на техническом этапе собеседования