Дизайн-агентство aic.ru находится в поиске опытного Python-разработчика для активной работы над интересным продуктом.
Мы развиваем продукт и набор backend-сервисов в микросервисной архитектуре. Много интеграций и асинхронных сценариев: часть запросов идет синхронно по API, часть — событиями через Kafka (event-driven подход).
Инфраструктура ориентирована на управляемые сервисы в Yandex Cloud: Managed PostgreSQL, Managed Kafka, Managed OpenSearch, KMS.
Чем предстоит заниматься
- Разрабатывать и поддерживать backend-сервисы (API + фоновые воркеры), развивать существующие модули;
- Оценивать задачи, декомпозировать, предлагать технические решения и компромиссы;
- Плотно взаимодействовать с frontend-разработчиками, тестировщиками и аналитиками;
- Участвовать в проектировании архитектуры сервисов и схем БД (PostgreSQL);
- Работать с асинхронными интеграциями и очередями: Kafka, ретраи, идемпотентность, DLQ, outbox-подход для надежной доставки событий (по архитектуре платформы);
- Писать unit-тесты, поддерживать качество кода (code review, линтеры, типизация по договоренности);
- Описывать изменения: краткая техдокументация, контракты, ADR/README по модулям.
Наш стек
- Python 3.13, FastAPI;
- SQLAlchemy + миграции (Alembic);
- PostgreSQL;
- Kafka (event streaming, consumer groups);
- Redis (кеш/лимитирование/вспомогательные данные);
- OpenSearch (поиск/логи/аналитика по необходимости продукта);
- Observability: OpenTelemetry + метрики/дашборды (Prometheus/Grafana);
- Контейнеризация и деплой: Docker, Kubernetes;
- Безопасность секретов/шифрование: KMS.
Ожидания от кандидата
- Уверенный Python: ООП, паттерны, аккуратная архитектура модулей;
- Коммерческий опыт backend-разработки от 2 лет (или сильный 1+, если реально закрывает знания на мидла);
- Практический опыт с FastAPI;
- Практический опыт с SQLAlchemy и хорошее знание SQL;
- Понимание транзакций, индексов, конкурентного доступа к данным, базовой оптимизации запросов;
- Умение писать unit-тесты (pytest или аналог), поддерживать читаемость и стабильность кода;
- Опишите вашего идеального кандидата: его или ее знания, хард- и софт-скиллы, образование, опыт работы, другие важные для вас моменты.
Будет плюсом
- Архитектура микросервисов;
- Практическое понимание микросервисной архитектуры: границы сервисов вокруг бизнес-возможностей, автономность сервисов и независимый деплой как ключевой критерий;
- Понимание trade-off’ов распределенных систем: eventual consistency, координация бизнес-процессов между сервисами (Saga, компенсации);
- Опыт/понимание надежной событийной интеграции: Kafka + идемпотентность/ретраи и паттерн Transactional Outbox для устранения “dual write” проблемы;
- Подходы к безопасной эволюции контрактов: версионирование API и consumer-driven contract testing (например, Pact);
- Опыт с Kafka в проде: обработка событий, семантика at-least-once, идемпотентность, outbox;
- OpenSearch/Elastic-подобные системы;
- Практика внедрения observability (traces/metrics/logs) через OpenTelemetry;
- Опыт с Kubernetes/Helm, CI/CD.
Условия работы
- Формат: Гибридный (2-3 дня в неделю в офисе в центре Москвы). Обсуждаемо;
- Тип сотрудничества: ГПХ с возможностью перехода в штат. Рассматриваем кандидатов, готовых к такому формату;
- Работа над интересным проектом без Legacy и технического долга;
- Современный стек, работа в команде профессионалов.