Distributed architecture concepts I learned while building a large payments system - The Pragmatic Engineer
When building a large scale, highly available and distributed system, what architecture concepts do you need to use, in practice? In this post, I am summarizing ones I have found essential to learn and apply when building the payments system that powers Uber. This is a system with a load of up to thousands of requests per second, where critical payments functionality needs to work correctly, even if parts of the system are down. As background: I joined Uber two years ago as a mobile software engineer with some backend experience. I ended up building the payments functionality in the app - and rewriting the app on the way. Afterwards, I ended up moving into engineering management, heading up the team itself. This meant getting exposed to more backend, as my team is responsible for many of the backend systems that enable payments. Before working at Uber, I had little to no distributed systems experience. My background is a traditional computer science degree and a decade of full stack so
Before we start: I'm hosting the first-ever The Pragmatic Summit on 11 February, 2026, in San Francisco. Join 400 top engineers and leaders as we answer the question: How is AI reshaping software engineering, dev workflows, and the modern engineering stack? Spaces are limited - don't miss out! Buy tickets here . --> When building a large scale, highly available and distributed system, what architecture concepts do you need to use, in practice? In this post, I am summarizing ones I have found essential to learn and apply when building the payments system that powers Uber. This is a system with
related reading
- Distributed systems for fun and profitbook.mixu.net
- A Distributed Systems Reading Listferd.ca
- Notes on Distributed Systems for Young Bloods – Something Similarsomethingsimilar.com
- GitHub - aphyr/distsys-class: Class materials for a distributed systems lecture seriesgithub.com
- Building Venice with Apache Helixlinkedin.com
- An Overview of Distributed PostgreSQL... | Crunchy Data Blogcrunchydata.com
- Git at any scalecursor.com
- Let’s take a crack at understanding distributed consensuspreethikasireddy.com
- GitHub - donnemartin/system-design-primer: Learn how to design large-scale systems. Prep for the system design interview. Includes Anki flashcards.github.com
- The Distributed Computing Manifesto | All Things Distributedallthingsdistributed.com
- The Architecture of Open Source Applications (Volume 2)Scalable Web Architecture and Distributed Systemsaosabook.org
- Core Concepts for System Design Interviews | Hello Interview System Design in a Hurryhellointerview.com