Ищут ведущего 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-домене.

Условия: удалённая работа, гибрид или офис на выбор; продукт с реальными промышленными пользователями; свобода инженерных решений в рамках архитектуры; внутренняя документация для быстрого входа; официальное оформление и фиксированный оклад. Отбор состоит из технического интервью и финальной беседы о подходе к приёмке системы.