Senior Java Developer
Project description
Our client is a comprehensive-stack digital banking solutions provider empowering banks and financial institutions to scale and modernise at speed. We're looking for a Senior Software Engineer to design, build, and maintain backend services and supporting operational UIs for core banking capabilities. This role owns complex engineering assignments within a defined service or component area and delivers outcomes with limited day-to-day guidance. You'll work closely with product, QA, and DevOps to ship secure, well-tested features in a regulated fintech environment, while mentoring junior and mid-level engineers as part of the team's day-to-day delivery.
Responsibilities
- Own the design, build, and delivery of backend services and RESTful APIs supporting core banking capabilities within your assigned component or service area.
- Develop secure, high-performance services and event-driven integrations to support financial operations, settlement updates, and notifications.
- Build and maintain operational and servicing UIs using React (and TypeScript where applicable) to support internal and customer-facing workflows.
- Integrate with messaging systems (e.g., JMS, Solace, ActiveMQ) to support reliable, ordered event processing.
- Own code quality, maintainability, and test coverage for major components in your scope, including active reduction of technical debt.
- Implement robust unit and integration tests for critical paths, using JUnit and Mockito, and maintain reliable automated test suites.
- Contribute to CI/CD pipelines and containerization (Docker) to support consistent, repeatable deployments.
- Monitor, troubleshoot, and optimize production systems to protect availability, performance, and reliability for owned services.
- Mentor junior and mid-level engineers through code reviews, pairing, and day-to-day technical guidance.
- Collaborate with product, QA, and DevOps to clarify requirements, communicate progress and risks, and support release readiness.
SKILLS
Must have
- 6–9 years of hands-on experience in backend development using Java and Spring Boot, building scalable, secure distributed systems.
- Working knowledge of core banking or financial domain concepts.
- Experience with event-driven architectures and messaging systems (e.g., JMS, Solace, ActiveMQ).
- Experience with TypeScript for building secure, maintainable operational UIs.
- Solid understanding of API design and security practices (OAuth2, JWT) in regulated environments.
- Familiarity with data consistency patterns (e.g., eventual consistency, at-least-once/exactly-once processing).
- Hands-on experience with JUnit, Mockito, and building reliable automated test suites.
- Practical experience with CI/CD pipelines and containerization (Docker).
- Ability to work through moderately varied, non-routine technical problems using sound judgment and proven patterns, with limited guidance.
- Clear communication skills, able to explain technical trade-offs to product, QA, and DevOps stakeholders.
Nice to have
• TypeScript preference for React UI development
Required Skills
Required Languages
🇬🇧 English