About the job Java Engineer
Senior Java Engineer — Spring Boot Reactive (BFF / Channel Layer)
About the Role
An exciting opportunity for a Senior Java Engineer to join a high-performing engineering team responsible for building Backend-for-Frontend (BFF) services within a modern digital platform.
This role focuses on developing reactive, non-blocking microservices that sit between customer-facing channels (web, mobile, third-party integrations) and downstream systems.
You will play a key role in delivering high-performance, resilient, and secure APIs that directly impact user experience at scale.
Key Responsibilities
BFF & API Layer
-
Design and build BFF services that aggregate and orchestrate downstream APIs
-
Tailor responses for different channels (web, mobile, conversational interfaces)
-
Define and evolve consumer-driven API contracts
Reactive Development
-
Build services using Spring Boot 3.x, WebFlux, and Project Reactor
-
Apply non-blocking, asynchronous programming models
-
Ensure optimal handling of backpressure and concurrency
Resilience & Performance
-
Implement resilience patterns using Resilience4j
-
Apply caching strategies (Redis, Caffeine)
-
Optimize for low latency and high throughput
Integration & Messaging
-
Integrate with distributed systems via REST and messaging platforms
-
Use Kafka or RabbitMQ for event-driven processing
Security
-
Implement OAuth2 / OpenID Connect and JWT-based security
-
Enforce API protection, validation, and rate limiting
Testing & Quality
-
Develop comprehensive test coverage:
-
Unit testing (JUnit, Mockito)
-
Integration testing (Testcontainers)
-
Reactive testing (StepVerifier)
-
Contract testing
-
Cloud & DevOps
-
Containerise applications using Docker
-
Deploy via Kubernetes and CI/CD pipelines
-
Contribute to automation and infrastructure practices
Observability
-
Implement logging, tracing, and monitoring
-
Use tools such as Micrometer, OpenTelemetry, Prometheus, Grafana
Collaboration & Leadership
-
Participate in architecture and design discussions
-
Conduct code reviews and enforce best practices
-
Mentor engineers and contribute to team growth
Required Skills & Experience
-
Strong experience in Java 17+
-
Deep expertise in Spring Boot and Spring WebFlux
-
Solid understanding of reactive programming paradigms
-
Experience with BFF / API composition patterns
-
Messaging systems (Kafka / RabbitMQ)
-
Containers and cloud platforms (Docker, Kubernetes)
-
CI/CD and modern DevOps practices
-
Redis, R2DBC, and/or NoSQL databases
Preferred Experience
-
6–10 years of software engineering experience
-
3+ years working with reactive systems
-
Experience in high-scale distributed environments
-
Exposure to regulated or security-sensitive domains
-
Familiarity with API gateway ecosystems
Key Traits
-
Strong engineering craftsmanship and attention to detail
-
Passion for reactive and scalable systems
-
Customer-focused mindset
-
Collaborative and team-oriented
-
Strong problem-solving ability in distributed systems
-
Ownership and accountability
-
Continuous learner with a growth mindset
Why Join
-
Build high-impact, large-scale systems
-
Work with modern, cloud-native technologies
-
Be part of a collaborative, high-performing team
-
Influence architecture and engineering practices
-
Grow both technically and professionally