Senior Java Engineer

Senior Java Engineer

Full-Time 60000 - 80000 £ / year (est.) Home office (partial)
Epassi

At a Glance

  • Tasks: Design and build scalable Java microservices that make a real impact on employee wellbeing.
  • Company: Join Epassi, one of Europe's fastest-growing companies focused on employee benefits.
  • Benefits: Competitive salary, inclusive culture, and opportunities for personal and professional growth.
  • Other info: Collaborative environment with a focus on innovation and continuous learning.
  • Why this job: Be part of a mission-driven team that enhances the wellbeing of millions across Europe.
  • Qualifications: 6+ years in software development with strong Java and Spring Boot expertise.

The predicted salary is between 60000 - 80000 £ per year.

Are you an engineer who has shipped distributed backend systems at scale, knows what breaks in production, and fixes it before it does? Do you want your work to have a direct impact on the wellbeing of millions of people across Europe? If yes - read on.

Epassi is one of Europe's fastest-growing companies. We're a leading provider of employee benefit solutions, operating across Finland, Germany, Italy, UK, France, the Nordics and beyond. We started in Helsinki in 2007, launched Europe's first mobile employee benefit payment in 2008, and haven't stopped building since.

This is not a ticket-execution role. It's an ownership role.

Your mission at Epassi:

You will join a cross-functional product team building and evolving a modern, distributed platform that powers Epassi's product vision across European markets. We are adding this role to strengthen our backend engineering capabilities and establish a solid, scalable foundation for Java Spring Boot services built for long-term growth - not just the next sprint. You will own a backend domain end-to-end: from architecture decisions to production stability. You'll contribute to critical technical choices, shape how we build and operate our service landscape, and raise the engineering bar for the people around you.

Your responsibilities will be:

  • 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.

What you should bring:

Non-negotiable:

  • 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.
  • 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.

Why You Should Join Us:

  • Be part of an ambitious growth journey - join a global community of driven, bold, entrepreneurial, yet humble Epassians in a company that is constantly evolving.
  • Work with a clear purpose - boosting everyday wellbeing - and create meaningful, positive impact on individuals and society.
  • Thrive in an open, inclusive culture with low hierarchy, where relationships are built on respect, camaraderie, and shared success.
  • Come as you are - we'll bring out the best in you and support your personal and professional growth.
  • Join a fast-growing tech company with a strong financial foundation, offering real opportunities to make an impact.
  • Work in an environment where employee wellbeing is a genuine priority, not a slide in a deck.
  • Help shape the next wave of success as we consolidate our position as Europe's number one employee benefit platform.

Senior Java Engineer employer: Epassi

Epassi is an exceptional employer that prioritises employee wellbeing and fosters a culture of collaboration and respect. As a Senior Java Engineer, you will be part of a dynamic team dedicated to building impactful solutions across Europe, with ample opportunities for personal and professional growth in a fast-paced, innovative environment. Join us to make a meaningful difference while enjoying the benefits of working in a supportive and inclusive workplace.

Epassi

Contact Details:

Epassi Recruitment Team

StudySmarter Expert Advice🤫

We think this is how you could land Senior Java Engineer

Join Local Tech Meetups

Get out there and mingle with fellow developers by joining local tech meetups. It’s a fantastic way to meet people who might be working at Epassi or know someone who does. Plus, you can pick up some trendy tech skills and trends while you're at it!

Contribute to Open Source Projects

Show off your coding chops by jumping into open-source projects. Not only does this give you practical experience, but it also gets you noticed in the dev community. You'll create a killer portfolio that speaks volumes about your skills to Epassi.

Tap into Online Developer Communities

Don’t underestimate the power of online developer communities like GitHub, Stack Overflow, and even Reddit. Participate in discussions, share your projects, and build your visibility. We can often find opportunities through these channels that can lead to a full-time gig at companies like Epassi.

Explore Job Boards Specifically for Tech Roles

Keep your eyes peeled on job boards that focus on tech roles. Sites like TechCareers or Stack Overflow Jobs can often have listings for companies like Epassi that might not show up on broader job sites. Make it a habit to check these regularly, and don’t hesitate to apply directly through our website!

We think you need these skills to ace Senior Java Engineer

Java 17+
Spring Boot
Microservices Architecture
Domain-Driven Design
PostgreSQL
Event-Driven Architecture
RESTful API Design

Some tips for your application 🫡

Show off your coding skills:When applying for a software engineering role, it's super important to showcase your coding skills. Make sure your CV includes your tech stack, any relevant programming languages you’re comfortable with, and examples of projects you've worked on. If you have a GitHub profile, link it up! We love to see code in action.

Tailor your portfolio:For a full-time role, we’d expect to see some solid examples of your work in your portfolio. Make sure to include at least two or three projects that highlight your problem-solving skills and your ability to work with different technologies. Focus on the projects that are most relevant to the position at Epassi.

Craft a killer cover letter:Your cover letter is your chance to stand out—make it personal! Explain why you want to work at Epassi and how your skills align with the role. Show us your passion for software development. We dig enthusiastic candidates who understand the value of collaboration and continuous learning!

Be clear and concise:When it comes to writing your CV and cover letter, clarity is key. Avoid jargon that could confuse us and stick to simple, direct language. Highlight your achievements with quantifiable results where possible, and keep everything easy to read. A well-organised application goes a long way!

How to prepare for a job interview at Epassi

Brush Up on Your Coding Skills

For a full-time software engineering role, it's crucial that we stay sharp with our coding abilities. Expect technical questions that might involve solving problems on the spot or discussing algorithms. Practise on platforms like LeetCode or HackerRank to get comfortable with the types of questions that often come up.

Know Your Tools and Frameworks

Make sure we’re well-acquainted with the tools and technologies listed in the job description. Familiarise ourselves with any specific frameworks or programming languages mentioned. If Epassi uses React or Node.js, for instance, be ready to discuss how we’ve used them in previous projects or coursework.

Showcase Your Projects

Bring along a portfolio that highlights our best work. This could be code samples, GitHub repositories, or any side projects we’ve built. Make sure we can talk through our thought process for each project, especially the challenges we faced and how we solved them—this shows our problem-solving skills in action.

Prepare for Behavioural Questions

While technical skills are key, full-time positions also require cultural fit. Be ready to discuss our previous experiences and how we handle teamwork, conflict, and deadlines. Brush up on the STAR method—Situation, Task, Action, Result—to clearly articulate our past experiences when discussing how we've contributed to a team.