About the Position
The client is building the bank of the future with cutting-edge technologies. Backend Java/Kotlin engineers work in small, agile, cross-functional teams that tackle real-world problems and interact closely with stakeholders and key business users. They design, develop, and maintain high-quality backend services using Kotlin.
This position includes a sign-in bonus.
The working schedule is aligned with the UK time zone (9 am to 5:30 pm UK time) and involves participating in on-call shifts if required.
Responsibilities
- Design, develop, and maintain high-quality backend services using Kotlin under established patterns.
- Work closely with cross-functional teams to define, design, and ship new features using coroutines and existing frameworks.
- Write meaningful unit and integration tests for your own features, within test boundaries and following existing testing patterns (JUnit, Kotest).
- Participate constructively in code reviews; provide feedback on assigned PRs.
- Participate in the full software development lifecycle, from concept and design to testing and deployment; support release and monitoring processes.
- Engage in continuous improvement practices and agile methodologies; contribute to decisions within the squad.
- Embrace effective agentic coding practices and actively leverage AI tools such as Claude Code and Copilot.
Requirements
- Confident in writing production Kotlin code and implementing features using coroutines within established frameworks.
- Experience working on commercial, established products used by real customers, and operating software in production.
- Knowledge of unit and integration testing with JUnit or Kotest.
- Backgrounds where quality, testing, and maintainability were prioritised alongside delivery, even under time or commercial pressure.
- Experience implementing features within an existing microservices architecture, understanding service boundaries and following established design principles.
- Ability to write performant SQL queries and understanding of indexing basics.
- Familiarity with Git branching strategies and participation in code review workflows.
- Basic experience with building and running services using existing Docker and Kubernetes configurations; a basic understanding of how deployments are structured.
- Openness to using AI coding tools (e.g. Claude Code, Copilot) to support delivery.
- Strong command of English in both oral and written communication; ability to participate in team discussions.
- Structured problem-solving skills; proactivity in resolving assigned tasks and raising risks and blockers early.
- Effective team player with experience working as part of a team of engineers, with shared ownership, regular feedback, and exposure to different perspectives.
- Ability to work independently on assigned tasks.
- Ability to participate in team discussions and contribute to decisions within the team.
Nice to Have
- Familiarity with Kafka.
- AWS Experience.
- Understanding event-driven patterns and async messaging (pub/sub, message queues); experience consuming or producing messages in at least one messaging platform.
- Openness to define and optimize test and deployment pipelines.
- time spent working across multiple teams, products, or problem spaces, helping to build adaptability
- evidence of evolving practices, responsibilities, or environments over time rather than working in one project
- experience in organisations where engineers were embedded in teams, accountable for outcomes, and closely aligned with product and delivery goals.