Middle Kotlin (9am to 5:30pm UK time)
Client
Our client, a UK-based digital bank, delivers innovative and accessible financial solutions for today's consumers. Known for its user-friendly platform and customer-centered approach, it helps people manage finances with ease and transparency. Recent expansions into flexible payment options and new services strengthen its role as a leader in the UK's digital banking sector.
Position overview
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.
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.
Middle Kotlin (9am to 5:30pm UK time)
Middle Kotlin (9am to 5:30pm UK time)