Senior Fullstack-разработчик (Python / FastAPI / React / TypeScript)
О вакансии
О роли
IT-департамент Казахстанской федерации футбола развивает внутренний продукт для автоматизации и оптимизации процессов организации.
Ищем Senior Fullstack Developer с сильной backend-экспертизой, который будет развивать серверную часть на Python и FastAPI, пользовательские интерфейсы на React и TypeScript, интеграции и архитектуру продукта.
Предстоит работать со сложной бизнес-логикой, ролевой моделью доступа, большими объёмами табличных данных, фоновыми задачами и внутренними процессами федерации.
Основные обязанности
-
Разрабатывать и поддерживать REST API на Python и FastAPI и SPA на React и TypeScript.
-
Реализовывать бизнес-логику, вычисления, проверки данных и ролевую модель доступа.
-
Разрабатывать асинхронные операции и фоновые задачи.
-
Создавать сложные формы и редактируемые таблицы с валидацией, вычисляемыми значениями и автосохранением.
-
Реализовывать маршрутизацию и отображение интерфейса с учётом прав пользователя.
-
Проектировать структуру PostgreSQL, писать и оптимизировать запросы, поддерживать миграции.
-
Интегрировать продукт с брокерами сообщений, объектными хранилищами и внешними системами.
-
Реализовывать безопасную загрузку, хранение и выдачу файлов.
-
Интегрировать frontend с REST API, обрабатывать загрузку, кеширование, ошибки и повторные запросы.
-
Оптимизировать производительность API, больших списков и таблиц.
-
Писать unit-, integration- и компонентные тесты.
-
Участвовать в проектировании архитектуры, декомпозиции задач и code review.
-
Настраивать логирование и обработку ошибок.
-
Участвовать в контейнеризации и базовых CI/CD-процессах.
-
Поддерживать локализацию интерфейса.
Что мы ожидаем
Общий опыт
-
Высшее техническое образование.
-
Не менее 3 лет коммерческого опыта разработки web-приложений.
-
Сильный опыт backend-разработки на Python и уверенный опыт frontend-разработки на React и TypeScript.
-
Умение самостоятельно проектировать и реализовывать сложные задачи.
Backend
-
Уверенное знание Python: модель данных, type hints, коллекции, итераторы, генераторы, декораторы, контекстные менеджеры и обработка исключений.
-
Понимание устройства CPython, управления памятью, reference counting и garbage collector.
-
Уверенное знание asyncio: event loop, coroutines, tasks, futures, cancellation и обработка ошибок.
-
Понимание конкурентности, параллелизма, I/O-bound и CPU-bound задач.
-
Практический опыт разработки REST API на FastAPI.
-
Уверенное знание Pydantic v2 и проектирования API-контрактов.
-
Хорошее понимание REST, HTTP, JSON, кодов ответа, идемпотентности и OpenAPI.
-
Уверенное знание PostgreSQL и SQL: схемы, индексы, транзакции, блокировки и планы запросов.
-
Практический опыт с SQLAlchemy 2.x и Alembic.
-
Опыт реализации JWT-аутентификации, ролей и проверки прав.
-
Практический опыт с Celery и RabbitMQ и/или Redis.
-
Понимание retries, идемпотентности и обработки неуспешных фоновых задач.
-
Опыт работы с Amazon S3, MinIO или другими S3-совместимыми хранилищами.
-
Понимание безопасной загрузки и выдачи файлов.
Frontend
-
Уверенное знание JavaScript и TypeScript, включая generics, utility types и discriminated unions.
-
Хорошее знание React: компоненты, хуки, управление состоянием и особенности рендеринга.
-
Опыт разработки SPA с React Router и Vite.
-
Уверенное владение HTML и CSS.
-
Опыт работы с Tailwind CSS и shadcn/ui.
-
Понимание принципов построения переиспользуемых компонентов.
-
Практический опыт с TanStack Query.
-
Опыт работы с TanStack Table или аналогичными headless-решениями.
-
Умение реализовывать редактирование и валидацию ячеек, вычисляемые строки и клавиатурную навигацию.
-
Опыт разработки сложных форм с React Hook Form и Zod.
-
Умение находить лишние ререндеры и оптимизировать большие списки и таблицы с помощью мемоизации и виртуализации.
-
Понимание accessibility и адаптивной верстки.
Тестирование и качество кода
-
Опыт написания unit- и integration-тестов с pytest.
-
Опыт тестирования FastAPI и асинхронного кода с pytest-asyncio или AnyIO и HTTPX.
-
Опыт работы с Vitest и React Testing Library.
-
Понимание ООП, функционального программирования, SOLID, композиции, модульности и immutability.
-
Уверенное использование type hints, статической проверки типов, линтинга и форматирования.
-
Практический опыт с Ruff и mypy либо аналогами.
Инструменты и инфраструктура
-
Опыт работы с pyproject.toml, uv или Poetry.
-
Знание Node.js на уровне пакетных менеджеров, скриптов, зависимостей и сборки.
-
Уверенная работа с Git и участие в code review.
-
Практический опыт с Docker и Docker Compose.
-
Умение писать Dockerfile, использовать multi-stage build, переменные окружения, networks, volumes и health checks.
-
Базовое понимание CI/CD: линтинг, тестирование, сборка Docker-образов, миграции и развертывание.
Безопасность и коммуникация
-
Базовое понимание безопасности web-приложений и API: XSS, CORS, SQL injection, JWT, валидация данных и контроль доступа.
-
Грамотная письменная и устная речь на русском языке.
-
Английский язык на уровне чтения технической документации.
Будет преимуществом
-
Опыт работы в продуктовых IT-командах или крупных организациях.
-
Опыт с Apache Kafka и event-driven архитектурой.
-
Опыт использования Testcontainers.
-
Опыт применения raw SQL или asyncpg для сложных запросов.
-
Опыт генерации PDF- и XLSX-документов в фоновых задачах.
-
Опыт настройки логирования, мониторинга, метрик и distributed tracing.
-
Опыт разработки систем с аудитом изменений и чувствительными данными.
-
Опыт работы с Playwright, Redux Toolkit или Node.js.
-
Опыт генерации типизированного API-клиента по OpenAPI.
-
Опыт разработки мультиязычных приложений и работы с i18n.
-
Опыт развития дизайн-систем и интерфейсов с большим объёмом табличных или финансовых данных.
Условия
-
Официальное трудоустройство в городе Астана.
-
Испытательный срок - 3 месяца.
-
Заработная плата обсуждается по итогам собеседования.
-
Квартальные премии в размере одного месячного оклада.
-
Техническое собеседование проводится офлайн в офисе.
Для кандидатов, которые покажут уровень выше ожиданий на техническом этапе, готовы рассмотреть индивидуальные условия по заработной плате.
Рыночный ориентир
на 191% выше медианыСмотрите также
Похожие вакансии
Все похожие вакансииПреподаватель английский казахский
Менеджер канцелярии
Ведущий менеджер
Переводчик английский русский
Менеджер технического департамента федерации футбола
Ведущий юрист
Частые вопросы
Какую зарплату можно ожидать?
Работодатель указывает 1 200 000 – 1 500 000 ₸ для этой роли в Федерация Футбола Казахстана, Астана. Для сравнения медиана рынка — около 463 152 ₸ по 16 978 похожим предложениям.
Как откликнуться на вакансию?
Перейдите на страницу источника и свяжитесь с работодателем там. Finder не берёт денег с соискателей.
Вакансии актуальные?
Да. Finder регулярно обновляет базу из открытых источников и убирает закрытые предложения.
Где посмотреть тип занятости и формат работы?
Ключевые условия показаны над описанием. Также можно открыть связанные подборки по Федерация Футбола Казахстана и Астана.
