> Markdown version of [/jobs/ext/347452-senior-java-engineer](https://www.wearedevelopers.com/jobs/ext/347452-senior-java-engineer). Every page supports `.md` or `Accept: text/markdown`. Links point to the HTML versions so they work for humans too. Agent guide: [/agents.md](https://www.wearedevelopers.com/agents.md). --- # Senior Java Engineer - **Company:** Epassi - **Location:** Haywards Heath, UK - **Experience:** Expert - **Contract:** Permanent contract - **Skills:** Java (Programming Language), Spring Security, Application Programming Interfaces (APIs), Artificial Intelligence, Code Coverage, Software Quality, Code Review, Continuous Integration, Data Stores, Software Design Documents, DevOps, Distributed Systems, Github, Java Persistence API, Junit, PostgreSQL, Query Optimization, RabbitMQ, Mockito, Prometheus, Swagger, Software Engineering, Management of Software Versions, Openapi, Datadog, Data Logging, Spring Cloud, Istio, Large Language Models, Grafana, Spring-boot, Technical Debt, Indexer, Backend, Event Driven Architecture, Gitlab-ci, Integration Tests, Deployment Automation, Apache Kafka, React Native, Front End Software Development, Api Gateway, Restful APIs, Amazon Simple Queue Service (SQS), Domain Driven Design, Dynatrace, Api Management, Docker, Jenkins, Microservices - **Published:** June 18, 2026 - **Apply:** https://uk.indeed.com/viewjob?jk=efe6776ef4868f82 ## About the Role 6+ years of professional software development, with 3+ years focused on Java backend - in production, at scale, with real failure modes you had to resolve. Deep expertise in Java 17+ and Spring Boot (Spring Data JPA, Spring Security, Spring Cloud). Microservices architecture: you've designed service boundaries, not just worked inside them. Domain-Driven Design: bounded contexts, aggregates, domain events, anti-corruption layers - you can apply this, not just describe it. PostgreSQL: schema design, indexing, query optimization, and transaction management under load. Event-driven architecture with Kafka, RabbitMQ, or AWS SNS/SQS - at scale, in production. RESTful API design: versioning, OpenAPI/Swagger documentation, rate limiting - contracts you'd stand behind in a design review. Testing discipline: JUnit, Mockito, integration and contract testing (Pact). Docker and Kubernetes: deployment strategies, service mesh - operational experience, not just familiarity. CI/CD pipelines: GitHub Actions, Jenkins, or GitLab CI. Observability: structured logging, distributed tracing.(Jaeger/Zipkin), metrics (Prometheus/Grafana/Datadog) Active experimentation with AI/LLM tooling applied to real engineering problems - automated workflows, reduced manual ops, smarter exception handling. Not a side project: something in production that you can talk about with specific. Mentoring: you've made other engineers meaningfully better, not just shipped more code. Your language profile: Fluent in English Your track record: You've delivered and operated microservices in production - from design through deployment, on-call, and post-mortem. You've made measurable improvements to performance, reliability, or scalability (reduced latency by X%, improved uptime to Y, scaled from Z to ZZ req/s). You've collaborated effectively in cross-functional teams and left documentation behind that others actually used. You've contributed to technical decision-making: architecture reviews, design documents, or ADRs that had real consequences. You've led knowledge-sharing sessions or mentored engineers who are better for it. Your competency profile: Systems Thinking: You understand how components interact in distributed systems. You design for failure scenarios, not just the happy path. Ownership & Accountability: You take end-to-end responsibility. When something is broken or missing, you raise it and fix it - you don't wait for the ticket. Pragmatic Problem-Solving: You balance ideal solutions with practical constraints. You know when to move the architecture forward and when to ship. Collaboration & Influence: You shape technical decisions through quality of argument, not seniority. You can disagree and commit - and you know when to do which. AI-Readiness: You think about AI strategically, not just tactically. You've embedded AI-driven automation into production systems, can evaluate where it adds real leverage versus where it creates noise, and actively help the team develop this fluency. Continuous Learning: You stay current, experiment, and adapt. You optimize for the codebase 2 years from now, not just the sprint. Quality Mindset: You build maintainable, secure, well-tested services. You document, you mentor, you leave things better than you found them. ## Description Design, build, and maintain high-quality Java Spring Boot microservices within our domain bounded context architecture. Implement event-driven patterns for cross-domain communication and eventual consistency - you understand why, not just how. Work with PostgreSQL as primary data store: schema design, multi-tenancy, data isolation, query optimization under real load. Implement RESTful APIs with proper versioning, rate limiting, and API gateway integration. Ensure high standards for code quality, testing (unit, integration, contract), performance, and security - >80% coverage is the floor, not the ceiling. Collaborate closely with Product, Frontend (React Native), DevOps, and backend teams across multiple European markets. Participate in architectural discussions and design reviews; contribute to platform-wide standards and decision records (ADRs). You'll be successful in this role if you: Deliver production-ready, scalable microservices that meet target architecture specs - and own them after go-live. Define clear domain boundaries that prevent cross-domain coupling while enabling integration through well-designed APIs and events. Maintain >80% test coverage and contribute ADRs that shape platform decisions - not just for your services, but for the team. Proactively identify and reduce technical debt before it becomes someone else's emergency. Communicate clearly, work effectively across teams and time zones, and make cross-functional collaborators want to pull you into early conversations. Operate with a 'you build it, you run it' mindset - and genuinely believe that's the right way to work. What you'll be doing (daily): 15-minute stand-up with your cross-functional domain team -align, unblock, move. Design and implement features in your domain using Java Spring Boot, with clean, testable code as the default. Write comprehensive unit and integration tests; participate in code reviews that raise the team's standard. Monitor service health, investigate data consistency issues, and resolve production problems with distributed tracing and structured logging. Collaborate with frontend engineers to clarify API contracts and coordinate releases. Participate in architectural discussions and design reviews for new or cross-cutting capabilities. Deploy to staging and production via CI/CD (GitHub Actions), using feature flags for controlled rollouts. ## Related Videos - [AI Won't Fix Your Engineering Culture](https://www.wearedevelopers.com/videos/100266-ai-won-t-fix-your-engineering-culture) - [How Unit Testing Saved My Career](https://www.wearedevelopers.com/videos/1642-how-unit-testing-saved-my-career) - [Rate-limiting using eBPF and Istio: How to protect your SaaS customers from themselves](https://www.wearedevelopers.com/videos/100220-rate-limiting-using-ebpf-and-istio-how-to-protect-your-saas-customers-from-themselves) - [Docker Compose: Rediscovered](https://www.wearedevelopers.com/videos/1978-docker-compose-rediscovered) - [Craftsmanship in the Age of Agents](https://www.wearedevelopers.com/videos/100106-craftsmanship-in-the-age-of-agents) - [From boy scouting to redrawing the landscape](https://www.wearedevelopers.com/videos/1140-from-boy-scouting-to-redrawing-the-landscape) ## Related Articles - [Top Characteristics of a Software Engineer](https://www.wearedevelopers.com/magazine/166-top-characteristics-of-a-software-engineer) - [How to Answer the Interview Question: “Why Do You Want to Be a Software Engineer?”](https://www.wearedevelopers.com/magazine/392-how-to-answer-the-interview-question-why-do-you-want-to-be-a-software-engineer) - [Navigating the AI Shift](https://www.wearedevelopers.com/magazine/629-navigating-the-ai-shift) - [Résumé-Driven Development: How IT trends affect the job market for software developers](https://www.wearedevelopers.com/magazine/59-resume-driven-development-how-it-trends-affect-the-job-market-for-software-developers) - [Why Upskilling And Reskilling is Important For Developers](https://www.wearedevelopers.com/magazine/428-why-upskilling-and-reskilling-is-important-for-developers) - [What is Software Engineering in the Age of AI?](https://www.wearedevelopers.com/magazine/640-what-is-software-engineering-in-the-age-of-ai)