Senior/Lead Software Engineer (Java/Kafka)
Technology – Software Engineering
Hello there. We’re Zopa the Feel Good Money company.
In 2005 we built the first ever peer-to-peer lending company to give people access to simpler, better-value loans and investments. Since then we’ve helped hundreds of thousands of customers take the stress out of money by building our business on honesty, transparency and trust.
It works so well that we want to give our customers access to other great products and tools, empowering them to better manage their money. That’s why, in December 2018, we launched a different type of bank, allowing us to bring a greater range of smart finance products to even more people.
Zopa’s mission is to create a richer life for everyone by making money fair and simple. We do this by building great financial products, like our award-winning personal loans and our hugely popular investment products. These products are underpinned by a business model which means that we win when the customer wins – unlike many other financial products which rely on customers making mistakes or being misinformed to make money.
In 2018 we are going a step further, by building the next generation bank with cutting edge technologies and are looking for talented mid and senior level Java Software Engineers to work on a major rebuild of our technical stack. You can choose to be based either in our riverside London Bridge office or sunny Barcelona!
You will be working in a small, agile and adaptable cross-functional team, built on the Tribes and Squads model, and utilising Kafka and Kafka Streams to build a resilient, scalable backbone that powers the growth of the company. You can expect to interact with stakeholders and key business users daily. As a senior developer you can expect to really get involved with the architectural and design conversations , as well as helping to mentor more junior members of the team. All of our Java infrastructure is deployed with Docker/Kubernetes when we need to via CI (Jenkins) and a completely automated test suite.
Here is some of the Tech Stack you will be working with: Java 8, Kotlin, Groovy, Kafka, React, React-Native, Kubernetes, Docker, Jenkins, RabbitMQ, Redis, Babel just to name a few.
- You love shipping great products, not just writing superb code.
- You're a developer who loves to remain hands-on. You're not afraid to get your hands dirty and really be involved in our code base.
- As a senior engineer, you enjoy helping and mentor more junior members of the team around you. Pair programming and peer reviewing is hugely important for us.
- As an engineer, you’re interested in the problem, not just the requirements.
- You feel comfortable in a fast-moving environment and are ambitious about the speed and quality of your code. We ship our code multiple times a week with the impact measured in the result for the customer, not lines of code.
- An advocate of test driven development or, even better, behaviour-driven development. A strong commitment to quality is essential.
- You've worked on large scale distributed software systems that have proven scalability and complex topologies.
- Enjoy talking to key stakeholders and understand and show passion for the business objectives of the company.
- You like to build new products from scratch; many of our products are the first of its kind in the market.
- Be truly involved in the architectural and design taks
- You are a team player who thrives working in an honest and friendly working atmosphere. We have a flat hierarchy and give you the opportunity to make a real impact.
- Experience with Kafka and/or a streams-based platform (Samza, Storm) is a plus!
Projects you could be working on:
- Building Open Banking products from scratch. This ranges from verifying the income and identity of a customer in a few seconds over assessing credit risk in a new and fairer way to providing savings and lending insights to customers in our app. This is a nascent technology where you have the freedom to create products from scratch, use cutting edge technology and shake up an old industry.
- Personal Finance Management feature or system. This might be a new way of verifying income, a budgeting service, or a new API to drive insights for customers. Whatever it is, you will be heavily involved from understanding the space and opportunity all the way to developing the release-ready code and seeing it through to launch and maintenance.
- Building a new Credit Card billing and statement generation engine, a card specific origination pipeline or integrating with third party processing and fraud prevention partners to enable a card that can work seamlessly and securely. Whatever it is, you will be heavily involved from understanding the space and opportunity all the way to developing the release-ready code and seeing it through to launch and maintenance.
- New micro-services: re-writing specific parts of our previous infrastructure into the new micro-services communicating through Kafka.
- Building our own internal services to coordinate how our consumer products (like loans or savings accounts) can manage sending and receiving money. It covers a range of payment channels – Faster Payments, Direct Debits, debit cards to name a few. This comes with plenty of technical challenges to make sure our services are easy to use, flexible enough to work for any product, but allow for operational scale: growth in volumes, growth in the range of products, employing a distributed architecture, and increasing the variety of payment channels with which we want to integrate.