&gt; But I’ve come to thinking that recommending a ton of theoretical papers is often precisely the wrong way to go about learning distributed systems theory (unless you are in a PhD program). Papers are usually deep, usually complex, and require both serious study, and usually significant experience to glean their important contributions and to place them in context. What good is requiring that level of expertise of engineers?<p>Bingo!  We need some &quot;O&#x27;Reilly style&quot; distributed systems material.  Most of us are not going to be designing new algorithms, but plugging in various pieces.  Having a generic understanding of those pieces and where they work well, and when to actually go to the research are kind of missing right now in that world.<p>Some other links that people might find interesting:<p><a href="http:&#x2F;&#x2F;videlalvaro.github.io&#x2F;2015&#x2F;12&#x2F;learning-about-distributed-systems.html" rel="nofollow">http:&#x2F;&#x2F;videlalvaro.github.io&#x2F;2015&#x2F;12&#x2F;learning-about-distribu...</a><p><a href="http:&#x2F;&#x2F;book.mixu.net&#x2F;distsys&#x2F;single-page.html" rel="nofollow">http:&#x2F;&#x2F;book.mixu.net&#x2F;distsys&#x2F;single-page.html</a><p><a href="http:&#x2F;&#x2F;dancres.github.io&#x2F;Pages&#x2F;" rel="nofollow">http:&#x2F;&#x2F;dancres.github.io&#x2F;Pages&#x2F;</a>