Senior Software Engineer II - Wise for Enterprise - Java
SKILLS
FULL DESCRIPTION
Job Description
About the role
We’re looking for a Senior Software Engineer II to join our [Employer hidden — view at passion-project.co.uk] for Banks team and help shape the technical direction of the systems powering [Employer hidden]’s global payment network. In this role, you’ll operate at the intersection of engineering, product, and partnerships by driving the architecture, scalability, and reliability of the infrastructure that enables banks to connect seamlessly to [Employer hidden].
With deep expertise in Java, Spring Boot, Kafka, and PostgreSQL, you’ll lead the design of highly available services and event-driven systems that power partner integrations and financial flows at scale. You’ll influence architecture across [Employer hidden]’s ecosystem of 700+ microservices, helping teams make sound technical decisions and ensuring systems remain maintainable, observable, and resilient as our platform grows.
Beyond hands-on technical contributions, you’ll act as a technical authority and multiplier for the organisation. You’ll mentor engineers, raise engineering standards, and guide teams toward best practices in microservices architecture, domain-driven design, and distributed systems. You’ll also play a key role in cross-team initiatives, representing [Employer hidden] Platform and helping align engineering efforts with company-wide goals.
At [Employer hidden], we value collaboration, curiosity, and shared ownership. In this role, you’ll develop deep expertise in correspondent banking and interbank payment networks, helping shape the systems that enable banks and businesses to move money globally with speed, transparency, and reliability. You’ll regularly contribute to technical discussions, architecture reviews, and strategic planning across teams.
Our Partner Cash Management team builds and maintains the infrastructure that enables banks to fund, hold, and manage liquidity within interbank payment networks. Our platform helps partners optimise liquidity, support seamless payments, and manage foreign exchange (FX) exposure at scale. As a Software Product Engineer, you’ll play a critical role in evolving this platform to support the next generation of global financial partnerships.
We’re looking for someone who:
- Has extensive hands-on experience with Java and Spring Boot in production environments
- Has strong experience designing and operating large-scale distributed systems and microservices architectures
- Is comfortable designing event-driven systems using Kafka or similar technologies
- Has strong experience modelling and building systems with PostgreSQL or other relational databases
- Applies domain-driven design principles to build scalable and maintainable systems
- Has a track record of architecting and delivering complex, high-scale systems
- Demonstrates strong technical leadership and cross-team influence
- Communicates effectively with both technical and non-technical stakeholders
What will you be doing?
- Lead the design and development of highly scalable and resilient services in Java and Spring Boot within [Employer hidden]’s microservices architecture, helping evolve the systems that power our global payments network.
- Apply domain-driven design to model complex financial domains and build robust, scalable solutions that support [Employer hidden]’s growing partner ecosystem.
- Drive the development and adoption of event-driven architectures using Kafka or similar messaging systems, ensuring systems are reliable, observable, and able to scale with increasing transaction volumes.
- Architect and optimise relational database systems (e.g. PostgreSQL), ensuring strong data modelling, performance, and reliability across critical financial workflows.
- Collaborate with cross-functional teams including Product, Implementation, Solutions Engineering, and Business Development to support partner integrations and expand the [Employer hidden] payment platform globally.
- Provide technical leadership across teams, influencing architecture decisions, contributing to platform-level improvements, and ensuring engineering standards remain high across services.
- Participate in code reviews, architecture discussions, and technical planning, championing best practices in distributed systems, reliability, and maintainability.
- Mentor and support engineers, helping grow technical capability across the team while fostering a culture of learning, ownership, and collaboration.
Qualifications
What do you need?
We are fully aware that it is uncommon for a candidate to have all the skills required and we fully support everyone in learning new skills with us. So if you have some of those listed below and are eager to learn more we do want to hear from you!
- Extensive experience building backend systems using Java and Spring Boot, or similar languages and frameworks, in production environments.
- Strong experience designing and operating large-scale microservices architectures and distributed systems.
- Proven experience building or operating event-driven systems using Kafka or similar messaging platforms.
- Strong knowledge of relational databases such as PostgreSQL, including schema design, query optimisation, and maintaining data integrity in high-scale systems.
- Experience applying domain-driven design (DDD) to model complex business domains and design scalable systems is a plus.
- A strong product mindset and passion for user experience — you prioritise work with the customer in mind and make data-driven decisions to solve real problems.
- Excellent problem-solving skills, with the ability to operate independently while collaborating effectively across teams.
- Strong communication and leadership skills, with the ability to clearly convey technical concepts to both technical and non-technical audiences.
- Experience mentoring engineers and contributing to raising technical standards across teams.
…but don’t worry — we don’t expect you to know everything!