Monzo - 1st Stage with Tunde Ganiy
Monzo 2nd Stage - Pair Programming
Monzo Init Interview

Questions for You to Ask Them

  1. “How is the engineering team structured at Monzo, particularly in the web development area?”
  2. “What are the biggest technical challenges your team is currently facing?”
  3. “Can you tell me more about how engineers collaborate with designers and product managers at Monzo?”
  4. “How do you approach technical decision-making at Monzo? Who’s involved and what’s the process like?”
  5. “What does the career progression path look like for engineers at Monzo?”
  6. “How do you balance feature development with technical debt and infrastructure improvements?”
  7. “What technologies in your stack are you most excited about or planning to adopt in the near future?”
  8. “How do you approach monitoring and observability for applications?”

Todo

  • Research Monzo (mission, values, culture)
  • Read about engineering practices (check blog, linkedin posts, email links)
  • Prepare Q&As for this role
  • Refresh knowledge about event driven development
  • Practice common Q&As and role specific Q&As
  • Prepare answers for projects that I worked on

Job Specification Analysis

Company Overview

  • Monzo is a digital bank focused on making money work for everyone
  • Started as a prepaid card and expanded to various banking products
  • Focus on user experience and solving problems rather than selling products

Products

  • Current Accounts
    • Personal account
    • Premium accounts with additional perks such as travel insurance etc.
    • Joint accounts to share with partners
    • Accounts for teenagers and for kids
  • Business Accounts
    • Expense cards, interest on spare money
    • According to a survey published in 2025, they are the best business banking provider
    • Expense cards are paid for (25 quid). Helpful for businesses as they can set limits, and receipts, VAT and all of that is captures in the app.
    • Allows you to put percentage aside for tax and other bills (Tax pots)
    • Accessible via browser
      • It cannot do everything yet (I probably will be part of it)
  • Joint Account
    • You can open a joint account with anyone as long as both of you have monzo account
  • Monzo 16-17
    • Same as current account, with difference that you cannot spend money on things that require 18 yo like gambling, cannot get an overdraft.
    • You get saving account
  • Monzo under 16s
    • Setting limits
    • Allows parents to see their spendings
  • Flex
    • Credit card
    • Allows you to spread the cost over 3 months with 0% interest
  • Investments
    • Teach people about investing
    • Easy to use (only 3 types of funds)
    • Uses black rock
    • Not the cheapest. There are other that are better
    • Can use S&S ISA and general one
  • Pensions
    • Not available yeet, but will be soon.

Competitive analysis

  • Competitors
    • Staling Bank
    • Chase
    • Revolut
  • Strengths
    • Great budgeting capabilities that outperform features offered by competitors (main advantage)
    • Pots feature help people with budgeting. People that want to be good with money, choose Monzo
    • Interface is very well organised, makes banking much easier to use. They are focused on users.
    • Focus on the social aspect like splitting bills, sharing links to pay for things etc.
    • Saving options are more diverse than competitors, and allow to connect to third party banks to provide interest rates that are competitive. It is in a form of partnership
    • It has full banking license protection. That means, customers are protected up to 85k while Revolut doesn’t have it yet.
    • Offer more services than competition would. You can have overdrafts, loans, helping with mortgage etc.
  • Weaknesses
    • Revolut has better functionality than Monzo
    • Revolut has a greater footprint, Monzo is only available in the UK and in the US in the future?
    • Revolut has more investment features such as crypto, stock trading etc. It might be mainly due to different customer base though
    • Not as generous as Revolut when traveling abroad.
    • Monzo’s revenue model heavily depends ont ransactionf ees and interest on loan product, which creates potential vulnerability in the business model
    • Premium services are not as popular as they thought they would be. Revolut is doing better here
    • Pots do not allow to have interest on it. It would be a game changer if Monzo would allow to link pots to saving accounts or have interest on it as people are missing out on quite a bit of money

Values

  • They care about the customer and they put customer at the forefront. They say that they do what’s best for customers (?)
  • They want everyone to be inclusive, no matter the difference. That is good for me as they will be fine with me having ADHD
  • They focus on real problems that have the biggest impact
  • People are ambitious and collaborative/supportive
  • Value transparency

Engineering Team Structure

  • ~400 engineers working on in-house banking platform
  • Engineers work in squads alongside other disciplines (product managers, designers, etc.)
  • Squads belong to wider “collectives” (self-governing business units)

Technical Requirements

  • Experience with modern component-oriented JavaScript applications
  • Familiarity with frameworks and libraries (React, Vue, Angular, TypeScript, etc.)
  • Understanding of frontend performance optimization
  • Experience working in large frontend codebases

Soft Skills and Values

  • Collaboration in cross-disciplinary teams
  • User-centric approach driven by feedback and data
  • Focus on user experience and accessibility
  • Balance between development velocity and code quality
  • Prioritization skills
  • Knowledge sharing and continuous learning

Day-to-Day Responsibilities

  • Collaborating with designers to improve UX
  • Contributing to the product development lifecycle
  • Designing APIs with backend engineers
  • Building accessible and intuitive interfaces
  • Developing new features from start to finish

Level Requirements

  • Looking for L30, L40, and L50 Engineers (this role is for L50)

Key Takeaways for Interview Preparation

  1. Technical Focus Areas:
    • React knowledge and best practices
    • Component design and architecture
    • Accessibility implementation
    • Performance optimization
    • API integration
  2. Soft Skills to Demonstrate:
    • Collaborative approach to problem-solving
    • Clear communication about technical decisions
    • User-centric thinking
    • Balancing speed and quality
    • Knowledge sharing during the pairing session
  3. Interview Strategy:
    • Take time to understand the codebase thoroughly
    • Verbalize thought process while reviewing code
    • Ask clarifying questions when needed
    • Consider both technical implementation and user experience
    • Demonstrate awareness of accessibility concerns
    • Show understanding of performance implications

Technical Stack and Practices

Based on the blog article “Moving monzo.com”, Monzo’s web development approach includes:

Technical Stack

  • Frontend Framework: NextJS (migrated from Jekyll and Gatsby)
  • UI Library: React
  • Styling: SCSS
  • Type System: TypeScript
  • Architecture: Single Page Application (SPA)
  • CMS: Contentful (headless CMS)
  • Rendering: Server-side Rendering (SSR) for some applications

Development Practices

  • Component Architecture: Modular, reusable components
  • Testing: Automated testing, including 1:1 content matching for critical content
  • Code Generation: Custom JavaScript-based CLI tools for generating components and boilerplate
  • Continuous Integration: Automated build processes
  • Decoupling: Separation of content (Contentful) from presentation (React components)
  • Performance Focus: SPA architecture for fast navigation between pages
  • TypeScript Integration: Strong typing for components and CMS data

Engineering Values

  • Collaboration: Cross-team collaboration and stakeholder involvement
  • Documentation: Thorough documentation of processes and code
  • Incremental Delivery: Breaking large migrations into smaller, manageable steps
  • Zero Downtime: Ensuring critical content is always available
  • Communication: Regular updates to stakeholders
  • Technical Excellence: Focus on code quality and maintainability
  • Knowledge Sharing: Encouraging learning and sharing technical knowledge

Technical Considerations

  • Proper use of React keys for component loops
  • TypeScript type definitions for CMS content
  • Abstract Syntax Trees (ASTs) for code generation and transformation
  • Component testing and styling automation
  • Balancing technical debt with delivery speed

Key Takeaways for Interview Preparation

  1. Monzo values engineers who can work in cross-disciplinary teams and communicate effectively
  2. Strong React and TypeScript knowledge is important
  3. Understanding of component architecture and reusability is crucial
  4. Testing is a significant part of their development process
  5. They value engineers who can balance speed with quality
  6. Knowledge of modern frontend tools and practices is expected
  7. Understanding of CMS integration and content management is beneficial
  8. They appreciate engineers who document their work well

Notes

Engineering Interview Process