Summary
✨ AI‑Generated
Looking for a senior Java engineer to design and maintain large-scale backend systems. The role requires deep JVM knowledge, strong Spring expertise, database experience, and the ability to make architectural decisions.
Highlights
Work on complex enterprise systems with strong ownership over architecture, performance optimization, and technical decisions.
Description
Requirements
Higher technical education; Work experience: 5+ years of commercial experience in Java development; Experience in supporting and developing large monolithic production systems; Willingness to take responsibility for architectural and technical decisions within the monolith; Java 17+ — deep understanding of JVM, memory, GC, threads, profiling; Excellent knowledge of Java Core, collections, multithreading, streams; Experience in performance optimization and troubleshooting in long-running applications; Deep knowledge of relational databases; Understanding of HTTP, CORS, WebSockets.
Responsibilities
Spring Boot / Spring Framework — designing and developing monolithic applications; Spring Security — complex authentication and authorization schemes (OAuth2, JWT, SSO); Spring MVC — controllers, filters, interceptors, error handling; Spring Data JPA / Hibernate — deep understanding of ORM, entity lifecycle, N+1, batching, 2nd-level cache; Designing a modular monolith (package-by-feature, bounded contexts); Understanding and applying SOLID, DRY, KISS, design patterns; Separation of layers: controller / service / domain / persistence; Designing schemas, indexes, complex transactions; Optimization of heavy queries and batch operations; Redis — data caching, sessions, synchronization within a monolith; Development and support of REST API for external and internal systems; Working with synchronous integrations and asynchronous tasks within the application; Managing the database schema using Liquibase; Backward compatibility of changes; Supporting API versioning; Monolith testing architecture: unit / integration / e2e; Support for high coverage and stability of regression tests; DevOps Maven, Gitlab, basic understanding of CI/CD; Mentoring developers; Conducting code reviews; Working with technical debt; Ability to plan refactoring and explain its business value.