Задача - разработка приложения для транспортных компаний.
Обязанности:
- Разработка и сопровождение бизнес-логики на backend (Python, FastAPI): реализация и доработка REST API, сервисный слой, работа с БД через ORM, соблюдение изоляции данных по тенанту (tenant_id), согласованность с правами доступа.
- Разработка и сопровождение пользовательского интерфейса (React, TypeScript): страницы и компоненты, формы, интеграция с API, состояние приложения, обработка ошибок и понятные сообщения пользователю.
- Участие в проектировании и оценке задач: разбор требований, декомпозиция, оценка трудозатрат, согласование с техническим лидом/продактом.
- Написание и поддержка автотестов: unit/integration (pytest на backend, Vitest на frontend) для ключевых сценариев и регрессии после изменений.
- Работа с миграциями БД (Alembic): новые и изменённые сущности, обратимые миграции, согласование с индексами и производительностью.
- Рефакторинг и технический долг: упрощение кода, выравнивание под принятые в проекте паттерны (тонкие роуты, логика в сервисах), без лишних «переписываний ради переписывания».
- Code review: участие в ревью чужого кода и реакция на замечания по своим изменениям.
- Интеграции и внешние сервисы: при необходимости — доработка клиентов к API (геокодирование, телематика, платежи и т.п.) с учётом таймаутов, ограничений и безопасности.
- Документирование: краткое описание нетривиальных решений в коде/в репозитории документации при внедрении новых фич.
- Взаимодействие с смежными ролями: уточнения у аналитики/продакта, согласование контрактов API с frontend, при необходимости — с DevOps по окружениям и деплою.
- Backend: проектирование и реализация REST API, слой сервисов, валидация входных данных (в т.ч. Pydantic), работа с реляционной БД через ORM, транзакции, миграции схемы.
- Frontend: компонентная разработка на React, строгая типизация TypeScript, работа с формами, асинхронные запросы к API, обработка состояний загрузки и ошибок.
- Совместная работа: Git (ветки, merge/rebase, code review), читаемый код, умение разбирать чужой код в существующем репозитории.
- Технологический стек проекта (желательно совпадение или близкий аналог)
- Слой (Технологии)
- Backend - (Python 3.9+, FastAPI, SQLAlchemy 2.x, Alembic, PostgreSQL, JWT (аутентификация))
- Асинхронность и очереди - (Redis, RabbitMQ (или опыт с аналогами — понимание очередей и воркеров))
- Файлы / объектное хранилище - (MinIO / S3-совместимое API)
- Frontend - (React 18, TypeScript, Vite, React Router 6, Zustand, Axios)
- Карты - (Leaflet / react-leaflet)
- Тесты - (pytest (backend), Vitest + Testing Library (frontend))
- Инфраструктура - Совместная разработка: Git (ветки, pull request / merge request, code review), работа с удалённым репозиторием.
- Окружение: по согласованию с командой — либо контейнеризация зависимостей (Docker / Docker Compose), либо доступ к общему стенду разработки; важно умение воспроизвести окружение по инструкции проекта.
- Полностью удаленный формат работы.
- ЗП обсуждается индивидуально.
- Удобный график работы.
Похожие вакансии
PixiJS (WebGL). Framer Motion. Уверенно владеете JavaScript / TypeScript и React. Понимаете принципы архитектуры frontend приложений (state management, разделение слоёв, модульность).
Python 3.11+ — уверенное владение языком, типизацией, Pydantic. Асинхронное программирование — понимание event loop, async/await, конкурентности, корректная работа с...
Опыт коммерческой разработки от 3-х лет, уверенное владение асинхронным программированием и async-сервисами. Практический опыт разработки как серверов, так...
Просим обратить внимание, что рассматриваем кандидатов, готовых к Full time занятости. Frontend навыки - обязательны. 1C-Bitrix (D7), PHP...
4+ лет коммерческой разработки на Python. Опыт Team Lead / Tech Lead от 1 года. Опыт построения архитектуры backend-систем.
