Learn Software Engineering
Structured learning paths, in-depth articles, visual explanations and practice to help you build real-world skills.
Explore Topics
Ai
Learn Ai as a connected topic across chapters, concepts, simulations, and interview reasoning.
Architecture
Learn Architecture as a connected topic across chapters, concepts, simulations, and interview reasoning.
System Design
Practice requirements, topology, bottlenecks, tradeoffs, failure modes, and operational constraints as a design loop.
Algorithms
Learn Algorithms as a connected topic across chapters, concepts, simulations, and interview reasoning.
Java
Learn Java as a connected topic across chapters, concepts, simulations, and interview reasoning.
Distributed Systems
Move through replication, consensus, quorum, leader election, transactions, and failure recovery as one connected system.
Personalized curriculum
Curate a learning path
Tell us what you want to master. Weβll organize relevant blog articles into a logical, complexity-ranked sequence.
Popular Learning Paths

LLM Engineering
50 articlesTLDR: A pretrained LLM is a generalist. Fine-tuning makes it a specialist. Supervised Fine-Tuning (SFT) teaches it your domain's language through labeled examples. LoRA does the same with 99% fewer tr
- PagedAttention & KV-Cache Optimization: How vLLM Handles Large Scale Inference
- ANN Index Types Explained: When to Choose Flat, HNSW, IVF, or IVF-PQ
- RAG vs Fine-Tuning: When to Use Each (and When to Combine Them)
- Fine-Tuning LLMs with LoRA and QLoRA: A Practical Deep-Dive
- Build vs Buy: Deploying Your Own LLM vs Using ChatGPT, Gemini, and Claude APIs

System Design Interview Prep
72 articlesTLDR: Stale reads return superseded data from replicas that haven't yet applied the latest write. Cascading failures turn one overloaded node into a cluster-wide collapse through retry storms and redi
- System Design: Designing a Financial Ledger with Double-Entry Constraints
- High-Level Design: Building a Real-Time Ad Click Aggregator at Scale
- High-Level Design: Scaling a Concert Ticket Booking System under Flash Load
- System Design: Designing an Autonomous AI Coding Agent (Devin at Scale)
- System Design for Agentic AI Systems: From Distributed Systems Principles to Production

Agentic AI: LangChain and LangGraph
16 articlesTLDR: LLMs are stateless β every API call starts fresh. LangChain memory classes (Buffer, Window, Summary, SummaryBuffer) explicitly inject history into each call, and RunnableWithMessageHistory is th
- LangChain Tools and Agents: The Classic Agent Loop
- LangChain RAG: Retrieval-Augmented Generation in Practice
- LangChain Memory: Conversation History and Summarization
- LangChain 101: Chains, Prompts, and LLM Integration
- From LangChain to LangGraph: When Agents Need State Machines
Recently Added
System Design: Designing a Financial Ledger with Double-Entry Constraints
TLDR: Designing a financial ledger requires strict double-entry compliance, high consistency, and complete auditability. Unlike traditional databases where records are updated in-place, a financial le
13 min read
PagedAttention & KV-Cache Optimization: How vLLM Handles Large Scale Inference
TLDR: Large Language Model (LLM) serving is heavily bound by GPU memory capacity due to the Key-Value (KV) cache. Traditional serving frameworks allocate contiguous memory based on maximum sequence le
14 min read
CPython Internals: Reference Counting, Cycle Detection, and Memory Profiling
TLDR: CPython manages memory using a two-tier system: Reference Counting (for immediate deallocation) and a Generational Cyclic Garbage Collector (to identify and collect isolated reference cycles). T
11 min read
Track your progress
Create an account to save progress, notes, bookmarks, and continue learning across articles.
- Track roadmaps
- Bookmark articles
- Take notes
- Get personalized recommendations