Monzo - 1st Stage with Tunde Ganiy
Monzo 2nd Stage - Pair Programming
Monzo Init Interview
Questions for You to Ask Them
- “How is the engineering team structured at Monzo, particularly in the web development area?”
- “What are the biggest technical challenges your team is currently facing?”
- “Can you tell me more about how engineers collaborate with designers and product managers at Monzo?”
- “How do you approach technical decision-making at Monzo? Who’s involved and what’s the process like?”
- “What does the career progression path look like for engineers at Monzo?”
- “How do you balance feature development with technical debt and infrastructure improvements?”
- “What technologies in your stack are you most excited about or planning to adopt in the near future?”
- “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
- Technical Focus Areas:
- React knowledge and best practices
- Component design and architecture
- Accessibility implementation
- Performance optimization
- API integration
- 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
- 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
- Monzo values engineers who can work in cross-disciplinary teams and communicate effectively
- Strong React and TypeScript knowledge is important
- Understanding of component architecture and reusability is crucial
- Testing is a significant part of their development process
- They value engineers who can balance speed with quality
- Knowledge of modern frontend tools and practices is expected
- Understanding of CMS integration and content management is beneficial
- They appreciate engineers who document their work well