Senior Java/Kotlin Software Engineer
Job description
About the role
You will architect and implement the backend services that power Zopa Bank's customer-facing products, owning the full lifecycle from initial design through to production deployment and continuous improvement. You will collaborate closely with product managers, designers, and fellow engineers to translate complex business requirements into robust, scalable technical solutions. Your daily work will involve making critical technical decisions that directly impact the reliability and performance of our banking platform. You will champion best practices in code quality, testing, and documentation to ensure the systems you build are maintainable and understandable by the entire team. You will actively participate in shaping the engineering culture by mentoring junior developers and sharing your expertise during technical discussions. This role requires you to balance innovation with the strict regulatory demands of the financial services industry. You will be responsible for diagnosing and resolving intricate production issues, ensuring that our services remain available and performant for our customers around the clock. By joining Zopa, you will have the opportunity to build the foundational systems of a digital bank that is redefining the customer experience in finance.
Key facts
What you'll do
Investigate and resolve complex production incidents to minimize service disruption and maintain the highest levels of system reliability.
Design and develop new features using Java and Kotlin, ensuring your implementations align with our microservices architecture and domain-driven design principles.
Collaborate with cross-functional teams to define technical specifications and translate business objectives into technical tasks.
Optimize application performance and scalability to handle increasing volumes of financial transactions with minimal latency.
Write clean, well-tested code that adheres to our engineering standards and facilitates long-term maintainability.
Perform detailed code reviews to share knowledge and uphold the quality bar across the engineering organization.
Work with databases and data storage technologies to ensure data integrity, security, and efficient access patterns.
Participate in the entire software development lifecycle, from initial planning and estimation through to deployment and post-launch monitoring.
Contribute to the definition and improvement of engineering processes, tools, and best practices.
Act as an active participant in agile ceremonies, providing accurate estimates and constructive feedback during sprint planning and retrospectives.
Take ownership of specific service domains, becoming the subject matter expert for your assigned services.
Document technical designs and system behaviors to ensure clarity and knowledge retention for the team.
Engage in continuous learning to keep up with emerging technologies and industry trends relevant to our tech stack.
Support the deployment pipeline and infrastructure needs to enable efficient and safe software releases.
Requirements
You must have a degree in Computer Science, Software Engineering, or a related technical field.
You must possess significant professional experience as a software engineer, demonstrating a proven track record of delivering production-grade software.
You must be highly proficient in Java, showing a deep understanding of the language, its ecosystem, and associated design patterns.
You must have substantial hands-on experience with Kotlin, including its object-oriented and functional programming features.
You must have a strong grasp of core computer science fundamentals, including data structures, algorithms, and complexity analysis.
You must be experienced with building and consuming RESTful APIs in a distributed system environment.
You must understand software design principles and be able to apply concepts such as SOLID and DRY to your code.
You must be comfortable working in a fast-paced, agile environment where requirements can evolve quickly.
Practical notes
The role is based in our London office, and we expect you to work from this location consistently.
This is a permanent, full-time position requiring a standard working week.
We are committed to creating an inclusive environment and welcome applications from all eligible candidates.