Описание
Платформа для разработки, валидации, передачи и развёртывания DWH-объектов между ландшафтами DEV, TEST и PROD. Она поддерживает СУБД Greenplum и ClickHouse; в продуктиве работает CLI-конвейер Linter → Builder → Deployer, а в разработке находятся интегрированный сценарий, служба выполнения, Deployment Worker, peer Transport API и Web UI.
Задачи
- Разрабатывать и развивать модули mors-linter, mors-builder и mors-deployer на Python
- Дорабатывать и реализовывать интегрированный сценарий на FastAPI, включая Web API и модули Repository, Transport, Deployment Orchestrator, Load и Administration
- Реализовывать peer Transport API между ландшафтами и интегрировать его с Deployment Worker
- Проектировать и использовать Metadata DB и Operational DB на PostgreSQL, работать с JSONB, индексами зависимостей, блокировками, транзакциями и очередями
- Анализировать SQL, YAML и конфигурации DWH-проектов, реализовывать правила именования и проверку зависимостей
- Разрабатывать сборку транспортных артефактов и логику развёртывания, включая стратегии миграций, блокировки и журналирование
- Интегрировать ArtifactStore, Artifactory, private PyPI и GitLab CI
- Покрывать код модульными и интеграционными тестами, проводить Code Review, рефакторинг и отладку сквозных сценариев
- Участвовать в разработке по спецификациям и согласовывать с frontend JSON/OpenAPI-контракты
Требования
- Уверенное знание Python 3.10+ и опыт работы с FastAPI и CLI-инструментами
- Понимание asyncio, опыт работы с HTTP-клиентами httpx или aiohttp и сервером приложений uvicorn, gunicorn или аналогом
- Отличное знание PostgreSQL, включая транзакции, JSONB, индексы, блокировки и миграции схем
- Опыт работы с Greenplum/PostgreSQL DDL через драйверы psycopg2 или psycopg3
- Знание SQL и жизненного цикла объектов хранилища данных; умение читать и составлять сложные SQL-запросы
- Опыт работы с парсерами SQL и графами зависимостей, понимание топологического порядка выполнения
- Знание Pydantic, PyYAML, TOML и конфигурации через переменные окружения
- Опыт работы с ZIP-архивами, файловой структурой проектов и S3 API
- Знание SOLID, DRY, KISS, YAGNI, модульного проектирования и Clean Architecture или гексагональной архитектуры
- Опыт работы с Git, uv, упаковкой Python-проектов, pre-commit и GitLab CI
- Опыт написания модульных и интеграционных тестов на pytest, включая тесты API
- Базовые знания JavaScript/TypeScript, HTML/CSS и JSON/AJAX
- Умение оценивать сроки, ответственность за изменения в ландшафтах DEV/TEST/PROD, опыт работы по Agile и Jira, умение работать по спецификациям до начала разработки
Будет плюсом
- ClickHouse
- PXF
- FDW
- SAP datasource
- очереди и воркеры
- Redis
- RabbitMQ
- Celery
- JWT
- OAuth2
- Keycloak
- IAM
- Alembic
- Flyway
- Postman
- Insomnia
- OpenAPI lint
- Structurizr DSL
- PlantUML
- C4
- Spec-Driven Development
- Kubernetes
- OpenShift
- Docker
- Docker Compose
- Jinja2
- orjson
- multiprocess
- ETL/Load Tasks
- Process Chains
- TypeScript
- современный SPA-стек
- опыт работы с multipart API и интеграциями между контурами
Условия
Зарплата до 160 000 ₽ по ИП