Interview: Chris Evans, platform team lead at Monzo

The app-based bank has tripled in size in 12 months - how have the technology teams coped?

When we last interviewed Chris Evans, platform team lead at Monzo, a year ago, he spoke of the app-only challenger bank's adoption of cutting edge technologies. At that time Monzo had 300 employees, 400,000 customers and on the technology side was running around 500 microservices in containers, orchestrated by Kubernetes, running on AWS and with service-to-service communications handled by Linkerd service mesh.

See also: How Monzo leveraged AWS and Kubernetes to build an agile retail bank

A year later and the bank employs 1,000 people. While it has still to make a profit, the number of customers has grown five-fold to 2.1 million, thanks in part to a TV advertising campaign, with between £100 million and £200 million flowing through the bank's ledger on a daily basis. Meanwhile, the microservices count has doubled to 1,000. We caught up with Evans at a Pager Duty event in London last week.

Computing: Despite your focus on agility, doubling or tripling most of these metrics in the course of 12 months must have been hard to manage?

Chris Evans: We were trying to hire as fast as possible to see what would break, and it was a really interesting experiment. The reality is a lot of things broke, not in significant ways, but things like onboarding people into teams, we realised we weren't optimised for that. But we're in a much better place now. So, we're a thousand people now, the largest part of that is our customer operations team, who are based out of London, Cardiff and Las Vegas, and engineering, I believe, is around 120.

What sort of engineering roles have you been hiring and which are the hardest to fill?

We're almost entirely a Golang shop, but we hire many people who have never used Golang before. It seems to be a very easy language to transition people into. For a long time we used to just hire back-end engineers and then we'd see if they had particular aptitude for security or a desire to go to the platform side, but we hit a limit with that and there are now roles out for various different teams. The one that's proving hardest to fill at the moment is platform. We have a high bar and they are a team of really skilled ops people who are also software engineers. Even at a Kubernetes level, the team is quite confident diving into that code, writing a patch, coning upstream and in the meantime, while it's not yet merged, building our own custom version.

And has the technology changed?

I guess the shape of the tech is very similar. So we're still in one region of AWS, we still have data centre presences in this country that connect into payment networks like MasterCard and Faster Payments. We still run almost everything on Kubernetes, we're very, very invested in the container ecosystem. Cassandra is one of the few things we run outside of Kubernetes, but we have plans to bring that in.

And the service mesh?

Linkerd did very well for us but it was using a considerable amount of resources. It was using at the time something like 1.5 out of the eight cores on every single machine, and in aggregate the biggest CPU consumer was the service mesh. Their version 2 is a far superior product and much less resource-intensive. At the time, though, it was earlier than we wanted to adopt, so we moved to Envoy Proxy, which has been outstanding for us.

Since you're speaking at a Pager Duty event I guess you're using them too?

Yeah, but we're kind of a boring user. For us, it's basically an engine. We use it for scheduling large groups of people to be available with a button press should we need them, and also as an API layer for us. We build all of our incident response tools internally, and we use the API to be able to trigger incidents for responders and orchestrate incidents from the platform from within Slack.

The version 2 Pager Duty integration looks fantastic but it's not generally available yet. The previous iteration was a bit limited for what we wanted so at that point we built our own tooling internally, which is a very Monzo thing to do. We often look at what's available, and if it doesn't fit our needs we are quite comfortable engineering solutions to it.

What new features are you building into the app?

So the core offering we have is we want to offer the world's best current account. Then there's things like digital receipts which mean that as a consumer, I can go into a retailer like Pret and buy my lunch, and rather than someone printing it out, the receipt just appears in Monzo automatically. We are doing that in partnership with Flux and will continue to roll out to other retailers as when Flux adds them. There are other features like share tabs and bill splitting. Those kinds of things in isolation don't sound like killer features, but in aggregation, those marginal gains add up to a far better kind of banking experience.

There are other products that have been looked at. We're evaluating things like mortgages, and we've got savings pots becoming more sophisticated so you can use various different third-party providers, which goes hand-in-hand with this strategy in Monzo in that rather than offering all those [additional services under one roof], if we can partner with various different people we can provide consumers that choice.

How do you deal with the regulators?

We have a very interesting relationship with the regulator [Financial Conduct Authority and Prudential Regulation Authority], in that everything that we do is very different to probably 90 per cent of the people they deal with. A lot of work that we do is explaining why what we're doing is perfectly acceptable and perfectly safe.

And from an audit point of view, convincing people that rather than having a change management database we use GitHub, and that is the system of record for changes that go into our production account and we can enforce peer-review at that point. It provides all the constructs and when you unpeel what they're asking for, we are giving them everything they want but it's not in the way they are used to.

Cloud & Infrastructure Live 2019 returns to London on 19th September 2019. Learn about the latest technologies in cloud, how to keep one step ahead of the regulators, and network with an audience of IT leaders and senior IT pros. The event will include keynotes, panel discussions, case studies, and strategic and technical streams. Best of all, the event is FREE to qualifying attendees. Secure your place now.