Engineering Glossary

A curated dictionary of software engineering terms

Webpack

Webpack is a JavaScript module bundler that takes a project's source files (JS,

Vue.js

Vue.js is a progressive JavaScript framework for building user interfaces, created by Evan You

Vite

Vite is a front-end build tool created by Evan You (the creator of Vue)

Helm

Helm is to Kubernetes what apt is to Ubuntu or npm is to Node.js.

ArgoCD

ArgoCD is a Kubernetes controller that continuously watches a Git repository and ensures your cluster&

Pulumi

Pulumi is an Infrastructure as Code platform that challenges Terraform's HCL-based approach

HashiCorp Vault

HashiCorp Vault is the de facto secrets management solution for production infrastructure. Instead of storing

Caddy

Caddy is an open-source web server built with a single design priority: automatic HTTPS.

Traefik

Traefik (pronounced "traffic") is a reverse proxy built for dynamic environments. Where Nginx

Cloudflare Tunnel

Cloudflare Tunnel (formerly Argo Tunnel) creates an outbound-only encrypted connection from your server to

WireGuard

WireGuard is a VPN protocol created by Jason Donenfeld and merged into the Linux kernel

Tailscale

Tailscale takes the cryptographic strength of Wireguard and wraps it in a coordination layer that

Inference Endpoint

An inference endpoint is the serving layer for a trained model. After training (or downloading)

Tokenization

Tokenization is the first step in any LLM pipeline: converting raw text into a sequence

RLHF (Reinforcement Learning from Human Feedback)

RLHF is the training recipe that turned raw language models (good at predicting text) into

LoRA (Low-Rank Adaptation)

LoRA (Low-Rank Adaptation) is a fine-tuning method introduced by Hu et al. at

System Prompt

In the chat completions API format used by OpenAI, Anthropic, Google, and others, messages come

Prompt Engineering

Prompt engineering is the discipline of communicating effectively with large language models. Because LLMs are

LangChain

LangChain is an open-source framework that provides building blocks for LLM applications. Rather than

OpenRouter

OpenRouter is an API aggregator for LLMs. Instead of managing separate API keys for OpenAI,

OpenHands

OpenHands (formerly OpenDevin) is an open-source platform for AI software engineering agents. Unlike Cursor

Windsurf

Windsurf (by Codeium) is an AI IDE that competes directly with Cursor. Its key differentiator

GitHub Copilot

GitHub Copilot, launched in 2021 and built on OpenAI Codex (later GPT-4), was the

Cursor

Cursor is a fork of VS Code that reimagines the editor as an AI-native

vLLM

vLLM (Virtual LLM) is an open-source inference engine from UC Berkeley that dramatically increases

Ollama

Ollama makes running open-source LLMs as straightforward as running a Docker container. You pull

MCP (Model Context Protocol)

Model Context Protocol (MCP) is an open standard introduced by Anthropic in late 2024 that

TypeScript

TypeScript is a typed superset of JavaScript developed by Microsoft. It adds static types, type

Tailwind CSS

Tailwind CSS is a utility-first CSS framework that gives developers a large set of

Svelte

Svelte is a JavaScript UI framework that shifts most of the work from runtime to

Server-Side Rendering (SSR)

Server-Side Rendering (SSR) is the practice of rendering a page's HTML on

Remix

Remix is a React framework focused on web-fundamentals: HTML forms, progressive enhancement, nested routing,

React

React is an open-source JavaScript library for building user interfaces, created at Facebook (now

Nuxt

Nuxt is the production framework for Vue, analogous to Next.js for React. It provides

Next.js

Next.js is the most widely used React framework, maintained by Vercel. It adds file-

JSX (JavaScript XML)

JSX (JavaScript XML) is a syntax extension to JavaScript that allows HTML-like markup to

Client-Side Rendering (CSR)

Client-Side Rendering (CSR) is the pattern where the server returns a minimal HTML shell

Astro

Astro is a web framework built around the "islands architecture": pages are server-

Angular

Angular is an opinionated TypeScript front-end framework maintained by Google. Unlike React or Vue

Spring Boot

Spring Boot is the most widely used Java framework for building production server applications. Built

Rust

Rust is a systems programming language focused on memory safety without a garbage collector, achieved

Ruby on Rails

Ruby on Rails (or just Rails) is a server-side web framework written in Ruby

RabbitMQ

RabbitMQ is an open-source message broker that implements the AMQP protocol along with several

ORM

An ORM (Object-Relational Mapper) is a library that translates between application objects and relational

Node.js

Node.js is a JavaScript runtime built on the V8 engine that runs JavaScript outside

NestJS

NestJS is a TypeScript-first Node.js framework that brings Angular-style structure to the

Middleware

Middleware is a function (or class) that sits in the request-handling pipeline of a

Apache Kafka

Apache Kafka is a distributed event streaming platform: a high-throughput, append-only log that

Go

Go (or Golang) is a compiled, statically typed programming language created at Google in 2009,

FastAPI

FastAPI is a modern Python web framework for building APIs, built on Starlette (ASGI) and

Express

Express is the most widely deployed Node.js web framework, providing a minimal, unopinionated layer

Django

Django is a high-level Python web framework that takes a "batteries included"

Deno

Deno is a JavaScript and TypeScript runtime created by Ryan Dahl (the creator of Node.

Deno

Deno is a JavaScript and TypeScript runtime created by Ryan Dahl (the creator of Node.

Bun

Bun is a JavaScript runtime, bundler, transpiler, package manager, and test runner built in Zig

Bun

Bun is a JavaScript runtime, bundler, transpiler, package manager, and test runner built in Zig

Push Notifications

Push notifications are short messages that a backend server delivers to a user's

PWA

A Progressive Web App (PWA) is a web application that uses modern browser capabilities to

Jetpack Compose

Jetpack Compose is Google's declarative UI framework for Android, built around Kotlin and

SwiftUI

SwiftUI is Apple's declarative UI framework for building user interfaces across iOS, iPadOS,

Flutter

Flutter is Google's cross-platform UI framework for building applications from a single

React Native

React Native is a cross-platform framework from Meta that lets developers build iOS and

Kotlin

Kotlin is a statically typed, modern programming language developed by JetBrains and adopted by Google

Swift

Swift is Apple's modern programming language, introduced in 2014 as the successor to

Android

Android is Google's open-source mobile operating system, powering the majority of the

iOS

iOS is Apple's mobile operating system, powering the iPhone, iPad (as iPadOS, a

Availability Zone

An availability zone (AZ) is an isolated data centre within a cloud region. AZs in

Region

A region in cloud computing is a geographic area in which a cloud provider operates

EC2

Amazon EC2 (Elastic Compute Cloud) is AWS's primary virtual machine service. EC2 provisions

Lambda

AWS Lambda is Amazon's serverless function-as-a-service (FaaS). It runs short-

S3

Amazon S3 (Simple Storage Service) is AWS's object storage service. It stores arbitrary

Redis Cluster

Redis Cluster is Redis's native sharding mode. A cluster of Redis nodes partitions

Valkey

Valkey is an open-source, BSD-licensed fork of Redis created in 2024 after Redis

In-memory Database

An in-memory database keeps its primary dataset in RAM rather than on disk, trading

pgvector

pgvector is the popular PostgreSQL extension that adds a vector column type, distance operators, and

PostGIS

PostGIS is the geospatial extension for PostgreSQL. It adds geometry and geography data types, hundreds

Replication

Database replication is the practice of keeping multiple copies of the same data on different

Sharding

Sharding is the practice of horizontally partitioning a dataset across multiple database instances so each

Replica Set

A replica set is MongoDB's name for a group of database nodes that

Aggregation Pipeline

The Aggregation Pipeline is MongoDB's framework for transforming and combining documents through a

MongoDB

MongoDB is an open-source document database that stores data as BSON documents grouped into

Redis

Redis (Remote Dictionary Server) is an in-memory data store that holds its dataset in

AWS

Amazon Web Services (AWS) is Amazon's cloud computing platform, comprising more than two

BSON

BSON (Binary JSON) is the binary-encoded serialization format MongoDB uses to store and transmit

Document Database

A document database stores data as self-contained documents (typically JSON or BSON) grouped into

NoSQL

NoSQL is an umbrella term for databases that depart from the strict relational, SQL-based,

OLTP

OLTP (Online Transaction Processing) describes the class of database workloads characterised by many short-lived,

MVCC

Multi-Version Concurrency Control (MVCC) is a concurrency mechanism in which writers do not block

ACID

ACID is the set of guarantees a database transaction provides: Atomicity, Consistency, Isolation, Durability. ACID

MySQL

MySQL is one of the most widely deployed open-source relational databases, especially common in

SQL

SQL (Structured Query Language) is the declarative language for defining, querying, and manipulating relational databases.

Pub/Sub

Pub/Sub (Publish-Subscribe) is a messaging pattern in which producers publish messages to a

Service Mesh

A service mesh is an infrastructure layer that handles service-to-service communication for a

Helm

Helm is the package manager for Kubernetes. It packages a set of Kubernetes manifests into

Container Runtime

A container runtime is the software component that actually creates and runs containers from an

Image Layer

An image layer is one immutable filesystem diff that, when stacked with the layers above

Podman

Podman is an open-source container engine compatible with the Docker CLI but architected without

Docker Compose

Docker Compose is a tool for defining and running multi-container applications on a single

BuildKit

BuildKit is the modern build backend for Docker and the OCI ecosystem. It replaces the

OCI

The Open Container Initiative (OCI) is an open governance body, hosted by the Linux Foundation,

containerd

containerd is an industry-standard container runtime daemon that manages the complete container lifecycle on

Serverless

Serverless is a cloud execution model in which the provider runs and scales the underlying

Cloud Computing

Cloud computing is the model of delivering compute, storage, networking, and software as on-demand

CAP Theorem

The CAP theorem states that a distributed data store cannot simultaneously provide all three of:

Eventual Consistency

Eventual consistency is the property that, given enough time without new updates, all replicas of

Consensus

Consensus is the problem of getting a set of distributed processes to agree on a

Saga

A Saga is a pattern for executing a business transaction that spans multiple services or

Event-Driven Architecture

Event-Driven Architecture (EDA) is a style in which services communicate by publishing and subscribing

Modular Monolith

A modular monolith is a single-deployable application built with strict internal module boundaries: clear

Monolith

A monolith is an application packaged and deployed as a single unit: one codebase, one

Pipeline

A pipeline is the automated sequence of stages a code change passes through on its

Feature Flag

A feature flag (also called a feature toggle) is a runtime switch that turns a

Canary Deployment

Canary Deployment is a release strategy that routes a small fraction of traffic to a

Blue-Green Deployment

Blue-Green Deployment is a release strategy that maintains two identical production environments and switches

ArgoCD

ArgoCD is an open-source declarative continuous-delivery tool for Kubernetes that runs inside the

GitOps

GitOps is an operational pattern in which the desired state of infrastructure and applications is

SLI

A Service Level Indicator (SLI) is a measurement of how well a service is performing

SLO

A Service Level Objective (SLO) is an internal target for a service's reliability,

Grafana

Grafana is an open-source visualisation and dashboarding platform for time-series and observability data.

Prometheus

Prometheus is an open-source time-series database and monitoring system that scrapes metrics from

OpenTelemetry

OpenTelemetry (OTel) is the CNCF standard for instrumenting applications to produce telemetry: traces, metrics, and

Distributed Tracing

Distributed tracing captures the path of a single request as it travels through multiple services,

Metrics

Metrics are numerical measurements aggregated over time, used for dashboards, alerting, and capacity planning. Where

Logging

Logging is the practice of emitting timestamped records of events from running software so operators

Cache Stampede

A cache stampede (or thundering herd) is the failure mode where many concurrent requests for

TTL

TTL (Time To Live) is the duration for which a cached value, DNS record, or

Memcached

Memcached is an open-source, high-performance, distributed in-memory key-value cache, originally designed

Eviction Policy

An eviction policy is the rule a cache uses to decide which entry to remove

CDN

A Content Delivery Network (CDN) is a distributed network of edge servers that cache and

Webhook

A webhook is an HTTP callback that one system sends to another to notify it

API Gateway

An API Gateway is a server that sits in front of a collection of backend

Idempotency

Idempotency is the property that repeating an operation produces the same outcome as performing it

Pagination

Pagination is the API pattern for splitting a large collection into smaller pages so clients

JSON

JSON (JavaScript Object Notation) is a lightweight, text-based data interchange format. It represents data

OpenAPI

OpenAPI (formerly Swagger) is a specification for describing HTTP APIs in a machine-readable format,

HATEOAS

HATEOAS (Hypermedia As The Engine Of Application State) is the principle in Fielding's

gRPC

gRPC is a high-performance RPC framework developed at Google, using HTTP/2 as the

GraphQL

GraphQL is an API query language and runtime in which clients request exactly the fields

HTTP

HTTP (Hypertext Transfer Protocol) is the application-layer protocol the web runs on. It defines

IAM

Identity and Access Management (IAM) is the practice and tooling for defining who can do

Authorization Server

An authorization server is the OAuth 2.0 component that authenticates the resource owner, obtains

Bearer Token

A bearer token is a credential that grants the holder access to a resource simply

JWE

JSON Web Encryption (JWE) is the encryption counterpart to JWS. Where JWS proves integrity and

JWS

JSON Web Signature (JWS) is the cryptographic signing mechanism behind JWT. It defines how to

Refresh Token

A refresh token is a long-lived credential issued alongside a short-lived access token,

Session

A session is the server-side state that represents an authenticated user across multiple requests.

SAML

SAML (Security Assertion Markup Language) is an XML-based standard for exchanging authentication and authorization

PKCE

PKCE (Proof Key for Code Exchange), pronounced "pixy", is an extension to the

OIDC (OpenID Connect)

OpenID Connect (OIDC) is an authentication layer built on top of OAuth 2.0. Where

RAG

Retrieval-Augmented Generation (RAG) is a technique for letting a large language model answer using

AI Agents

An AI agent is a system in which an LLM is given a goal and

Context Window

The context window is the maximum amount of text an LLM can process in a

Hallucination

Hallucination is the term for an LLM output that sounds confident but is unsupported by

Fine-tuning

Fine-tuning is the process of taking a pretrained model and continuing to train it

Reranker

A reranker is a model that takes an initial set of retrieved candidates and re-

Chunking

Chunking is the process of splitting documents into smaller passages before embedding them for retrieval.

Vector Database

A vector database is a storage system optimised for similarity search over high-dimensional vectors,

Embeddings

Embeddings are dense vector representations of text, images, audio, or other data, learned so that

Distributed Systems

A distributed system is a set of independent computers that coordinate over a network to

JWT

A JSON Web Token (JWT) is a compact, URL-safe token format that carries a

Caching

Caching stores the result of an expensive computation or remote call in a fast, nearby

Observability

Observability is the property of a system whose internal state can be inferred from its

CI/CD

CI/CD stands for Continuous Integration and Continuous Delivery (or Continuous Deployment). Together they describe

OAuth 2.0

OAuth 2.0 is an authorization framework that lets an application access resources on behalf

Microservices

Microservices is an architectural style in which a single application is built as a collection

PostgreSQL

PostgreSQL (often just "Postgres") is an open-source relational database management system. It

REST API

REST (Representational State Transfer) is an architectural style for building networked APIs in which resources

Kubernetes

Kubernetes (often abbreviated K8s) is an open-source container orchestration platform that treats a cluster

Docker

Docker is a toolchain for packaging and running Linux containers. It wraps an application together

Subscribe to Sahil's Playbook

Clear thinking on product, engineering, and building at scale. No noise. One email when there's something worth sharing.
[email protected]
Subscribe
Mastodon