Ищут ведущего backend-разработчика, который станет техническим владельцем микросервисной системы для инженерного проектирования и расчёта промышленного оборудования. Продукт работает в production у нескольких заказчиков, в том числе в закрытом контуре.
О проекте: web-система для подбора оборудования, автоматической компоновки, расчёта себестоимости и генерации конструкторской и экономической документации (Excel/Word). Около 20 микросервисов на Spring Boot, около 100 тыс. строк кода, PostgreSQL для каждого сервиса, взаимодействие через Kafka и Feign. Есть собственный GitLab с CI/CD, production- и тестовые стенды.
Обязанности:
- Принять систему у предыдущей команды: репозиторий, пайплайны, окружения и процесс релизов.
- Развивать функциональность по задачам заказчиков и выпускать версии на стенды.
- Встроить тесты в CI и покрыть расчётную логику.
- Унифицировать версии зависимостей и вынести общий код в starter.
- Усилить асинхронное взаимодействие: идемпотентность, retry, DLQ и outbox.
- Добавить наблюдаемость и отказоустойчивость.
- Подготовить миграцию на Spring Boot 3.
Требования:
- Java 17: Stream API, Optional, records.
- От 2 лет со Spring Boot 2.7 и Spring Cloud (Eureka, Config Server, Gateway, OpenFeign).
- Spring Data JDBC и JPA/Hibernate, понимание различий подходов.
- PostgreSQL: сложный SQL, индексы, EXPLAIN, jsonb, Flyway.
- Kafka на spring-kafka, понимание семантики доставки.
- Spring Security: JWT, реактивный стек (WebFlux).
- Gradle (multi-project/composite build, BOM), базовый Maven.
- GitLab CI, Docker/Docker Compose, Linux, SSH.
- JUnit 5, Mockito, Testcontainers.
- Apache POI или аналоги для генерации Excel/Word.
Будет плюсом: миграция Spring Boot 2 → 3; Prometheus/Grafana, OpenTelemetry, ELK; S3-совместимые хранилища; LDAP/Active Directory; работа с PDF, SVG и движками формул; опыт в инженерном, промышленном или ERP-домене.
Условия: удалённая работа, гибрид или офис на выбор; продукт с реальными промышленными пользователями; свобода инженерных решений в рамках архитектуры; внутренняя документация для быстрого входа; официальное оформление и фиксированный оклад. Отбор состоит из технического интервью и финальной беседы о подходе к приёмке системы.