Компания ООО " Цифровая оптимизаци" ищет к себе в команду Backend-разработчика (Python / FastAPI)
О проекте
Модульная платформа сервисов ERP&BI для строительного бизнеса.
Что предстоит делать
- Разрабатывать и поддерживать бизнес-логику сервисов платформы на FastAPI.
- Проектировать модели данных и миграции (SQLAlchemy 2.x + Alembic), в том числе для новых сервисов.
- Работать с межсервисным взаимодействием по HTTP и через Redis Streams (очереди, воркеры, consumer groups).
- Развивать общий пакет shared (авторизация, модели, работа с БД, очереди).
- Поддерживать и расширять ролевую модель и мультитенантность (холдинг → организация → пользователи).
- Реализовывать интеграции: мессенджеры, экспорт в Excel/PDF/Word, работу с файлами.
- Писать тесты (pytest, pytest-asyncio, httpx).
- Участвовать в настройке и сопровождении CI/CD (GitLab CI), деплое через Docker Compose
- Помогать выстраивать архитектурные и процессные стандарты.
Требования
- Python 3.12+, уверенное владение асинхронным кодом (asyncio, async/await).
- FastAPI + Uvicorn, Pydantic v2 / pydantic-settings.
- SQLAlchemy 2.x, Alembic (миграции на каждый сервис отдельно).
- PostgreSQL — уверенное владение, опыт проектирования схем.
- Опыт работы с JWT-авторизацией (python-jose), bcrypt.
- Понимание микросервисной архитектуры и REST-взаимодействия между сервисами.
- Опыт работы с Redis / Redis Streams.
- Docker, Docker Compose, базовые навыки работы с Linux и .env/логами.
- Понимание требований к работе с персональными данными (152-ФЗ) — на уровне архитектурных решений.
Будет плюсом
- Опыт работы тимлидом или готовность расти в эту роль — это ключевая позиция для стабилизации команды.
- APScheduler, sse-starlette (real-time уведомления, чат).
- Опыт интеграций: мессенджеры, email (aiosmtplib), Web Push (pywebpush).
- Работа с документами: openpyxl, python-docx, pypdf/PyPDF2, WeasyPrint, Jinja2.
- Опыт с Traefik, GitLab CI/CD.
- Опыт работы с LLM-интеграциями (OpenAI API и аналоги).
- Опыт разработки в мультитенантных системах.