Position Overview
We are seeking an experienced Senior Backend Java Developer with a specialized focus on microservices architecture, distributed systems, and backend engineering. In this role, you will design, build, and scale microservices-based RESTful APIs and enterprise backend components. You will focus on service communication, asynchronous messaging, optimizing database interactions, and driving sound microservice design principles across the stack.
Responsibilities
- Design, build, and maintain scalable microservices and distributed backend services using Java and the Spring / Spring Boot ecosystem.
- Implement clean microservice architectural patterns, domain-driven design, and reusable software modules.
- Author standard OpenAPI/Swagger documentation for REST endpoints and inter-service contracts.
- Leverage Java concurrency utilities and asynchronous messaging to ensure efficient application performance.
- Diagnose, debug, and resolve memory leaks, thread contention, and garbage collection bottlenecks in containerized environments.
- Design and optimize relational and NoSQL database schemas tailored for decoupled microservices.
- Manage data persistence and transactional boundaries across distributed services using Spring Data JPA.
- Write tuned SQL queries, establish effective database indexing, and configure caching strategies (e.g., Redis).
- Implement robust microservice resiliency patterns including Circuit Breakers, Rate Limiting, and Retry policies.
- Implement standard API and service security mechanisms (OAuth2, JWT authentication, authorization, and data sanitization).
- Build structured logging, health checks, and application metrics using standard logging frameworks.
- Write clean, maintainable, modular, and unit-tested microservice code using JUnit and Mockito.
- Participate in code reviews, technical architecture reviews, and maintain test coverage across application modules.
Requirements
- 5+ years of hands-on software development experience using Java with deep knowledge of Collections, Streams API, Multithreading/Concurrency, and Exception Handling.
- Strong expertise in Spring Boot, Spring Core, Spring MVC, and dependency injection paradigms.
- Deep understanding of microservices architecture, distributed systems design principles, and RESTful architectural styles.
- Advanced proficiency in Spring Data JPA, raw SQL query tuning, and database migration tooling.
- Practical, hands-on experience with message brokers and event streaming architectures.
- Solid grasp of Design Patterns, TDD/unit testing principles (JUnit, Mockito), containerization basics, and CI/CD deployment pipelines.
Preferred Qualifications
- Experience with service mesh technologies and cloud-native observability tools.
- Familiarity with major cloud platforms and managed container orchestration services.
- Experience with caching layers, distributed synchronization, and event-driven patterns.