Software Architecture

Software Architecture

Scalable systems from first principles. Architecture patterns, code quality, performance, and the craft of building software that lasts.

Common System Architectures: A Reference Catalog Every Architect Should Know (With Diagrams and Code)
software architecture

Common System Architectures: A Reference Catalog Every Architect Should Know (With Diagrams and Code)

A practical reference catalog of the eight architectures worth knowing — layered, modular monolith, hexagonal, event-driven, CQRS + event sourcing, microservices, serverless, and the strangler fig. Each with a diagram, the forces that make it the right call, the failure mode that makes it the wrong one, and a link to runnable reference code. Plus a decision flowchart so you pick on fit, not hype.

·18 min read
Evals for LLM Features: Building the Regression Net for a Non-Deterministic Dependency
software architecture

Evals for LLM Features: Building the Regression Net for a Non-Deterministic Dependency

You can't ship a reliable LLM feature on vibes. Evals are the regression net for a dependency that's non-deterministic, drifts when the provider updates the model, and fails silently. How to build one without boiling the ocean: start with 30 real examples, layer three kinds of checks (assertion, LLM-as-judge, human), measure faithfulness, and run it on every prompt, model, and retrieval change.

·11 min read
Designing LLM-Powered Features: RAG, Vector Databases, and the New System-Design Checklist
software architecture

Designing LLM-Powered Features: RAG, Vector Databases, and the New System-Design Checklist

Adding an LLM to your product is a distributed-systems problem with a non-deterministic dependency, not a single API call. When RAG actually helps (and when a prompt will do), how to think about vector databases and chunking without cargo-culting, the retrieval pipeline that separates demos from products, and the seven-point production checklist — evals, guardrails, cost ceilings, latency budgets, fallbacks, observability, and a human-in-the-loop boundary — to put in place before a real user touches it.

·15 min read
RAG in Production: Chunking, Re-ranking, and Hybrid Search (The Deep Dive)
software architecture

RAG in Production: Chunking, Re-ranking, and Hybrid Search (The Deep Dive)

Naive RAG gets you a 70%-quality demo and a plateau. The gap to production is three retrieval levers most teams never pull: chunking on structure (not character counts), hybrid search (vector + keyword), and re-ranking an over-fetched candidate set. The deep dive on each, plus citations and the metrics that tell you where retrieval is failing. Retrieval quality beats model quality.

·11 min read
Event-Driven Architecture Without the Hype: When Queues Help and When They Hurt
software architecture

Event-Driven Architecture Without the Hype: When Queues Help and When They Hurt

Events are a powerful tool and a terrible default. The three legitimate reasons to go event-driven, the anti-pattern that wrecks most implementations (events for request/response), the non-negotiables (idempotent consumers, dead-letter queues, versioned schemas), and choreography vs orchestration — with a decision rule so you reach for events when they earn their keep, not because a talk said microservices need a bus.

·13 min read
Caching, Idempotency, and Retries: The Three Things That Break at Scale
software architecture

Caching, Idempotency, and Retries: The Three Things That Break at Scale

Three patterns separate systems that survive scale from systems that get paged at 3am. Cache invalidation and the stampede problem, idempotency keys done right, and retries with exponential backoff, jitter, and circuit breakers — plus how the three fit together into one reliability story. Get them right and most of your 3am pages quietly disappear.

·12 min read
Architecture Decision Records That People Actually Maintain
software architecture

Architecture Decision Records That People Actually Maintain

Most architecture docs are write-once, read-never. ADRs are different because they capture the one thing that stays valuable: why a decision was made and which forces drove it. Five rules that make ADRs survive a busy team — keep them tiny, in the repo, record the forces and rejected options, write them at the right moment, and never edit a decided ADR (supersede it). Includes a minimal template.

·11 min read
Multi-Tenant SaaS Architecture: Shared, Siloed, or Hybrid?
software architecture

Multi-Tenant SaaS Architecture: Shared, Siloed, or Hybrid?

The tenancy model is an early, hard-to-reverse decision that touches every query you write. Shared (one DB, tenant_id per row), siloed (a DB per tenant), and hybrid (shared for the long tail, siloed for enterprise) — the isolation/cost/complexity trade-off, the data-isolation and noisy-neighbor traps, per-tenant cost visibility, and why most startups should start shared but build the routing seam to earn their way to hybrid.

·12 min read
Software Architecture: The Complete Guide for Practicing Engineers
software architecture

Software Architecture: The Complete Guide for Practicing Engineers

A comprehensive guide to software architecture for practicing engineers: what architecture actually is, core patterns (monolith, microservices, event-driven, DDD), making and recording good decisions, the most expensive mistakes, and how architecture changes as systems scale.

·19 min read
Common Software Architecture Mistakes and How to Avoid Them
software architecture

Common Software Architecture Mistakes and How to Avoid Them

The same architectural mistakes repeat across hundreds of systems: premature microservices, tight coupling, ignoring operational concerns, and skipping documentation. These compound quickly—companies with architectural debt spend 60-80% of engineering time on maintenance. Learn the patterns, decision frameworks, and practical fixes.

·12 min read
How to Write Developer Documentation People Actually Read and Use
software architecture

How to Write Developer Documentation People Actually Read and Use

That 40-page doc no one opens wastes weeks. Good docs aren't comprehensive—they answer the right question in 10 minutes. Learn the 4 doc types (READMEs, architecture, runbooks, ADRs), templates, discoverability tactics, and the upgrade checklist.

·13 min read
Choosing the Right Technology Stack: A Decision Framework for CTOs
software architecture

Choosing the Right Technology Stack: A Decision Framework for CTOs

A comprehensive framework for technology stack decisions. Learn how to evaluate options, avoid common pitfalls, and choose technologies that scale with your business. Updated for 2026 with TypeScript-first approaches, AI tooling considerations, and modern runtime options.

·4 min read
Enterprise Architecture Principles That Actually Scale
software architecture

Enterprise Architecture Principles That Actually Scale

The architectural principles that actually work in practice: design for change not perfection, treat data ownership as an architecture decision, use Conway's Law deliberately, build observability in from day one, and evolve incrementally using the Strangler Fig pattern. From leading architecture at companies scaling from 10 to 150 engineers.

·13 min read