Every now and then I get asked for advice on how to learn about distributed system internals and protocols. Over the course of my career I've picked u

Learning and reviewing system internals: tactics and psychology

submited by
Style Pass
2024-05-08 16:00:03

Every now and then I get asked for advice on how to learn about distributed system internals and protocols. Over the course of my career I've picked up a learning and reviewing style that works pretty well for me.

Learning about how a system works is the easier of the two. By the means available to you (books, papers, blogs, code), you study the system to understand how it works and why it works that way.

Reviewing a system requires learning but also involves opinions, taking positions, making judgments. It is trickier to get right, more subjective, and often only time can show you if you were right or wrong about it and to what degree.

We all review systems to one degree or another, even if it's just a casual review where the results are some loosely held opinions shared by the coffee machine. But when it comes to sharing our opinions in more formal contexts, an architecture meeting, a blog post, a conference talk or a job interview, the stakes are higher and the risks are also greater. If you review a system and come to some conclusions, how do you know if you are right? What happens if you are wrong? Someone could point out your flawed arguments. You make a bad decision. Not only can reviewing complex systems be hard, it can be scary too.

In this post, I’ll share some of the tricks and mindset that I’ve developed regarding learning and reviewing system internals, distributed system protocols and so on. Whether it’s learning or reviewing, I initially thought to break this topic down into two broad categories:

Leave a Comment