The learning continues

Published on
3 mins read

Introduction

Designing good systems requires years of accumulation of knowledge. One shortcut is to dive into real-world system architectures. Below is a collection of helpful reading materials. We highly recommend you pay attention to both the shared principles and the underlying technologies. Researching each technology and understanding what problems it solves is a great way to strengthen your knowledge base and refine the design process.

Real-world systems

The following materials can help you understand general design ideas of real system architectures behind different companies.

Facebook Timeline: Brought To You By The Power Of Denormalization: https://goo.gl/FCNrbm

Scale at Facebook: https://goo.gl/NGTdCs

Building Timeline: Scaling up to hold your life story: https://goo.gl/8p5wDV

Erlang at Facebook (Facebook chat): https://goo.gl/zSLHrj

Facebook Chat: https://goo.gl/qzSiWC

Finding a needle in Haystack: Facebook’s photo storage: https://goo.gl/edj4FL

Serving Facebook Multifeed: Efficiency, performance gains through redesign: https://goo.gl/adFVMQ

Scaling Memcache at Facebook: https://goo.gl/rZiAhX

TAO: Facebook’s Distributed Data Store for the Social Graph: https://goo.gl/Tk1DyH

Amazon Architecture: https://goo.gl/k4feoW

Dynamo: Amazon’s Highly Available Key-value Store: https://goo.gl/C7zxDL

A 360 Degree View Of The Entire Netflix Stack: https://goo.gl/rYSDTz

It’s All A/Bout Testing: The Netflix Experimentation Platform: https://goo.gl/agbA4K

Netflix Recommendations: Beyond the 5 stars (Part 1): https://goo.gl/A4FkYi

Netflix Recommendations: Beyond the 5 stars (Part 2): https://goo.gl/XNPMXm

Google Architecture: https://goo.gl/dvkDiY

The Google File System (Google Docs): https://goo.gl/xj5n9R

Differential Synchronization (Google Docs): https://goo.gl/9zqG7x

YouTube Architecture: https://goo.gl/mCPRUF

Seattle Conference on Scalability: YouTube Scalability: https://goo.gl/dH3zYq

Bigtable: A Distributed Storage System for Structured Data: https://goo.gl/6NaZca

Instagram Architecture: 14 Million Users, Terabytes Of Photos, 100s Of Instances, Dozens Of Technologies: https://goo.gl/s1VcW5

The Architecture Twitter Uses To Deal With 150M Active Users: https://goo.gl/EwvfRd Scaling Twitter: Making Twitter 10000 Percent Faster: https://goo.gl/nYGC1k

Announcing Snowflake (Snowflake is a network service for generating unique ID numbers at high scale with some simple guarantees): https://goo.gl/GzVWYm

Timelines at Scale: https://goo.gl/8KbqTy

How Uber Scales Their Real-Time Market Platform: https://goo.gl/kGZuVy Scaling Pinterest: https://goo.gl/KtmjW3

Pinterest Architecture Update: https://goo.gl/w6rRsf

A Brief History of Scaling LinkedIn: https://goo.gl/8A1Pi8

Flickr Architecture: https://goo.gl/dWtgYa

How We've Scaled Dropbox: https://goo.gl/NjBDtC

The WhatsApp Architecture Facebook Bought For $19 Billion: https://bit.ly/2AHJnFn

Company engineering blogs

If you are going to interview with a company, it is a great idea to read their engineering blogs and get familiar with technologies and systems adopted and implemented there. Besides, engineering blogs provide invaluable insights about certain fields. Reading them regularly could help us become better engineers.

Here is a list of engineering blogs of well-known large companies and startups.

Airbnb: https://medium.com/airbnb-engineering Amazon: https://developer.amazon.com/blogs Asana: https://blog.asana.com/category/eng Atlassian: https://developer.atlassian.com/blog Bittorrent: http://engineering.bittorrent.com Cloudera: https://blog.cloudera.com

Docker: https://blog.docker.com

Dropbox: https://blogs.dropbox.com/tech

eBay: http://www.ebaytechblog.com

Facebook: https://code.facebook.com/posts

GitHub: https://githubengineering.com

Google: https://developers.googleblog.com

Groupon: https://engineering.groupon.com

Highscalability: http://highscalability.com

Instacart: https://tech.instacart.com

Instagram: https://engineering.instagram.com

Linkedin: https://engineering.linkedin.com/blog

Mixpanel: https://mixpanel.com/blog

Netflix: https://medium.com/netflix-techblog

Nextdoor: https://engblog.nextdoor.com

PayPal: https://www.paypal-engineering.com

Pinterest: https://engineering.pinterest.com

Quora: https://engineering.quora.com

Reddit: https://redditblog.com

Salesforce: https://developer.salesforce.com/blogs/engineering

Shopify: https://engineering.shopify.com

Slack: https://slack.engineering

Soundcloud: https://developers.soundcloud.com/blog

Spotify: https://labs.spotify.com

Stripe: https://stripe.com/blog/engineering

System design primer: https://github.com/donnemartin/system-design-primer

Twitter: https://blog.twitter.com/engineering/en_us.html

Thumbtack: https://www.thumbtack.com/engineering

Uber: http://eng.uber.com

Yahoo: https://yahooeng.tumblr.com

Yelp: https://engineeringblog.yelp.com

Zoom: https://medium.com/zoom-developer-blog

Happy reading