freehire launches on Product Hunt on 26 August.

Follow →

Senior Software Engineer

Summary

Builds and maintains distributed backend services for Monzo’s in-house banking platform (accounts, business banking, savings, etc.), focusing on scalability, resilience, and customer-driven features using Go, Cassandra, Kafka, and Kubernetes.

Senior Software Engineer at Monzo.

About the role Become part of a dynamic team of over 650 engineers dedicated to developing an in-house banking platform that supports a wide range of financial services, including personal accounts, business banking, savings, investments, pensions, and credit products. In this role, you will collaborate within a cross-functional squad that includes product managers, designers, analysts, and both mobile and web engineers to deliver features that are utilized by customers on a daily basis. Monzo organizes its teams into self-managing collectives of approximately 100 individuals, focusing on various domains such as Core Banking, Business Banking, Wealth, Borrowing, Growth, Payments, Platform, Fincrime, Security, and Expansion.

Key facts

  • Location: Barcelona, Spain
  • Engagement: Hybrid, requiring three days per week in the office

What you’ll do

  • Work closely with your squad to design, develop, and maintain backend services tailored to a specific product area.
  • Engage in building distributed systems that are designed to remain resilient even under high traffic conditions.
  • Utilise data-driven insights to influence customer outcomes and enhance user experience.
  • Participate in open-source projects and actively share your expertise through both internal and external platforms.
  • Collaborate with cross-functional teams to ensure alignment on product goals and deliverables.
  • Troubleshoot and resolve issues in production environments to ensure optimal performance and reliability.
  • Contribute to code reviews and provide constructive feedback to peers to maintain high coding standards.
  • Stay updated with industry trends and emerging technologies to continuously improve the development process.

Requirements

  • Proven experience in backend engineering within a technology-focused product environment.
  • Ability to navigate through uncertainty and ambiguity while working collaboratively in a team.
  • A keen interest in distributed systems and a commitment to building dependable software solutions.
  • Proficiency in at least one strongly-typed programming language, such as Go, Java, C, or Scala.
  • A product-oriented approach that prioritises addressing real customer needs and challenges.
  • Strong problem-solving skills and the ability to think critically about software design and architecture.

Nice to have

  • Familiarity with the following technologies is advantageous, although comprehensive onboarding support will be provided:
    • Experience with container orchestration tools like Kubernetes and Docker.
    • Knowledge of messaging systems such as Kafka for asynchronous communication.
    • Understanding of cloud platforms, particularly AWS for production infrastructure and GCP for data management.

Skills & tools

  • Go for developing application code.
  • Cassandra for managing persistent data storage.
  • Kafka for facilitating asynchronous messaging.
  • Kubernetes and Docker for orchestrating containerized applications.
  • Envoy Proxy for remote procedure calls (RPC).
  • AWS for hosting production infrastructure.
  • GCP for handling data infrastructure needs.
  • React for building public web applications and internal tools.

Practical notes

  • The base salary for this position will be determined based on your experience, supplemented by performance-related incentive awards and a comprehensive benefits package.
  • An annual learning budget of 1200 EUR is allocated for books, courses, and attendance to conferences to support your professional development.
  • Flexible working hours are offered, allowing you autonomy over your schedule to maintain a healthy work-life balance.
  • No formal degree is required for any engineering position at Monzo, emphasizing skills and experience over traditional qualifications.
  • This role is classified at the L50 level according to the Engineering Progression Framework; if you have questions about leveling, please discuss it with our recruitment team.
  • The interview process consists of an initial phone screening, followed by a take-home assignment or a pair programming exercise, and concludes with final round that includes system design and behavioral interviews. The typical duration of the entire process is around four weeks.
  • Applicants are welcome to use a preferred name when making submission, ensuring a comfortable and inclusive hiring experience.

See also