Задание: Системный программист. Java Backend Developer (Low-Code / No-Code Platform) (Дистанционная работа)
О проекте
Мы разрабатываем Low-Code / No-Code платформу, ориентированную на визуальное программирование бизнес-логики. Ключевой модуль платформы — визуальный Drag-n-Drop редактор Flowchart, позволяющий пользователям собирать сценарии, процессы и интеграции в виде графа (узлы, связи, условия, события).
Backend отвечает за:
интерпретацию и исполнение flowchart-сценариев;
хранение, валидацию и версионирование графов;
масштабируемое и отказоустойчивое выполнение пользовательской логики.
Задачи:
1. Разработка backend-части модуля визуального программирования (Flowchart);
2. Проектирование и реализация:
моделей графов (nodes, edges, states, transitions);
движка выполнения сценариев (workflow / state machine);
разработка API для взаимодействия с frontend-редактором.
3. Реализация механизмов:
валидации пользовательских сценариев;
обработки ошибок и откатов;
логирования и мониторинга исполнения flow.
4. Работа с асинхронными процессами и очередями;
5. Участие в архитектурных решениях платформы;
6. Оптимизация производительности и масштабируемости.
Технологический стек и требования:
Java 11+ (желательно 17);
Spring Boot (Web, Data, Security);
REST API;
работа с SQL БД (PostgreSQL / MySQL);
понимание принципов проектирования backend-систем;
опыт работы с графовыми структурами или workflow-системами;
асинхронная обработка (Kafka / RabbitMQ / ActiveMQ);
опыт с BPM / workflow engines (Camunda, Zeebe, Temporal, Airflow и т.п.);
опыт работы с Docker, Kubernetes;
опыт проектирования высоконагруженных систем;
понимание принципов Low-Code / No-Code платформ.
Будет плюсом:
Опыт работы с state machines, event-driven архитектурой;
Понимание, как исполнять пользовательскую логику безопасно (sandboxing, ограничения);
Опыт работы с JSON/YAML DSL или собственными языками описания процессов;
Интерес к продуктам, где backend — это не CRUD, а логика и алгоритмы.
Умение проектировать сложную бизнес-логику;
Архитектурное мышление;
Понимание trade-off’ов между гибкостью и сложностью;
Готовность работать с неопределённостью и развивающимся продуктом.
Мы предлагаем:
Участие в разработке сложного и нетривиального продукта;
Формат работы (Договор ГПХ);
Работа по постоплате.