Monzo 4.0 4️⃣.0️⃣

Hopefully we’ll get batch change of categories with :four: as well

1 Like

I think my Universal Translator has broke :man_shrugging: :vulcan_salute:

I always forget something :man_facepalming:

3 Likes

:grinning_face_with_smiling_eyes:

2 Likes

I’m a simple man, I just want dark mode and being able to pay regular internet payments from pots

4 Likes

I can translate 4 u :)))

performant

Faster

Testing

We need to make sure the app works, if we don’t test all sorts of silly little things will go wrong (like, if you transfer money we accidentally transfer an extra £10 – that’d be a bug! We test our app to make sure no silly little things get through :slight_smile: )

continuous integration pipeline.

We pay someone else to run our tests on their computer so we don’t have to sit there with our laptops working for half an hour, we also pay them to do the “pipeline”

So if for example, we have a “pipeline” like:

  1. See if we have bread
  2. If we do, grab some bread
  3. See if we have butter
  4. If we do, grab some butter on a knife
  5. Butter the bread

Now imagine each one of these takes 5 minutes to check. It takes us 5 minutes to check if we have bread (or to check that our app is working correctly because of the tests!)

We’d have to sit there for around 20 minutes to do the whole “pipeline” and finally get some buttered bread.

Instead, we pay someone else and say “hey, you do this so I can go and do something more important like watch star wars”

developmental velocity

:angry: Increasing development means more cool features for our users, no slacking here >:( (If if takes 30 minutes for our continuous integration (CI) to run, then it means developers will normally wait 30 minutes to see if their new fancy features work and if they can add it to the app :sweat_smile: )

mono-repo

Imagine you have a bunch of photos from holidays. You went to Majorca, Spain, and China!

You’d likely have these photos in folders like:

  • Majorca/
  • Spain/
  • China/

So you can easily find them.

Well, at Monzo we use a “mono-repo” which means everything exists in one folder.

It’s actually easier for us to find things (since we have so many things, they could be in so many places! Like my photo album for my birthday is in my bedroom, but the photos of my baking adventures are in my lounge!)

Because everything is in one giant big folder, sometimes our testing (our continuous integration pipeline) does everything.

For example, not only do we have “butter the bread” but Yusuf from down the hall also has “clean the plates” in his pipeline!

This means that, sometimes, you’ll see your little robot minions doing other peoples tasks instead of what you want.

decreasing the time it takes for our integration & unit tests to run :angry:

The easiest way to solve this would be to decrease the time it takes for them to do stuff. Probably by making the little robot minions work faster!

Hope that helps! :grinning_face_with_smiling_eyes:

Why you should care You shouldn’t, really. This was a joke in jest! But!!! If we decrease the time it takes for CI to run, the likely effect would be that you (the customers!) get more features, faster! (well, faster by maybe a day at best :sweat_smile: )

11 Likes

Brace yourself for a performative continuously integrated development pipeline instead.

It’s the future.

3 Likes

You do realise that all I will be able to do for the rest of today is imagine what they look like?

This is all your fault

3 Likes

Question!

Are we talking paying for compute on something like AWS or about outsourcing either manual or automated tests to a third party?

1 Like

Are we talking paying for compute on something like AWS or about outsourcing either manual or automated tests to a third party?

Both! We pay for compute power, which outsources our automated tests (not manual) to a third party. See:

For some examples, see:
https://github.com/monzo/response/runs/3518977211?check_suite_focus=true

Everytime someone writes some code our little friendos run a bunch of tests to make sure it works.

We do test locally on our machines and manually, but our full testing suite is so large it basically means you can’t work for a while until it all runs :sweat_smile:

6 Likes

Covid passport in the app, pops up as a notification when paying for nightclub entry :joy:

1 Like

Events move quick. Hope they can distinguish those :mondo: users in Scotland when it come to displaying it!

1 Like

Makes me think of this recent tweet:

All excellent stuff:

But then I read “if it doesn’t sound that something you’d actually say, rework it”.

And all I can hear is…

Frauded

4 Likes

@Peter_G please let’s not take this thread off topic :stuck_out_tongue:

6 Likes

You’ve only yourselves to blame!

Anyway, as you’re here, what are you expecting from 4.0?!

1 Like

What’s all this about 4.0? Is it a rule that you can’t have 100+ minor versions?

4 Likes

Yeah next one will be 3.99.1 :grin:

Oh how this thread would explode :joy:

2 Likes

Manage our expectations, Jon!

1 Like

I’m waiting for 3.100.0. Just for lolz.

And then have massive upgrades anyway.

4 Likes

It’s what I would do

1 Like