Senior Backend Java Developer (Microservices)
A senior backend engineer in Singapore designs, builds, and scales Java/Spring Boot microservices and RESTful APIs, focusing on distributed systems, asynchronous messaging, database tuning (SQL/NoSQL, Redis caching), resiliency patterns (circuit breakers, retries), and security (OAuth2/JWT), with unit-tested, CI/CD-delivered code.
- Compensation
- Not disclosed
- Location
- Singapore
- Work setup
- Not specified
- Seniority
- Senior
- Employment
- Not specified
- Experience
- 5+ years
- Category
- Backend
- Posted
Skills
Must have
- 5+ years of hands-on software development experience using Java
- Deep knowledge of Java Collections, Streams API, Multithreading/Concurrency, and Exception Handling
- Strong expertise in Spring Boot, Spring Core, Spring MVC, and dependency injection
- Deep understanding of microservices architecture, distributed systems design, and RESTful architectural styles
- Advanced proficiency in Spring Data JPA, raw SQL query tuning, and database migration tooling
- Hands-on experience with message brokers and event streaming architectures
- Solid grasp of Design Patterns
- TDD/unit testing principles with JUnit and Mockito
- Containerization basics
- CI/CD deployment pipelines
Nice to have
- Experience with service mesh technologies
- Experience with cloud-native observability tools
- Familiarity with major cloud platforms and managed container orchestration services
- Experience with caching layers, distributed synchronization, and event-driven patterns
Full description
Position Overview
We are seeking an experienced Senior Backend Java Developer with a specialised 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, optimising database interactions, and driving sound microservice design principles across the stack.
What you'll do
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 containerised environments.
Design and optimise 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, authorisation, and data sanitisation).
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.
What you'll need
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.