My Reading List

A living collection of the best engineering blogs, essays, and deep dives I've read and want to remember.

WORDS: 987 | CODE BLOCKS: 0 | EXT. LINKS: 0
Design

Knitting Bullshit by Kate Davies

Kate Davies' blog.

General

The Story of Mel, a Real Programmer

Real engineering mindset

Backend

Awesome Scalability

The blogs listed on the page are really useful for my work and understanding how complex and scalable systems are built.

Hardcore Linux

The Magic of BPF

Brendan Gregg introduces eBPF, the technology that revolutionized Linux kernel observability and performance engineering.

Backend

Raft: In Search of an Understandable Consensus Algorithm

Diego Ongaro and John Ousterhout’s 2014 paper that strips away heavy math to provide a consensus algorithm engineers can actually build. The definitive guide to how clusters (like Kubernetes) manage state.

DevOps

The 5 Minute Rule for Trading Memory for Disk Accesses

Jim Gray's 1987 classic economic analysis on caching physics. It remains the foundational math for modern RAM vs. SSD decisions.

Design

The Mother of All Demos

Doug Engelbart's 1968 presentation. The literal source code for the mouse, hypertext, and modern computing interfaces.

Hardcore Linux

Everything is a File

A deep dive into the core UNIX philosophy and how the `/proc` filesystem and file descriptors actually govern the OS.

Backend

Whats a Service Mesh?

William Morgan (creator of Linkerd) explains the fundamental shift from application-level retry logic to infrastructure-level sidecar proxying.

General

The Mythical Man-Month

Fred Brooks' timeless essay on software engineering management. Adding manpower to a late software project makes it later.

Hacking

Randomness in Security (dev/random vs dev/urandom)

A deep technical explanation of how Linux generates entropy, and why true randomness is incredibly difficult for deterministic machines.

Backend

Epoll is fundamentally broken

A brutally technical teardown of Linux I/O multiplexing and the edge cases of edge-triggered vs level-triggered epoll.

Analytics

Big Data: The end of the beginning

A retrospective on the Hadoop era and the architectural shift toward real-time, columnar OLAP storage (like ClickHouse).

Design

Typography in ten minutes - Practical Typography

It teaches the fundamentals of typography.

Backend

The Log: What every software engineer should know about real-time data's unifying abstraction

Jay Kreps breaks down the fundamental data structure behind distributed systems, event sourcing, and Apache Kafka.

Backend

Notes on Distributed Systems for Young Bloods

Practical, hard-won, and cynical advice on building distributed systems that don't fail catastrophically in production.

DevOps

Choose Boring Technology

Dan McKinley's masterpiece on 'innovation tokens' and why you should probably just use Postgres and PHP.

Hardcore Linux

The USE Method

Brendan Gregg's foundational methodology for analyzing the performance of any system (Utilization, Saturation, Errors).

Hacking

Reflections on Trusting Trust

Ken Thompson's Turing Award lecture on compiler backdoors and why you can't truly trust code you didn't write yourself.

Hacking

Smashing the Stack for Fun and Profit

Aleph One's legendary 1996 Phrack article that introduced buffer overflows and memory corruption to the masses.

DevOps

The Tail at Scale

Jeff Dean explains why the 99th percentile latency matters in large-scale systems and how Google handles it.

General

Falsehoods Programmers Believe About Time

A humbling, terrifying reminder of how complicated dates, timezones, and leap seconds actually are.

Design

A Dao of Web Design

John Allsopp's 2000 essay that laid the philosophical groundwork for responsive web design and fluidity.

Hardcore Linux

The TTY demystified

Ever wonder why your terminal behaves weirdly? This explains the archaic, fascinating history of the TTY subsystem.

Backend

Out of the Tar Pit

A 2006 deep dive by Ben Moseley and Peter Marks into why software becomes complicated. It champions clear mechanics and simplicity over messy shortcuts, fundamentally changing how you view system architecture.

Backend

Jepsen: Distributed Systems Safety Research

Kyle Kingsbury tortures databases by cutting network partitions and mathematically proving they lose your data.

DevOps

Postmortem: GitLab database incident

A masterclass in transparent incident reporting after an engineer accidentally deleted the production database.

General

Maker's Schedule, Manager's Schedule

Paul Graham explains why a single 30-minute meeting can destroy an entire afternoon for a programmer.

Backend

Architecture of a Database System

A deep architectural breakdown of how relational databases actually process, plan, and execute queries under the hood.

Hardcore Linux

How the Kernel Manages Your Memory

Gustavo Duarte's brilliant visual explanation of Linux memory management, page tables, and virtual address spaces.

General

The Law of Leaky Abstractions

Joel Spolsky's core thesis: all non-trivial abstractions, to some degree, are leaky and will eventually require you to learn the underlying layer.

Design

What Screens Want

Frank Chimero on the nature of digital design, the canvas of the web, and designing for native fluidity.

Backend

You Are Not Google

A sharp critique of over-engineering your startup with microservices and Kubernetes. You don't have Google's scaling problems.

Backend

Let's Build a Simple Database

Writing a sqlite clone from scratch in C. The ultimate, hands-on way to understand B-Trees and memory paging.

Backend

The C10K Problem

The original classic on handling 10,000 concurrent connections. A must-read for anyone building high-throughput systems.

Hardcore Linux

What Every Programmer Should Know About Memory

Ulrich Drepper's incredibly dense, 100-page deep dive into CPU caches, memory banks, and hardware reality.

General

Falsehoods Programmers Believe About Names

Patrick McKenzie lists 40 assumptions engineers make about user names that will inevitably break your validation logic.

General

On Being A Senior Engineer

John Allspaw (Etsy/Flickr) details the behavioral and psychological traits that separate mature engineers from junior ones.

Backend

Fallacies of Distributed Computing Explained

The classic 8 assumptions everyone makes when building networked applications, and why the network is never actually reliable.

Backend

Dynamo: Amazon's Highly Available Key-value Store

Amazon’s 2007 masterclass in making smart trade-offs. The blueprint for building a highly available key-value store that handles data conflicts and physical failures gracefully.

Backend

Dapper, a Large-Scale Distributed Systems Tracing Infrastructure

Google’s 2010 blueprint for modern observability. Explains how to track requests across massive distributed chains without slowing down the underlying services.

Backend

C-Store: A Column-oriented DBMS

Mike Stonebraker’s 2005 paper proving why columnar storage is vastly superior for analytical workloads by aligning with hardware read realities.