# Learning to build distributed systems

DevFeed: [Learning to build distributed systems](<https://devfeed.tech/articles/learning-to-build-distributed-systems-12485.md>)

Original publisher: [Read original article](<http://brooker.co.za/blog/2019/04/03/learning.html>)

Author: Marc Brooker

Published: 2019-04-03T00:00:00Z

Content type: opinion

Language: en

Sources: [Marc Brooker's Blog](<https://devfeed.tech/sources/marc-brooker-s-blog.md>), [Marc Brooker's Blog](<https://devfeed.tech/sources/marc-brooker-s-blog-2.md>)

Topics: [distributed-systems](<https://devfeed.tech/topics/distributed-systems.md>), [Computer science](<https://devfeed.tech/topics/computer-science.md>), [Dynamo](<https://devfeed.tech/topics/dynamo.md>), [Database](<https://devfeed.tech/topics/database.md>)

Tags: [books](<https://devfeed.tech/tags/books.md>), [distributed-systems](<https://devfeed.tech/tags/distributed-systems.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [learning](<https://devfeed.tech/tags/learning.md>), [research](<https://devfeed.tech/tags/research.md>), [systems](<https://devfeed.tech/tags/systems.md>)

## AI overview

The article explains how to learn to design, build, and operate large distributed systems. It recommends studying papers, books, blogs, and talks from experienced organizations, while emphasizing hands-on system building and learning through mistakes.

## Source excerpt

Learning to build distributed systems A long email reply A common question I get at work is "how do I learn to build big distributed systems?". I've written replies to that many times. Here's my latest attempt. Learning how to design and build big distributed systems is hard. I don't mean that the theory is harder than any other field in computer science. I also don't mean that information is hard to come by. There's a wealth of information online, many distributed systems papers are very accessible, and you can't visit a computer science school without tripping over a distributed systems course. What I mean is that learning the practice of building and running big distributed systems requires big systems. Big systems are expensive, and expensive means that the stakes are high. In industry, millions of customers depend on the biggest systems. In research and academia, the risks of failure are different, but no less immediate. Still, despite the challenges, doing and making mistakes is the most effective way to learn. Learn through the work of others This is the most obvious answer, but still one worth paying attention to. If you're academically minded, reading lists and lists of best papers can give you a place to start to find interesting and relevant reading material. If you need a gentler introduction, blogs like Adrian Colyer's Morning Paper summarize and explain papers, and can also be a great way to discover important papers. There are a lot of distributed systems books I love, but I haven't found an accessible introduction I particularly like yet. If you prefer to start with practice, many of the biggest distributed systems shops on the planet publish papers, blogs, and talks describing their work. Even Amazon, which has a reputation for being a bit secretive with our technology, has published papers like the classic Dynamo paper, and a recent papers on the Aurora database, and many more. Talks can be a valuable resource too. Here's Jaso Sorenson describing t