Monzo Staff Weekly Q&A - Jonas Huckestein (Co-Founder & Chief Technical Officer)

What’s the most above and beyond tech related feature/process you think Monzo will get to?

I think our microservices platform has really paid off. It was a huge investment in the beginning, when it certainly would have been easier to build the bank as a quick rails or django app.

But now, we have over 600 microservices and over 100 production deployments each day by a dozen different squads. And most of them don’t interfere with each other or even have to know about each other.

I have seen this wrong previously and am very thankful to past us that we invested so much time into a platform that, at the time, was a little too big for us

11 Likes

What differences do you find between working at tech startups in Silicon Valley compared to in London?

I think it is harder for startups in London to take truly huge ambitions seriously. For better or for worse, a lot of entrepreneurs in Silicon Valley set out to have the largest possible impact. They want a billion users, global scale, a company to outlast all companies, etc… It all just goes without saying. In London, when we say “We are aiming for a billion users”, people often roll their eyes at us. I sometimes think of my role in the business as saying the outrageously ambitious things until everyone first repeats them and eventually believes them

Another thing I think is different is that employees in London don’t value startup equity as highly. In SF everyone knows somebody who was able to purchase a home or at least a car because they were one of the first several hundred staff of a huge tech firm that IPOd. In London there aren’t many examples of that, so people tend not to pay a huge amount of attention to that part of job offers

6 Likes

where is the honeymoon destination ?

We’ll see :wink: We have booked a one way flight to Vancouver and will then likely rent a campervan and tour down the pacific northwest. Towards the end of the trip we may stop by burning man (if we can get tickets)

It seemed a bit indulgent to spend much time planning the honeymoon when not even every aspect of the wedding is planned all the way through :wink:

7 Likes

Did you already have a system architecture in mind when you co-founded Monzo, or did you develop it with the initial team? Either way, what process did you go through to come up with the foundations on which Monzo was built?

The backend architecture was heavily influenced by Matt and Oli’s experience from Hailo. In particular the idea of very small microservices, using Go and using Cassandra as our primary database came from there.

The design of the platform arose from the following constraints

  • We didn’t know a huge amount about banking. We were very conscious that whatever functionality we’d build, we would probably have to rebuild a few times from scratch before we got it right. So we wanted it to be easy to rebuild entire components quickly

  • The people in the team knew how to make robust distributed service platforms already

  • We knew we didn’t want to do a huge “replatforming” once we hit scale, because that is very difficult to do without taking downtime (see for example Twitter’s famous “failwhale” phase; or from personal experience, in 2011/2012 Groupon had a similar period of lots of downtime)

  • We knew we had to go through a lengthy banking licence application before we could go live. At the time we didn’t know we were going to launch a prepaid card first

All of this led to our decision to invest heavily (well, as heavily as you can with 4 backend engineers) in building a distributed microservices platform

9 Likes

If you were to estimate, how much of the original code you wrote when Monzo was founded do you think is still in production today?

I wrote about 1/3 of the backend code for the first year (split fairly evenly with Matt and Oli). If I have time later, I’ll find out how many lines of code are still in production.

I stopped coding for the most part almost two years ago

I just had a look and discovered that I am still the #12 all time contributor to the Monzo codebase. But it looks like lots of people will pass that mark soon :wink: Here is my contribution history

For comparison, here is a graph of the contributions to our backend repository over the same time

11 Likes

Cats?

Never had a cat or a dog. Dogs appear to be more useful, though

Pineapple on pizza?

Yes

4 Likes

Do you believe it’s possible to fully automate fraud detection or does human behaviour have too many variables for that to happen?

I think eventually it will be possible to “automate” most things, even things that are totally unthinkable today. So yes :slight_smile:

3 Likes

Baby mondo: What are the things you worked on initially before switching to a more managing role (when it was just the 4 of you until Monzo became big enough)?

Err, literally everything. One thing I’m particularly pleased about are the merchant emoji that we send along with push notifications. A surprising amount of work goes into maintaining that database. I initially built the feature to surprise/troll my coworkers. Who knew it would become such a hallmark of our brand!

Developer heart: Are you still working on development things yourself (actual line coding, not specs/architecture). If so, how do you decide this?

I’m not coding anymore, but I occasionally still give feedback on Pull Requests or RFC documents (RFC stands for Request For Comments) for systems that are either very important or that I find interesting

Redundancy: What are the things that still makes you a SPOF in the company (if there are any), apart from your seniority? Is there anything only you could do (give example) which are still on prod?

I haven’t been able to totally remove myself from making hiring decisions for a long time. I really struggle with that, because I find it hard to explain to other people exactly what I am looking for in hires. So I worry that our approach won’t scale beyond myself.

From a technical perspective, I don’t think I’m the single point of success for anything anymore

4 Likes

It would have to be between

  1. 90s point and click adventures. I learned how to read by playing Monkey Island, Indiana Jones and Day of the Tentacle. I pressed the space bar to pause the game literally on every sentence and then slowly worked out what was said (we didn’t have a soundblaster sound card until much later!). I also really like Kings Quest 5, 6 and 7, but I prefer the games where you can’t die

  2. Diablo, because I picked up programming to make a website about Diablo

I also got addicted to Counterstrike 1.4 and World of Warcraft as a teenager… I now stay away from those kinds of games, lest I relapse

6 Likes

What would be your starter kit for a Junior Sys Admin (Laptop/Desktop, OS, suite of applications)

I used to get really into this. For the longest time I would only use Debian. And every time the non-free nvidia drivers got updated, my X window system wouldn’t boot and I’d have to compile the drivers again… Then Ubuntu came around and I conceded that it was slightly more convenient (albeit less “pure”). Then I got even more lazy and now I just use a Mac with as few changes from the out of the box configuration as possible. If I need anything fancy, I can just spin up a VM of that…

So my answer would probably be an off-the-shelf Macbook Pro and VMWare…

What would you advise them to study and get experience on

Programming. Learn how to write software that manages systems at scale and an incredibly in-demand career path opens up for you

4 Likes

Another question, What has made you move on from CTO into a ‘broader executive role’

I don’t get the reference :see_no_evil:

The main reason is that I’d like to spend more time doing the things that I can’t stop myself doing but that don’t traditionally sit with the CTO. In particular, I like organisation design. I’ve always been fascinated with how successful companies run on the inside; how are they structured? how do they run their processes? how do they trade off rapid, local decision making with management control? We will continue to grow very quickly, and I would like to put the right structure, tools and processes in place to ensure that we don’t lose what made us successful in the process

Another key reason is that I really really wanted to hire Meri. Whenever I had an issue in building the engineering org, I would ask Meri for advice anyway. It only made sense to get her aboard and then it only made sense for her to be the CTO, because she is a lot more qualified for that role than I am :slight_smile: And as a founder you have the unique privilege of being able to just step back and call yourself “cofounder”

10 Likes

What is your super power? Do you have the opportunity to incorporate it into your working life at Monzo on a regular basis?

I think my superpower is systems design and architecture. I like looking at a group of problems and then finding a small but powerful set of abstractions that help understand and solve them.

I’m lucky, because I think this skill can be applied both to designing systems of computer programs, but also to designing systems of people that work together.

6 Likes

Do you have any plans once you step back from your role as CTO? Any cool new opportunities to explore?

I’ve touched on this in a previous answer

2 Likes

What’s your favourite text editor? Atom? Sublime?

Whatever is available :wink: This is a very similar story to my relationship with operating systems. I’ve gone from rabid supporter of “the one true way” to fairly agnostic.

As a teenager, I was all about emacs. For a while I was really pleased that I didn’t ever use a mouse.

Then I got really into vim, which, on balance, I think I like a bit more. The command system feels a bit more elegant and you don’t ruin your pinky by hitting CTRL a million times a day… OTOH emacs lisp macros are way nicer, so YMMV

Then I got really lazy and now I mostly use Atom :wink:

What do people in the office generally use?

I think many people use Atom, but it’s fairly fragmented. Goland seems to be the up-and-coming one

3 Likes

Will you be doing any more Monzo hackathons?

Yes, I expect so. Will probably re-start this in Q4 2018

Do you think new fintechs will ever displace the huge card network duopoly of visa and MasterCard? If so what path could they take?

Definitely - it’s crazy to me that card networks still exist. I think Open Banking and PSD2 may finally do something about that. Even if open banking doesn’t go anywhere, once we have enough customers, we’ll be able to offer a very elegant “Pay with Monzo” functionality for merchants with significantly lower fees and less fraud

11 Likes

Where are you going for your honeymoon :smiley:

Vancouver and pacific north west. I’ve answered this in another thread :slight_smile:

2 Likes

What languages are your favorites / do you use regularly and why?

I really like Go because it’s like a single speed bicycle. It’s light, easy to maintain and understand and hard to break. It’s not super flexible, but as long as there are no hills that’s fine :wink: Extending the metaphor a little, I like to think that the architecture of our backend platform makes it so our services encounter a “flat terrain”, so they don’t have to be written in the programming language equivalent of a 24-speed mountain bike.

For quick projects my go-to is ruby. It’s very simple to understand, too, but it is a lot more flexible than Go. I love having an interactive REPL into my program for debugging. On the flipside, the flexibility usually ends in myself trying to be “too clever” and then regretting it a few months later

What good resources are out there for beginners and what languages would you suggest I look into more?

It’s not for everyone, but I recommend reading Zed Shaw’s “Learn Python the Hard Way”. If you stick with the book, I promise you will know how to write basic programs by the end. The book has been rewritten for a lot of other languages

As for programming languages, it depends a bit what you want out of it.

I’d start with either ruby, python or javascript. Ruby and python more often satisfy the principle of least surprise and some people find them easier to learn as a result. The advantage of javascript is that you can write both the backend and frontend code for web applications in it.

7 Likes

What one feature would you build & launch today if you had a magic wand?

I would build a feature that allows customers in foreign countries to open accounts with us that are denominated in their local currency. Today we already have Monzo customers that live in foreign countries, but for most of those people it would be more useful if their balance and transactions were not shown in GBP.

9 Likes

Where do you see Monzo in December 2018?

1.5m customers and within striking distance of profitability

How about in 5 years?

Everyone in the world can download the Monzo app and it helps make money work for them

What do you think can stop Monzo from achieving it’s goal?

At this point, there are very few things that can kill us. More than at any other time in the last 3.5 years, it feels like this is our game to lose. If we screw it up, it will have been our own fault. It’s a nice feeling :slight_smile:

17 Likes

What piece of advice (financial or otherwise) would you give to a young person/younger self gearing up to enter the working/adult world?

Listen to people’s advice. Most of it will turn out to be valid and super useful.

Also, has it been somewhat strange working in the same company as your fiancé?

This is a really good question

It definitely heightens the stakes :wink: Leah was there from day 1, too, so in the beginning we were worried that if things went south, they’d go south for both Monzo and us!

On balance, though, I think it was hugely beneficial both for our relationship and for Monzo. It amplifies and accelerates everything. We have spent more time together than many people that have been going out several times as long. When it’s stressful at work, your personal life will life will also be stressful. And when your personal life is stressful, it may drag into work. You have to get really good at communicating and working through problems together.

For a long time Leah was in charge of all operations at Monzo and I was in charge of the technology. Those two parts of companies often don’t interface much. At Monzo they had perfectly synchronized brain state.

6 Likes