REMOTE RUSSIA | ENERGOproekt
We are looking for a Lead Backend Developer to become the technical owner of a microservice system for engineering design and calculation of industrial equipment. The product is in production with several clients, some of which are in a closed environment.
About the project:
- Web system: equipment selection by characteristics, automatic assembly, cost calculation, generation of design and economic documentation (Excel/Word)
- ~20 microservices on Spring Boot, ~100k lines of code, PostgreSQL for each service, communication via Kafka and Feign
- Own GitLab with configured CI/CD, several production and test environments
Responsibilities:
- Take over the system from the previous team: repository, pipelines, environments, release process
- Develop functionality based on customer requests, release versions to environments
- Integrate tests into CI (Testcontainers, WireMock, EmbeddedKafka), cover calculation logic
- Unify dependency versions, extract common code into a starter
- Strengthen asynchronous interaction: idempotency, retry, DLQ, outbox
- Add observability and fault tolerance: Actuator, Micrometer, Resilience4j
- Prepare migration to Spring Boot 3
Requirements:
- Java 17: Stream API, Optional, records
- Spring Boot 2.7, Spring Cloud (Eureka, Config Server, Gateway, OpenFeign) — 2+ years
- Spring Data JDBC and JPA/Hibernate — understanding the difference in approaches
- PostgreSQL: complex SQL, indexes, EXPLAIN, jsonb, Flyway
- Kafka on spring-kafka, delivery semantics
- Spring Security: JWT, reactive stack (WebFlux)
- Gradle (multi-project / composite build, BOM), basic Maven
- GitLab CI, Docker / Docker Compose, Linux, SSH
- JUnit 5, Mockito, Testcontainers
- Apache POI or similar for generating Excel/Word
Will be a plus:
- Experience migrating Spring Boot 2 → 3
- Prometheus/Grafana, OpenTelemetry, ELK
- S3-compatible storage
- LDAP / Active Directory
- Working with PDF, SVG, formula engines
- Experience in engineering, industrial, or ERP domain (we will train on the subject)
Conditions:
- Remote, hybrid, or office — your choice
- Product with real industrial users
- Freedom of engineering decisions within the architecture
- Internal documentation for quick onboarding: code guide, testing strategy
- Official employment, fixed salary
Selection stages:
-
- Technical interview
-
- Final interview about the approach to system acceptance