Tech Stacks
    System Design Patterns
    CAP Theorem
    C10K and C10M
    Network Programming Models
    Infrastructure as Code


Updated: 2022-04-02


Amazon Kindle UI: from JavaScript to React Native

SingleStore: Moving Away From Next.js


React Official Documents: Gatsby -> Next

Next 12: Babel -> SWC

Next.js now uses Rust-based compiler SWC to compile JavaScript/TypeScript. This new compiler is up to 17x faster than Babel when compiling individual files and up to 5x faster Fast Refresh.

Uber: Fulfillment Platform Rearchitecture

  • The old service was written with Node.js and HTTP/JSON, while newer Uber services use Java with Protocol Buffers (Protobuf) for communication.
  • use Spanner as db

Qt: qmake to cmake


AOSP: -> Bazel

Spring Boot: Maven -> Gradle

Discord: Go -> Rust

Rust does not have garbage collection; Go has latency spikes every 2 min.


Dropbox: to gPRC

Deliveroo: Ruby -> Rust

Redhat: MongoDB -> PostgreSQL

GNU Health: MongoDB -> PostgreSQL

MongoDB Changed the license to Server Side Public License (SSPL) at the end of 2018. Previous versions are still on GPLv3, but MongoDB no longer maintain those old versions.


Udacity: Deprecate React Native

Airbnb: Sunsetting React Native

Depop: Heroku to AWS

Facebook: InnoDB to MyRocks

Why: With pure Flash, UDB was space-bound. Even though we used InnoDB compression and there was excess CPU and random I/O capacity, it was unlikely that we could enhance InnoDB to use less space...This was one of the motivations for creating MyRocks – a RocksDB storage engine for MySQL...

Uber: Postgres to MySQL

Segment: Microservices back to Monolith

Redfin: Maven to Bazel

Steam: Python to Go

Scala to Go


Spotify: on-prem to Google Cloud Platform


Braintree: Gradle to Bazel