Developer Glossary
200+ programming and software engineering terms explained in plain English. Practical definitions from a developer perspective — not Wikipedia.
Web Concepts
API
An API is a set of rules that lets different software applications talk to each other.
CDN
A CDN is a network of servers distributed worldwide that caches and delivers content from locations geographically close to users.
CORS
CORS is a browser security mechanism that controls which websites can make requests to your API.
DNS
DNS is the internet's phone book — it translates human-readable domain names (google.com) into IP addresses (142.250.80.46) that computers use to find each other.
DOM
The DOM is a tree-structured representation of an HTML document that JavaScript can read and modify.
GraphQL
GraphQL is a query language for APIs that lets clients request exactly the data they need in a single request.
gRPC
gRPC is a high-performance RPC framework by Google that uses Protocol Buffers for serialization and HTTP/2 for transport.
HTTP
HTTP is the protocol that powers the web.
Hydration
Hydration is the process where JavaScript attaches event handlers and interactivity to server-rendered HTML.
Jamstack
Jamstack is a web architecture pattern where sites are pre-rendered at build time (SSG), served from a CDN, and enhanced with JavaScript and APIs.
JWT
A JWT is a compact, self-contained token used for authentication and information exchange.
PWA
A PWA is a web application that uses modern browser APIs to deliver app-like experiences — offline support, push notifications, and home screen installation — without requiring app store distribution..
REST API
A REST API is an architectural style for building web APIs using standard HTTP methods (GET, POST, PUT, DELETE) and URLs to represent resources.
SPA
A SPA is a web application that loads a single HTML page and dynamically updates content using JavaScript, without full page reloads.
SSG
SSG builds all HTML pages at compile time rather than on each request.
SSR
SSR is a technique where the server generates the full HTML for a page on each request, rather than sending an empty page for JavaScript to fill in.
Web Components
Web Components are a set of browser-native APIs (Custom Elements, Shadow DOM, HTML Templates) that let you create reusable, encapsulated UI components without a framework like React or Vue..
Web Vitals
Core Web Vitals are Google's metrics for measuring user experience on websites: LCP (loading speed), INP (interactivity), and CLS (visual stability).
Webhook
A webhook is an HTTP callback that automatically sends data to your server when an event occurs in another system.
WebSocket
WebSocket is a communication protocol that provides full-duplex, persistent connections between client and server.
AI & Machine Learning
AI Agent
An AI agent is a system that uses an LLM to autonomously plan, reason, and take actions to accomplish goals.
Attention Mechanism
The attention mechanism lets neural networks focus on the most relevant parts of input data when producing each output element.
ChatGPT
ChatGPT is an AI chatbot by OpenAI that uses large language models (GPT-4, GPT-4o) to generate human-like text responses.
Computer Vision
Computer vision is the field of AI that enables machines to interpret and understand visual data — images and videos.
Deep Learning
Deep learning is a subset of machine learning that uses neural networks with many layers (hence 'deep') to learn complex patterns from large amounts of data.
Diffusion Model
A diffusion model is a type of generative AI that creates images by learning to reverse a noise-addition process.
Embeddings
Embeddings are numerical representations (vectors) that capture the meaning of text, images, or other data.
Fine-Tuning
Fine-tuning takes a pre-trained AI model and further trains it on your specific dataset to customize its behavior.
Function Calling
Function calling lets LLMs invoke external functions or APIs based on conversation context.
Generative AI
Generative AI refers to AI systems that create new content — text, images, code, music, and video — rather than just analyzing or classifying existing data.
Hallucination
An AI hallucination occurs when a language model generates information that sounds confident and plausible but is factually incorrect or entirely fabricated.
Inference
Inference is the process of running a trained AI model to make predictions or generate outputs on new data.
LLM
An LLM is a neural network trained on massive text datasets to understand and generate human language.
Machine Learning
Machine learning is a branch of AI where systems learn patterns from data instead of being explicitly programmed.
MCP
MCP (Model Context Protocol) is an open standard by Anthropic that lets AI agents connect to external tools, data sources, and services through a unified protocol.
Model Training
Model training is the process of teaching a machine learning model to make accurate predictions by feeding it data and adjusting its internal parameters (weights) to minimize errors.
Neural Network
A neural network is a computing system inspired by the human brain, consisting of layers of interconnected nodes (neurons) that process data.
NLP
NLP is the field of AI focused on enabling computers to understand, interpret, and generate human language.
Prompt Engineering
Prompt engineering is the practice of crafting inputs to LLMs to get better outputs.
RAG
RAG is a technique that enhances LLM responses by retrieving relevant documents from your data before generating an answer.
Reinforcement Learning
Reinforcement learning is a type of machine learning where an agent learns by interacting with an environment, receiving rewards for good actions and penalties for bad ones.
Token
In AI and NLP, a token is a chunk of text that a language model processes as a single unit.
Transformer
The Transformer is the neural network architecture behind GPT, BERT, Claude, and virtually every modern LLM.
Vector Database
A vector database stores and searches high-dimensional vectors (embeddings) generated by AI models.
Vibe Coding
Vibe coding is a development style where you describe what you want in natural language and let an AI coding assistant (Cursor, Claude Code, GitHub Copilot) write the actual code.
DevOps & Cloud
Blue-Green Deployment
Blue-green deployment runs two identical production environments: Blue (current) and Green (new version).
Canary Deployment
Canary deployment gradually shifts production traffic from the old version to the new version — starting with a small percentage (1-5%) and increasing as confidence grows.
Chaos Engineering
Chaos engineering deliberately introduces failures into production systems to test resilience.
CI/CD
CI/CD automates the process of testing and deploying code.
Cloud Native
Cloud native is an approach to building applications that fully exploits cloud computing advantages — containers, microservices, serverless functions, and managed services.
Container
A container is a lightweight, standalone package that includes everything needed to run a piece of software — code, runtime, libraries, and system tools.
Container Orchestration
Container orchestration automates the deployment, scaling, networking, and management of containerized applications across multiple servers.
DevOps
DevOps is a set of practices that combines software development (Dev) and IT operations (Ops) to shorten the development lifecycle and deliver high-quality software continuously.
Edge Computing
Edge computing processes data closer to users — at CDN edge locations, IoT devices, or regional data centers — rather than in a central cloud.
GitOps
GitOps uses Git as the single source of truth for both application code and infrastructure configuration.
Infrastructure as Code
Infrastructure as Code (IaC) is managing cloud infrastructure through configuration files rather than manual setup.
Load Balancer
A load balancer distributes incoming network traffic across multiple servers to ensure no single server gets overwhelmed.
Monorepo
A monorepo is a single Git repository containing multiple projects, packages, or services that may be independently deployed.
Observability
Observability is the ability to understand a system's internal state from its external outputs — logs, metrics, and traces.
Reverse Proxy
A reverse proxy sits between clients and backend servers, forwarding requests to the appropriate server and returning the response.
Serverless
Serverless computing lets you run code without managing servers.
Service Mesh
A service mesh is an infrastructure layer that manages service-to-service communication in microservices architectures.
SRE
SRE is a discipline that applies software engineering principles to infrastructure and operations.
Twelve-Factor App
The Twelve-Factor App is a methodology for building modern, cloud-native applications that are portable, scalable, and maintainable.
YAML
YAML is a human-readable data serialization format used extensively in DevOps for configuration files.
Programming Languages
C
C is one of the oldest and most influential programming languages, created in 1972.
C++
C++ is a high-performance, statically typed programming language used for systems programming, game engines, embedded systems, and performance-critical applications.
Dart
Dart is a client-optimized programming language created by Google, primarily used with the Flutter framework for building cross-platform mobile, web, and desktop apps from a single codebase.
Go
Go (Golang) is a statically typed, compiled language designed at Google for simplicity, fast compilation, and built-in concurrency.
Java
Java is a statically typed, object-oriented programming language that runs on the Java Virtual Machine (JVM).
JavaScript
JavaScript is the programming language of the web.
Kotlin
Kotlin is a modern, concise programming language that runs on the JVM and is Google's preferred language for Android development.
PHP
PHP is a server-side scripting language that powers over 75% of websites, including WordPress, Facebook (originally), and Wikipedia.
Python
Python is a high-level, interpreted programming language known for its readable syntax and vast ecosystem.
R
R is a programming language designed specifically for statistical computing and data visualization.
Ruby
Ruby is a dynamic, object-oriented language designed for developer happiness.
Rust
Rust is a systems programming language that guarantees memory safety without a garbage collector.
Scala
Scala combines object-oriented and functional programming on the JVM.
Swift
Swift is Apple's modern programming language for iOS, macOS, watchOS, and tvOS development.
TypeScript
TypeScript is JavaScript with static types.
Frameworks & Tools
Angular
Angular is a full-featured, opinionated framework by Google for building large-scale web applications.
Astro
Astro is a web framework for building content-focused websites (blogs, docs, marketing sites) with zero JavaScript by default.
Bun
Bun is a fast, all-in-one JavaScript runtime that includes a package manager, bundler, test runner, and transpiler.
Django
Django is Python's 'batteries-included' web framework.
Docker
Docker is a platform for building, running, and distributing containerized applications.
Drizzle ORM
Drizzle is a TypeScript ORM that feels like writing SQL with full type safety.
Express.js
Express.js is the most popular Node.js web framework.
FastAPI
FastAPI is a modern Python web framework for building APIs.
Flask
Flask is a lightweight Python web microframework that gives you the basics (routing, templates, sessions) and lets you choose everything else.
Flutter
Flutter is Google's open-source toolkit for building natively compiled applications for mobile (iOS and Android), web, and desktop from a single Dart codebase.
Git
Git is the distributed version control system used by virtually every software project.
htmx
htmx lets you build dynamic web interfaces using HTML attributes instead of JavaScript.
Jest
Jest is a JavaScript testing framework by Meta that focuses on simplicity.
Kubernetes
Kubernetes (K8s) is an open-source system for automating the deployment, scaling, and management of containerized applications.
Laravel
Laravel is the most popular PHP framework, known for elegant syntax, powerful ORM (Eloquent), and a rich ecosystem.
Next.js
Next.js is a full-stack React framework by Vercel that adds server-side rendering, static generation, API routes, and file-based routing to React.
Node.js
Node.js is a JavaScript runtime that lets you run JavaScript outside the browser — on servers, command lines, and IoT devices.
npm
npm is the default package manager for Node.js and the world's largest software registry with over 2 million packages.
Playwright
Playwright is a browser automation and end-to-end testing framework by Microsoft.
Prisma
Prisma is a TypeScript-first ORM that generates a type-safe database client from your schema.
React
React is a JavaScript library for building user interfaces, created by Meta (Facebook).
React Native
React Native lets you build native mobile apps for iOS and Android using React and JavaScript.
Spring Boot
Spring Boot is the dominant Java web framework for building production-ready applications.
Storybook
Storybook is a tool for building and testing UI components in isolation.
Svelte
Svelte is a UI framework that compiles components into efficient vanilla JavaScript at build time, eliminating the need for a virtual DOM or runtime framework.
Tailwind CSS
Tailwind CSS is a utility-first CSS framework that lets you build designs by composing small, single-purpose CSS classes directly in your HTML.
Terraform
Terraform is an infrastructure-as-code tool that lets you define cloud resources (servers, databases, networks) in declarative configuration files.
Vite
Vite is a next-generation frontend build tool that provides instant hot module replacement and fast production builds.
Vue
Vue.js is a progressive JavaScript framework for building user interfaces.
Webpack
Webpack is a module bundler that transforms JavaScript, CSS, images, and other assets into optimized bundles for the browser.
Data & Databases
ACID
ACID stands for Atomicity, Consistency, Isolation, and Durability — four properties that guarantee database transactions are processed reliably.
Caching
Caching stores frequently accessed data in fast storage (memory) to avoid expensive recomputation or database queries.
CAP Theorem
The CAP theorem states that a distributed database can guarantee only two of three properties: Consistency (every read gets the latest write), Availability (every request gets a response), and Partition tolerance (the system works despite network failures).
Data Modeling
Data modeling is the process of designing how data is structured, stored, and related in a database.
Data Pipeline
A data pipeline is an automated system that moves and transforms data from sources to destinations on a schedule or in real time.
Database Indexing
A database index is a data structure (usually a B-tree) that speeds up data retrieval by creating a quick lookup path to rows.
Database Normalization
Database normalization organizes relational database tables to reduce data redundancy and prevent anomalies.
Database Replication
Database replication copies data from a primary database to one or more replicas in real time.
ETL
ETL (Extract, Transform, Load) is the process of pulling data from source systems, transforming it into a usable format, and loading it into a data warehouse or database.
Eventual Consistency
Eventual consistency is a model where distributed database replicas may temporarily serve stale data but will converge to the same state given enough time.
Firebase
Firebase is Google's app development platform providing a real-time NoSQL database (Firestore), authentication, hosting, cloud functions, analytics, and push notifications.
Message Queue
A message queue is middleware that enables asynchronous communication between services.
MongoDB
MongoDB is a document database that stores data as flexible JSON-like documents (BSON).
NoSQL
NoSQL (Not Only SQL) databases store data without the rigid table structure of relational databases.
ORM
An ORM (Object-Relational Mapping) maps database tables to programming language objects, letting you query and manipulate data using your language instead of raw SQL.
PostgreSQL
PostgreSQL (Postgres) is the most advanced open-source relational database.
Redis
Redis is an in-memory data store used for caching, session management, real-time leaderboards, message queues, and pub/sub messaging.
Sharding
Sharding splits a database into smaller pieces (shards) distributed across multiple servers.
SQL
SQL (Structured Query Language) is the standard language for managing and querying relational databases.
Supabase
Supabase is an open-source Firebase alternative built on PostgreSQL.
Security & Auth
API Key
An API key is a unique string that identifies and authenticates an application making API requests.
Authentication
Authentication verifies who a user is — confirming their identity through credentials like passwords, biometrics, or tokens.
Authorization
Authorization determines what an authenticated user is allowed to do — which resources they can access and what actions they can perform.
Content Security Policy
Content Security Policy (CSP) is an HTTP header that tells browsers which resources (scripts, styles, images) are allowed to load on your page.
CSRF
CSRF (Cross-Site Request Forgery) tricks a user's browser into making unwanted requests to a site where they're already authenticated.
Encryption
Encryption transforms readable data (plaintext) into unreadable data (ciphertext) using an algorithm and a key.
Hashing
Hashing converts data of any size into a fixed-length string (hash/digest) using a one-way function.
HTTPS
HTTPS (HTTP Secure) is HTTP encrypted with TLS.
OAuth
OAuth 2.0 is an authorization framework that lets users grant third-party applications limited access to their accounts without sharing passwords.
Passkeys
Passkeys are a passwordless authentication method built on WebAuthn/FIDO2 standards.
Penetration Testing
Penetration testing (pentesting) is authorized simulated attacks on systems to find security vulnerabilities before real attackers do.
Rate Limiting
Rate limiting controls how many requests a client can make to an API within a time window.
RBAC
RBAC (Role-Based Access Control) assigns permissions to roles, then assigns roles to users.
Session Management
Session management tracks a user's authenticated state across multiple HTTP requests.
SQL Injection
SQL injection inserts malicious SQL into application queries through user input.
SSL/TLS
TLS (Transport Layer Security, successor to SSL) encrypts data between a client and server, preventing eavesdropping and tampering.
SSO
Single Sign-On (SSO) lets users authenticate once and access multiple applications without logging in again.
Two-Factor Authentication
Two-factor authentication (2FA) requires two different types of proof to verify identity: something you know (password) and something you have (phone, hardware key) or something you are (fingerprint).
XSS
XSS (Cross-Site Scripting) injects malicious JavaScript into web pages viewed by other users.
Zero Trust
Zero Trust is a security model that assumes no user, device, or network is trusted by default — even inside the corporate firewall.
Software Architecture
API Gateway
An API gateway is a single entry point that sits in front of multiple backend services.
Circuit Breaker
The circuit breaker pattern prevents cascading failures in distributed systems.
Clean Architecture
Clean Architecture organizes code in concentric layers where dependencies point inward: Entities (business rules) → Use Cases (application logic) → Adapters (controllers, gateways) → Frameworks (web, database).
Clean Code
Clean code is code that is easy to read, understand, modify, and test.
CQRS
CQRS separates read and write operations into different models.
Dependency Injection
Dependency injection (DI) provides objects with their dependencies from the outside instead of creating them internally.
Design Patterns
Design patterns are reusable solutions to common software design problems.
Domain-Driven Design
Domain-Driven Design (DDD) is an approach to software design that focuses on modeling the business domain accurately.
Event Sourcing
Event sourcing stores every state change as an immutable event instead of storing current state.
Event-Driven Architecture
Event-driven architecture structures systems around the production, detection, and reaction to events.
Functional Programming
Functional programming (FP) organizes code around pure functions and immutable data.
Hexagonal Architecture
Hexagonal Architecture (also called Ports & Adapters) isolates business logic from external concerns.
Microservices
Microservices architecture structures an application as a collection of small, independent services that communicate over APIs.
Middleware
Middleware is code that runs between receiving a request and sending a response, forming a processing pipeline.
Monolith
A monolithic architecture is a single, unified application where all components — UI, business logic, data access — are part of one codebase and deploy as one unit.
OOP
Object-Oriented Programming (OOP) organizes code around objects — data structures that combine state (fields/properties) and behavior (methods).
Pub/Sub
Publish-Subscribe (pub/sub) is a messaging pattern where publishers send messages to topics (not specific receivers) and subscribers receive messages from topics they're interested in.
Saga Pattern
The Saga pattern manages distributed transactions across multiple microservices.
SOLID Principles
SOLID is five OOP design principles that make software maintainable, flexible, and scalable.
State Management
State management handles how application data (state) is stored, updated, and shared across components.
Mobile Development
Android Development
Android development builds applications for the world's most-used mobile platform using Kotlin (or Java) and the Android SDK.
App Store Optimization
App Store Optimization (ASO) improves an app's visibility in the App Store and Google Play Store search results.
Cross-Platform Development
Cross-platform development builds mobile apps that run on both iOS and Android from a single codebase.
Deep Linking
Deep linking opens a specific page or content within a mobile app instead of just launching the app's home screen.
Hybrid App
A hybrid app is a web application wrapped in a native container, displayed through a WebView.
iOS Development
iOS development is building applications for Apple's iPhone and iPad using Swift (or Objective-C) and Apple's frameworks.
Mobile-First Design
Mobile-first design starts with the smallest screen and progressively enhances for larger screens.
Native App
A native app is built specifically for one platform using its official language and frameworks — Swift/SwiftUI for iOS, Kotlin/Jetpack Compose for Android.
Push Notifications
Push notifications are messages sent from a server to a user's device, appearing even when the app isn't open.
Responsive Design
Responsive design makes web pages render well on all screen sizes — phones, tablets, laptops, desktops — using fluid grids, flexible images, and CSS media queries.
CS Fundamentals
Agile
Agile is a software development methodology that delivers work in short iterations (sprints), embraces changing requirements, and values collaboration over documentation.
Algorithm
An algorithm is a step-by-step procedure for solving a problem or accomplishing a task.
Big O Notation
Big O notation describes how an algorithm's time or space requirements grow as input size increases.
Binary Search
Binary search finds an element in a sorted array by repeatedly halving the search space.
Binary Tree
A binary tree is a tree where each node has at most two children (left and right).
Blockchain
A blockchain is a distributed, immutable ledger where data is stored in linked blocks.
Data Structure
A data structure is a way of organizing and storing data for efficient access and modification.
Dynamic Programming
Dynamic programming (DP) solves complex problems by breaking them into overlapping subproblems and storing their solutions to avoid redundant computation.
Graph Algorithm
Graph algorithms solve problems on data modeled as nodes (vertices) connected by edges.
Hash Table
A hash table maps keys to values using a hash function that converts keys to array indices.
Idempotency
An operation is idempotent if performing it multiple times produces the same result as performing it once.
Linked List
A linked list stores elements as nodes where each node points to the next.
Recursion
Recursion is when a function calls itself to solve a problem by breaking it into smaller subproblems.
Scrum
Scrum is an agile framework for managing software development with defined roles, events, and artifacts.
Sorting Algorithm
Sorting algorithms arrange elements in order (ascending, descending, or by a key).
Stack & Queue
A stack is LIFO (Last In, First Out): the last item added is the first removed — like a stack of plates.
TDD
Test-Driven Development writes tests before writing the code they test.
Tree
A tree is a hierarchical data structure with a root node and child nodes forming parent-child relationships.
Version Control
Version control tracks changes to code over time, enabling collaboration, history, branching, and reverting.
Web3
Web3 refers to a decentralized internet built on blockchain technology, where users own their data and digital assets.