Architecture Glossary

Browse 339 architecture terms defined in plain English, from the cultural dictionary of computing.

339 Architecture Terms

Abstract Class
Abstract Class is a software design or object-modeling concept that shapes how code is organized. It is commonly used for maintainable application architecture...
Abstract Factory Pattern
Abstract Factory Pattern is a software design or object-modeling concept that shapes how code is organized. It is commonly used for maintainable application...
Abstract Method
Abstract Method is a software design or object-modeling concept that shapes how code is organized. It is commonly used for maintainable application...
Adapter
Adapter is a software design or object-modeling concept that shapes how code is organized. It is commonly used for maintainable application architecture and...
Adapter Layer
A small trainable module inserted into a larger pre-trained model for parameter-efficient adaptation. It influences how models are trained, evaluated, or...
Adapter Pattern Detail
Adapter Pattern Detail is a software design or object-modeling concept that shapes how code is organized. It is commonly used for maintainable application...
ADR
ADR, or Architecture Decision Record, is a lightweight document that captures an important architectural decision along with its context, the options...
Aggregate Root
Aggregate Root is a software design or object-modeling concept that shapes how code is organized. It is commonly used for maintainable application architecture...
AI Agent
An AI system that autonomously pursues goals by planning actions, executing tools (code, APIs, web browsing), observing results, and iterating. Unlike simple...
AI Architecture
The overall technical design of an AI system, including models, data flows, inference paths, evaluation loops, storage, orchestration, and operational...
AI Layer
A distinct layer in an application's architecture where AI-related logic is concentrated, such as prompting, retrieval, inference routing, or post-processing....
AI Model Registry
A model architecture concept tied to ai model registry and how modern AI systems represent or process information. It influences how models are trained,...
AI Stack
The combined set of models, data systems, tooling, APIs, orchestration, and infrastructure that make up an AI application or platform. Teams discuss the AI...
AI System
A complete system that uses AI as part of its behavior, including the model and the surrounding data, interfaces, controls, and operational processes. Framing...
API Gateway Pattern
A pattern where a single entry point (the gateway) handles cross-cutting concerns for all backend services: authentication, rate limiting, request routing,...
Application Architecture
The high-level structure of an application, including its major components, data flow, responsibilities, deployment boundaries, and integration points....
Application Event
A meaningful occurrence inside an application, such as a user action, state change, or completed workflow step, that can trigger listeners, logging, or...
Architecture Astronaut
A humorous or critical term for someone who spends more time inventing elaborate abstract architecture than solving concrete problems. The phrase is often used...
Architecture Astronaut Slang
A slang variant of architecture astronaut, referring to someone who spends more energy on abstract system design ideas than on solving concrete delivery...
Architecture Decision
A deliberate technical choice about structure, technologies, boundaries, or tradeoffs that has lasting impact on a system's design and evolution. Architecture...
Architecture Diagram
A visual representation of a system's major components, data flows, boundaries, and dependencies. Good architecture diagrams make relationships and trust...
Architecture Document
A written description of a system's structure, goals, constraints, major components, and rationale for key design choices. Architecture documents provide...
Architecture Pattern
A reusable high-level solution shape for organizing software systems, such as layered architecture, event-driven systems, or CQRS. Architecture patterns help...
Architecture Review
A formal evaluation of a proposed or existing system design to assess correctness, scalability, maintainability, risk, and alignment with engineering...
Architecture Style
A broad category of system organization such as monolithic, service-oriented, microservice, event-driven, or hexagonal architecture. Architecture style...
Architecture Tradeoff
A design compromise where improving one property of a system, such as scalability or simplicity, comes at the cost of another, such as latency, cost, or...
Attack Tree
Attack Tree is a structured threat-modeling method that breaks an attacker goal into prerequisite branches and alternative paths. Security teams use it to...
Attention
The core mechanism of transformer models that allows each token to dynamically attend to (weigh the importance of) every other token in the sequence....
Attention Mechanism
Attention Mechanism is a component in neural networks that allows a model to dynamically focus on the most relevant parts of its input when producing each...
Attention Score
A model architecture concept tied to attention score and how modern AI systems represent or process information. It influences how models are trained,...
Backend Architecture
The structural design of server-side systems, including services, databases, queues, APIs, background workers, and their interactions. Backend architecture...
Backend for Frontend
A pattern where each frontend client (web, mobile, TV) has its own dedicated backend service that aggregates, transforms, and tailors API responses for that...
backpressure
A flow control mechanism where a downstream system signals to an upstream producer to slow down because it cannot process messages fast enough. Without...
Ball of Mud
A disparaging term for a system with tangled structure, weak boundaries, and accumulated complexity that makes change difficult. In software design culture, a...
Base Class
Base Class is a software design or object-modeling concept that shapes how code is organized. It is commonly used for maintainable application architecture and...
Bidirectional Encoder
A model architecture concept tied to bidirectional encoder and how modern AI systems represent or process information. It influences how models are trained,...
Big Ball of Mud
A system with tangled structure, weak boundaries, and accumulated complexity that makes changes unpredictable and costly. In software culture the phrase is a...
blast radius
The scope of impact when a failure, misconfiguration, or security breach occurs — how many users, services, or systems are affected. Good architecture...
Block Chain Everything
A mocking phrase for the habit of proposing blockchain technology for problems that do not genuinely require it. In tech slang, it criticizes solution-first...
Bottom of the Stack
A casual phrase for the lowest layers of a technical stack, such as infrastructure, operating systems, runtimes, or foundational libraries. In engineering...
Bounded Context
A central DDD concept defining an explicit boundary within which a particular domain model applies. The same real-world concept (e.g., 'Customer') can have...
Bulkhead Pattern
Bulkhead Pattern is a software resilience design pattern inspired by the watertight compartments in a ship's hull that prevent a single breach from sinking the...
Business Logic Culture
The shared assumptions and habits a team has about where business rules belong, how clearly they should be expressed, and who is responsible for maintaining...
Cache Invalidation
The process of removing or updating stale cached data when the underlying data changes. Phil Karlton's famous quote: 'There are only two hard things in...
Cache Layer
A distinct caching tier inserted between a data source and its consumers to reduce latency, offload repeated work, or improve throughput. Cache layers may sit...
Caching Layer
A layer in the architecture dedicated to storing and serving cached data between producers and consumers. A caching layer often sits between the application...
Caching Pattern
A recurring approach to caching such as cache-aside, write-through, write-behind, read-through, or refresh-ahead. Different caching patterns make different...
Caching Strategy
The selected combination of cache locations, invalidation rules, TTLs, warming behavior, and fallbacks used to meet performance and consistency goals. Caching...
Capability Model
A design in which access to operations or resources is represented by explicit capabilities or tokens of authority rather than by broad ambient permissions....
Centralized Architecture
A system design in which major control, processing, or data responsibilities are concentrated in one core service or tightly coupled central platform rather...
Chief Architect
A senior title for someone responsible for major architectural direction across products, platforms, or an organization. In practice, the role can range from...
circuit breaker
A design pattern that prevents an application from repeatedly trying to execute an operation that is likely to fail, by 'tripping' after a threshold of...
Circular Dependency
A dependency cycle in which two or more modules, packages, or services depend on each other directly or indirectly. Circular dependencies make systems harder...
Class Diagram
Class Diagram is a software design or object-modeling concept that shapes how code is organized. It is commonly used for maintainable application architecture...
Class Hierarchy
Class Hierarchy is a software design or object-modeling concept that shapes how code is organized. It is commonly used for maintainable application...
Class Method
Class Method is a software design or object-modeling concept that shapes how code is organized. It is commonly used for maintainable application architecture...
Clean Architecture
An architectural pattern (by Robert C. Martin) with concentric layers where dependencies point inward: Entities (business rules) → Use Cases (application...
Client
A piece of hardware or software that requests services or resources from a server. In client-server architecture, the client initiates communication and...
Cloud Architecture
The design of how an application or platform uses cloud services, including compute models, networking, storage, identity, scaling, and operational boundaries....
Cloud Infrastructure
The compute, storage, networking, identity, and platform services that form the operational foundation of a system running in the cloud. Cloud infrastructure...
Code Architecture
The structural organization of a codebase, including module boundaries, layering, dependency direction, and the distribution of responsibilities across files...
Code Astronaut
A developer who drifts toward impressive abstraction and theoretical system design instead of grounded delivery. In engineering slang, code astronaut is a...
Code Castle
A system or team structure that feels walled off, self-contained, and difficult for outsiders to enter or influence. In engineering slang, code castle can...
Code Dependency
A relationship in which one part of the code relies on another module, library, or component to compile or behave correctly. Managing code dependencies...
Code Design
The way code is structured internally, including abstraction choices, interfaces, responsibilities, data flow, and error handling. Code design sits below...
Code Design Culture
The norms a team has around thinking about structure, interfaces, modularity, and design tradeoffs before and during implementation. Strong code design culture...
Code Family
A casual way to refer to a group of related modules, services, or tools that share lineage, patterns, or ownership. In engineering slang, it emphasizes...
Code Framework
A framework or structural foundation that provides conventions, reusable components, and lifecycle hooks for building software. A code framework shapes how...
Code Iceberg
A feature or code path that looks small on the surface but hides much larger complexity underneath. In engineering slang, a code iceberg is a warning that...
Code Mirage
Something in the codebase that looks simple, clean, or complete from a distance but turns out to be much less real on close inspection. In engineering slang,...
Code Module
A self-contained unit of code organization, usually with a defined interface and a coherent set of responsibilities. Modules help manage complexity by creating...
Code Organization
The way files, modules, folders, and responsibilities are arranged within a codebase. Good code organization makes dependencies and ownership clearer, while...
Code Reef
A cluster of hard-to-see technical obstacles just below the surface of a system. In engineering slang, a code reef is dangerous because things look navigable...
Code Structure
The arrangement of code into files, functions, classes, modules, and layers, along with the dependencies between them. Clear code structure makes it easier to...
Cognitive Architecture
A high-level design intended to model or support aspects of cognition such as memory, planning, perception, and decision-making in a unified system. The term...
column store
A database storage architecture that stores data by column rather than by row, enabling dramatic compression ratios and query performance for analytical...
Command Bus
Command Bus is a software design or object-modeling concept that shapes how code is organized. It is commonly used for maintainable application architecture...
Command Dispatcher
A component that routes incoming commands to the correct handler based on type, name, or metadata. Command dispatchers are common in CQRS systems, CLIs,...
Command Handler
A unit of code responsible for executing the logic associated with a specific command or action request. Command handlers are often used to keep intent,...
Command Pattern
A Command Pattern is a development concept used to shape how software is built, executed, or maintained in real systems. Developers rely on it to make code...
Command Query Separation
A Command Query Separation is a development concept used to shape how software is built, executed, or maintained in real systems. Developers rely on it to make...
Communication Bus
A shared channel or infrastructure used for exchanging messages, commands, or events between components in a system. Communication buses are common in...
Communication Layer
The part of a system responsible for sending, receiving, or abstracting communication between components, services, or clients. A communication layer typically...
Component Architecture
A Component Architecture is a development concept used to shape how software is built, executed, or maintained in real systems. Developers rely on it to make...
Component Bus
A shared messaging or event mechanism used for communication between components inside an application or framework. Component buses are useful when many UI or...
Component Composition
A Component Composition is a development concept used to shape how software is built, executed, or maintained in real systems. Developers rely on it to make...
Component Design
The process of defining a component's responsibilities, interface, inputs, outputs, and internal boundaries so it fits cleanly into a larger system. Strong...
Component Model
The conceptual system that defines what components are, how they are structured, how they compose, and how they manage state, lifecycle, and communication....
Composite Pattern
A Composite Pattern is a development concept used to shape how software is built, executed, or maintained in real systems. Developers rely on it to make code...
Composition
A Composition is a development concept used to shape how software is built, executed, or maintained in real systems. Developers rely on it to make code easier...
Composition Root
A Composition Root is a development concept used to shape how software is built, executed, or maintained in real systems. Developers rely on it to make code...
Config Driven Development
A development style where product behavior is heavily controlled through configuration files, flags, schemas, or metadata rather than hard-coded logic. It can...
Consistency Model
A model architecture concept tied to consistency model and how modern AI systems represent or process information. It influences how models are trained,...
Context Window
The maximum number of tokens (input + output) that a language model can process in a single interaction. Determines how much text the model can 'see' at once....
Control Plane
The part of a system responsible for configuration, orchestration, policy decisions, and coordination, as opposed to the data plane that handles live traffic...
Convolutional Neural Network
A model architecture concept tied to convolutional neural network and how modern AI systems represent or process information. It influences how models are...
Conway's Law
The observation that organizations design systems that mirror their communication structures. A company with four teams will produce a four-component...
Conway's Law
'Organizations which design systems are constrained to produce designs which are copies of the communication structures of these organizations.' In other...
Core
The central or most essential part of a codebase, library, service, or processor around which other pieces are built. Calling something core usually means it...
Core Component
A foundational component that other parts of an application or platform rely on heavily for shared behavior or structure. Core components are usually harder to...
Core Framework
The main framework layer that defines the primary conventions, abstractions, and extension points of an application or platform. A core framework often handles...
Core Library
A fundamental shared library that exposes common utilities, domain logic, or primitives used broadly across a codebase. Core libraries are often stabilized...
Core Module
A central module that contains foundational logic, interfaces, or services required by the rest of an application. Core modules typically define stable...
Core Service
A service that plays a central role in a platform and is widely depended on by other services, jobs, or customer-facing features. Core services usually require...
CPU Architecture
A CPU Architecture is a development concept used to shape how software is built, executed, or maintained in real systems. Developers rely on it to make code...
CQRS
Command Query Responsibility Segregation — separating the read model (queries/views) from the write model (commands/mutations). Commands validate and modify...
CQRS
Command Query Responsibility Segregation — separating read and write operations into different models. Writes go to one optimized store; reads come from...
Cross-Module
Describing behavior, concerns, or dependencies that span more than one module rather than staying isolated inside a single unit. Cross-module issues often need...
Cross-Service
Describing workflows, dependencies, or changes that involve multiple services working together instead of remaining inside one service boundary. Cross-service...
Crypto Agility
Crypto Agility is the ability to replace algorithms, key sizes, or protocol settings without redesigning the whole system. Security teams use it to enforce...
CSS Architecture
The organizational approach used to structure stylesheets, naming conventions, component boundaries, and style reuse in a frontend codebase. Good CSS...
Current State
The actual present condition of a system, object, workflow, or environment at a given moment. Engineers often compare current state with desired state to...
Custom Event
An event defined by an application rather than built into the underlying platform, used to signal domain-specific actions or state changes. Custom events help...
Custom Middleware
Middleware added by an application team to intercept and process requests, responses, or events in ways not provided by the framework out of the box. Custom...
Custom Plugin
A plugin developed specifically for a given application, workflow, or team rather than distributed as a general-purpose extension. Custom plugins let systems...
Dark Debt
Hidden technical debt in machine learning systems that's harder to detect than traditional code debt. Includes training-serving skew, undeclared data...
Data Access Layer
A Data Access Layer is a development concept used to shape how software is built, executed, or maintained in real systems. Developers rely on it to make code...
Data Access Object
A Data Access Object is a development concept used to shape how software is built, executed, or maintained in real systems. Developers rely on it to make code...
Data Binding
A Data Binding is a development concept used to shape how software is built, executed, or maintained in real systems. Developers rely on it to make code easier...
Data Flow
A Data Flow is a development concept used to shape how software is built, executed, or maintained in real systems. Developers rely on it to make code easier to...
Data Flow Diagram
A diagram that shows how data moves between users, services, processes, stores, and trust boundaries within a system. Security teams use data flow diagrams...
data gravity
The principle that large datasets attract applications, services, and additional data to their location, much like physical mass attracts objects through...
Data Lakehouse
An architecture that combines the cheap storage and flexibility of data lakes with the ACID transactions, schema enforcement, and performance of data...
Data Layer
A Data Layer is a development concept used to shape how software is built, executed, or maintained in real systems. Developers rely on it to make code easier...
Data Loader
A Data Loader is a development concept used to shape how software is built, executed, or maintained in real systems. Developers rely on it to make code easier...
Data Mapper
A Data Mapper is a development concept used to shape how software is built, executed, or maintained in real systems. Developers rely on it to make code easier...
data mesh
A decentralized data architecture that treats data as a product owned by domain teams rather than a centralized data platform team. Each domain publishes its...
Data Model
A Data Model is a development concept used to shape how software is built, executed, or maintained in real systems. Developers rely on it to make code easier...
Data Oriented Design
A Data Oriented Design is a development concept used to shape how software is built, executed, or maintained in real systems. Developers rely on it to make...
Data Pipeline
A series of automated data processing steps that moves data from sources through transformations to destinations — extract, transform, load (ETL). The plumbing...
Data Race
A Data Race is a development concept used to shape how software is built, executed, or maintained in real systems. Developers rely on it to make code easier to...
Data Serialization
A Data Serialization is a development concept used to shape how software is built, executed, or maintained in real systems. Developers rely on it to make code...
Data Store
A Data Store is a development concept used to shape how software is built, executed, or maintained in real systems. Developers rely on it to make code easier...
Data Transfer Object
A Data Transfer Object is a development concept used to shape how software is built, executed, or maintained in real systems. Developers rely on it to make...
Data Type
A Data Type is a development concept used to shape how software is built, executed, or maintained in real systems. Developers rely on it to make code easier to...
Data Validation
A Data Validation is a development concept used to shape how software is built, executed, or maintained in real systems. Developers rely on it to make code...
Dead End
A technical path, idea, or investigation that turns out not to lead to a usable solution. In engineering slang, dead ends are part of real problem solving, but...
Decentralization
The distribution of control, processing, or data across multiple independent nodes rather than concentrating it in a single authority. Core principle of...
Decoder
A model architecture concept tied to decoder and how modern AI systems represent or process information. It influences how models are trained, evaluated, or...
Decoder-Only Transformer
A transformer architecture that predicts the next token from prior context without using a separate encoder, which is the common design behind many modern...
Defense in Depth
Defense in Depth is a defensive architecture principle that layers multiple independent controls so one failure does not expose everything. Security teams use...
Dense Layer
A model architecture concept tied to dense layer and how modern AI systems represent or process information. It influences how models are trained, evaluated,...
Dense Model
A model in which most or all parameters are active for each forward pass, unlike sparse architectures such as mixture-of-experts where only subsets activate....
Dependency
Dependency in software development is any external package, library, framework, or service that a project requires to function. When your application uses a...
Dependency Graph
A directed graph showing dependencies between modules, packages, services, or build targets. Nodes represent components and edges represent 'depends on'...
Design Document
A Design Document is a development concept used to shape how software is built, executed, or maintained in real systems. Developers rely on it to make code...
Design Pattern
A design pattern is a reusable, named solution to a commonly recurring problem in software design. Patterns are not finished code but rather templates that...
Diagram Culture
A culture in which diagrams are a primary way people explain systems, plan work, and align across teams. Diagram culture can improve shared understanding,...
Differential Transformer
A transformer variant that changes how attention or state updates are computed to improve efficiency or robustness. It influences how models are trained,...
Diffusion Model
A generative AI model that learns to create data by reversing a gradual noising process. Starting from pure noise, it iteratively removes noise to produce...
Distributed Systems
A collection of independent computers that appears to its users as a single coherent system. The fundamental challenge: partial failures, network partitions,...
Document Object Model
A Document Object Model is a development concept used to shape how software is built, executed, or maintained in real systems. Developers rely on it to make...
Domain
In domain-driven design, the subject area or business problem a software system addresses. In networking, a human-readable address (e.g., example.com) that...
Domain-Driven Design
A software design approach that focuses on modeling the core business domain through close collaboration with domain experts. Key concepts: bounded contexts...
Domain Event
A Domain Event is a development concept used to shape how software is built, executed, or maintained in real systems. Developers rely on it to make code easier...
Domain Model
A Domain Model is a development concept used to shape how software is built, executed, or maintained in real systems. Developers rely on it to make code easier...
Dual Encoder
A retrieval architecture that encodes queries and documents separately for fast vector similarity search. It influences how models are trained, evaluated, or...
Dynamic Proxy
A Dynamic Proxy is a development concept used to shape how software is built, executed, or maintained in real systems. Developers rely on it to make code...
Elm Architecture
An Elm Architecture is a development concept used to shape how software is built, executed, or maintained in real systems. Developers rely on it to make code...
Encoder
A model architecture concept tied to encoder and how modern AI systems represent or process information. It influences how models are trained, evaluated, or...
Encoder-Decoder
A model architecture concept tied to encoder-decoder and how modern AI systems represent or process information. It influences how models are trained,...
Enterprise Architecture
The high-level structure and governance of systems, processes, and technology across a large organization. In workplace culture enterprise architecture can be...
Event
A signal that something has occurred in a system — a user click, a message arrival, a state change. Event-driven architectures decouple producers from...
Event Bus
An Event Bus is a development concept used to shape how software is built, executed, or maintained in real systems. Developers rely on it to make code easier...
Event Delegate
An Event Delegate is a development concept used to shape how software is built, executed, or maintained in real systems. Developers rely on it to make code...
Event Dispatcher
An Event Dispatcher is a development concept used to shape how software is built, executed, or maintained in real systems. Developers rely on it to make code...
Event-Driven Architecture
A design paradigm where the flow of the program is determined by events — user actions, sensor outputs, messages from other services. Components publish events...
Event Emitter
An Event Emitter is a development concept used to shape how software is built, executed, or maintained in real systems. Developers rely on it to make code...
EventEmitter
An EventEmitter is a development concept used to shape how software is built, executed, or maintained in real systems. Developers rely on it to make code...
Event Handler
An Event Handler is a development concept used to shape how software is built, executed, or maintained in real systems. Developers rely on it to make code...
Event Queue
An Event Queue is a development concept used to shape how software is built, executed, or maintained in real systems. Developers rely on it to make code easier...
Event Sourcing
An architectural pattern where state changes are stored as an immutable sequence of events rather than just the current state. The current state is derived by...
Event Store
An Event Store is a development concept used to shape how software is built, executed, or maintained in real systems. Developers rely on it to make code easier...
Event Stream
An Event Stream is a development concept used to shape how software is built, executed, or maintained in real systems. Developers rely on it to make code...
Evolutionary Architecture
An architectural approach that expects systems to change over time and therefore emphasizes flexibility, feedback, and incremental adaptation instead of fixed...
Exception Driven Development
A mocking phrase for building systems by layering one special-case exception after another instead of improving the underlying model. In engineering slang,...
Facade Pattern
A Facade Pattern is a development concept used to shape how software is built, executed, or maintained in real systems. Developers rely on it to make code...
Feed-Forward Network
A model architecture concept tied to feed-forward network and how modern AI systems represent or process information. It influences how models are trained,...
Fitness Function
A test or evaluation criterion used to determine whether a system, product, or strategy is moving in the desired direction. In startup and architecture...
Flux Architecture
A Flux Architecture is a development concept used to shape how software is built, executed, or maintained in real systems. Developers rely on it to make code...
Framework
A framework is a reusable software platform that provides foundational structure, conventions, and built-in functionality for building applications within a...
Frameworks vs Libraries
A Frameworks vs Libraries is a development concept used to shape how software is built, executed, or maintained in real systems. Developers rely on it to make...
Frontend Build
A Frontend Build is a development concept used to shape how software is built, executed, or maintained in real systems. Developers rely on it to make code...
Frontend Framework
A Frontend Framework is a development concept used to shape how software is built, executed, or maintained in real systems. Developers rely on it to make code...
Frontend Router
A Frontend Router is a development concept used to shape how software is built, executed, or maintained in real systems. Developers rely on it to make code...
Frozen Layer
A model architecture concept tied to frozen layer and how modern AI systems represent or process information. It influences how models are trained, evaluated,...
Fullstack Framework
A Fullstack Framework is a development concept used to shape how software is built, executed, or maintained in real systems. Developers rely on it to make code...
Future Proof
To design something in a way intended to remain useful and adaptable as needs, technology, or conditions change. In engineering culture the phrase is useful up...
Game Loop
The central loop in a game engine that continuously processes input, updates game state, and renders frames. Typically runs 30-60+ times per second, with...
Gating Network
A network component that decides which expert, branch, or submodule should handle a given input in architectures such as mixture-of-experts models.
Generative Adversarial Network
A model architecture concept tied to generative adversarial network and how modern AI systems represent or process information. It influences how models are...
Generative Model
A model architecture concept tied to generative model and how modern AI systems represent or process information. It influences how models are trained,...
Glue Code
Code that connects two systems or libraries that weren't designed to work together, handling format conversions, protocol translations, and API mapping. Often...
God Class
An object-oriented class that has taken on too many responsibilities, knows too much, and controls too much of the system. It is a classic code smell because...
God Object
An object that centralizes too much state and behavior, becoming an all-knowing hub that other parts of the system depend on excessively. It is closely related...
Golden Path
The ideal, expected flow through a system when everything goes right — no errors, no edge cases, no user stupidity. The path your demo always follows. Also...
Goldilocks Zone Tech
The range where a technical choice is neither too heavy nor too weak, but appropriately sized for the current problem.
GPT Architecture
The decoder-only transformer architecture used in the GPT family of autoregressive language models. It influences how models are trained, evaluated, or served,...
Graph Transformer
A transformer-style architecture adapted to graphs so relational structure can guide attention and message passing. It influences how models are trained,...
Greenfield
A project built from scratch with no existing codebase, constraints, or legacy decisions to work around. The opposite of brownfield (modifying/extending...
Green Field
Describing a project built from scratch with few legacy constraints, rather than one layered onto existing systems. It usually implies more design freedom, but...
GUI Framework
A GUI Framework is a development concept used to shape how software is built, executed, or maintained in real systems. Developers rely on it to make code...
Headless
Operating without a built-in graphical front end, usually so the backend or engine can be used independently through APIs or automation. The term appears in...
Headless CMS
A content management system that provides content via API without a built-in frontend presentation layer. Content is managed in the CMS and consumed by any...
Headless Development
A development approach centered on backend systems that expose content or functionality through APIs without being tied to a single presentation layer. In...
Heavyweight
Describing a tool, framework, process, or system that is large, complex, or resource-intensive relative to the problem at hand. It is often used critically...
Hexagonal Architecture
An architectural pattern (also called Ports and Adapters) where business logic is isolated at the center, communicating with the outside world through defined...
Hidden Layer
A model architecture concept tied to hidden layer and how modern AI systems represent or process information. It influences how models are trained, evaluated,...
Horizontal Scaling
Adding more machines to a system to handle increased load, distributing work across a fleet. The opposite of vertical scaling (making one machine bigger)....
Hot Path
The most frequently executed code path in a system — the sequence of operations that handles the majority of traffic or computation. Optimizing the hot path...
Hype-Driven Development
A mocking phrase for choosing languages, frameworks, architectures, or product directions mainly because they are fashionable rather than because they fit the...
Hypernetwork
A neural network that generates some or all of the weights used by another network. It influences how models are trained, evaluated, or served, and it can...
Immutable Data Structure
An Immutable Data Structure is a development concept used to shape how software is built, executed, or maintained in real systems. Developers rely on it to...
Implementation
The concrete realization of a design, specification, or interface in working code. In OOP, a class 'implements' an interface by providing method bodies; more...
Instruction Set
The complete set of machine-level instructions that a CPU can execute, defining the interface between software and hardware. x86, ARM, and RISC-V are...
Integration Pattern
An Integration Pattern is a development concept used to shape how software is built, executed, or maintained in real systems. Developers rely on it to make...
Isolation
Isolation is the separation of components, workloads, users, or networks so compromise in one area does not freely spread. Security teams use it to enforce...
It Depends
A classic engineering answer meaning the right solution varies with constraints, context, and tradeoffs rather than universal rules. It can be a sign of...
Ivory Tower Architect
A critical label for an architect seen as detached from implementation realities, delivery constraints, or operational pain.
Language Model
A model architecture concept tied to language model and how modern AI systems represent or process information. It influences how models are trained,...
Language Model Evaluation
A model architecture concept tied to language model evaluation and how modern AI systems represent or process information. It influences how models are...
Latency vs Throughput
Two often-confused performance metrics: latency is the time for a single operation to complete (measured in ms), while throughput is the number of operations...
Local-First Software
A software design philosophy where data lives primarily on the user's device, with optional sync to the cloud and other devices. Combines the speed and offline...
Loose Coupling
A design principle where components depend on each other through narrow, well-defined interfaces rather than concrete implementations, so that changes in one...
Master-Slave
A replication or control architecture where one node (master/primary) accepts writes and propagates changes to one or more read-only nodes (slaves/replicas)....
Memory Module
A dedicated component responsible for storing, updating, or retrieving information used by an AI system beyond transient prompt context. A memory module may be...
Message Bus
A shared communication channel through which all components in a system send and receive messages, typically using publish-subscribe semantics. Unlike a...
Message Passing
A communication paradigm where processes or objects exchange data by sending and receiving messages rather than sharing memory, reducing race conditions and...
Message Queue
A message queue is a middleware system enabling asynchronous communication between services. Producers send messages to a queue, where they are stored until...
Micro Frontend
An architectural pattern that decomposes a web frontend into independently developed, deployed, and loaded feature slices — each owned by a separate team —...
Microservices
Microservices is an architectural style that structures an application as a collection of small, independent services, each running in its own process and...
Middleware
Middleware is software that sits between components in a system, intercepting and processing requests as they pass through a pipeline. In web frameworks like...
mixture of agents
An architecture where multiple LLM agents collaborate by having each agent process the outputs of others in iterative rounds, leveraging the phenomenon that...
Mixture of Depths
An architectural idea where different tokens or inputs receive different amounts of computational depth, allowing the model to spend more effort on harder...
Mixture of Experts
A neural network architecture that routes different inputs to different specialized sub-networks (experts), activating only a subset for each input. Allows...
Model-View-Controller
A software architecture pattern that separates an application into three interconnected components: the Model (data and business logic), the View (UI...
Model-View-Presenter
A UI architecture pattern derived from MVC in which the Presenter contains all presentation logic and updates a passive View through an interface, making the...
Model-View-ViewModel
A UI architecture pattern in which the ViewModel exposes observable state and commands that the View binds to declaratively, eliminating direct View...
Monolith
A software application built as a single, unified unit where all components share the same codebase and deploy together. Once the default, now sometimes used...
Monolith Slang
A casual use of 'monolith' to describe anything large, tightly coupled, or centralized, even when it is not literally a monolithic application. It reflects how...
Monorepo
A single version control repository containing multiple projects or services. Google, Meta, and Microsoft use monorepos containing billions of lines. Whether...
Monorepo
A version control strategy where multiple projects, packages, or services are stored in a single repository. Simplifies code sharing, atomic cross-project...
Monorepo Debate
Arguments over the tradeoffs between keeping many projects in one repository versus splitting them into multiple repos.
Multicloud
Describing a strategy or environment that intentionally uses services from more than one cloud provider, such as AWS, Azure, or Google Cloud. Teams pursue...
Multi-Head
Describing an architecture that uses multiple attention heads or output heads to process information in parallel or from different representational...
Multi-Layered Defense
A security approach that uses several complementary controls at different layers so the failure of one does not immediately lead to full compromise....
Multimodal AI
AI systems that can process and generate multiple types of data — text, images, audio, video, and code — within a single model. GPT-4V, Claude 3, and Gemini...
Multi-Tenant
A software architecture in which a single application instance and infrastructure serves multiple customers (tenants), isolating their data through row-level...
Multi-Tenant SaaS
A software architecture where many customers share the same core application environment and infrastructure while their data and permissions remain logically...
MVC
MVC (Model-View-Controller) is an architectural pattern that separates an application into three interconnected components. The Model manages data, business...
MVP Pattern
Abbreviation for Model-View-Presenter, a UI pattern where the Presenter holds all presentation logic and interacts with a passive View through a defined...
MVVM
MVVM (Model-View-ViewModel) is a UI architecture pattern that separates presentation from business logic using data binding. The Model holds data and business...
Native vs Web
A shorthand for debates over whether something should be built as a native app or a web-based experience. In engineering slang, the phrase often stands for a...
Network Segmentation
Network Segmentation is the division of networks into smaller trust zones so movement and blast radius are constrained. Security teams use it to enforce trust,...
Neural Network
A computing system loosely inspired by biological neural networks, consisting of layers of interconnected nodes (neurons) that process information by adjusting...
Neural Network Depth
The number of layers in a neural network, which affects representational capacity, compute cost, and optimization behavior.
NUMA
Non-Uniform Memory Access — a memory architecture in multi-socket servers where each CPU has fast access to its local memory and slower access to remote memory...
Offline-First
A design approach where an application is built to work without an internet connection by default, syncing data when connectivity is available.
Onion Architecture
A software architecture style proposed by Jeffrey Palermo in which dependencies point inward through concentric layers — domain model at the core, surrounded...
Over-Engineering
The habit of designing a system with more abstraction, scalability, flexibility, or machinery than the actual problem requires. In software, over-engineering...
Paper Napkin Architecture
A rough system design sketched quickly and informally, often enough to align a team before heavier documentation exists.
Parameter Sharing
A design approach where the same parameters are reused across different parts of a model or across multiple computations. Parameter sharing can reduce model...
Pipeline Stage
A discrete, sequential step within a processing pipeline — whether a CI/CD pipeline (build → test → deploy), a data pipeline (extract → transform → load), or a...
Platform
The foundational hardware, operating system, runtime, or service layer on which applications are built and executed. Depending on context, it can mean an OS...
Platform Abstraction
A software layer that hides platform-specific differences (OS APIs, hardware quirks, runtime behaviors) behind a uniform interface, allowing application code...
Pluggable
Describing a system designed so components can be added, replaced, or extended through defined interfaces rather than hardcoded changes. In software culture,...
Plugin
A self-contained module that adds specific functionality to a host application by conforming to its extension API, allowing features to be added or removed...
Plugin Architecture
A software design pattern in which the core application defines stable extension points (hooks, events, or interfaces) that external modules can implement to...
Portability
The degree to which software can run on different platforms, operating systems, or hardware with minimal or no modification. Highly portable code avoids...
Positional Encoding
A method for injecting token-order information into transformer models so they can distinguish position within a sequence.
Presenter
In the Model-View-Presenter (MVP) architecture, the component that sits between the Model and the View: it retrieves data from the model, formats it for...
Programming Paradigm
A fundamental style or approach to structuring programs that dictates how computation is modeled — such as imperative (step-by-step mutation), object-oriented...
Project Structure
The directory layout and file organization conventions of a software project, defining where source code, tests, configuration, assets, and documentation live....
Pub/Sub
Pub/Sub (Publish/Subscribe) is a messaging pattern where senders (publishers) emit events to named topics without knowing who receives them, and receivers...
Pull Model
A data retrieval pattern in which the consumer initiates requests to fetch data from the source at its own pace, rather than the source pushing data to...
RAG
Retrieval-Augmented Generation — a technique that enhances LLM responses by first retrieving relevant documents from an external knowledge base and including...
RAG Architecture
The overall system design for retrieval-augmented generation, including indexing, chunking, retrieval, ranking, prompt assembly, and answer generation. RAG...
Reactive
A programming paradigm centered on data streams and the propagation of change. Reactive systems automatically update outputs when inputs change. In frontend...
Renderer
A software component responsible for converting an abstract representation (scene graph, virtual DOM, markup template) into visual output on a specific target...
Request Pipeline
The ordered chain of middleware and handlers that an HTTP request passes through from arrival to response — typically including logging, authentication, rate...
Request-Response
A communication pattern in which a client sends a single request and synchronously waits for a single response from the server, forming a paired exchange. HTTP...
Resource
Any identifiable entity that a system manages — in REST, a resource is anything addressable by a URI (a user, an order, a document); in systems programming, it...
REST
REST, or Representational State Transfer, is an architectural style for designing networked applications that use HTTP as the communication protocol. Defined...
REST API
An API that follows REST (Representational State Transfer) principles: resources are identified by URIs, manipulated via standard HTTP methods (GET, POST, PUT,...
Resume Driven
Describing choices made more for how they look on a resume than for what the system genuinely needs. In engineering slang, resume-driven development is one of...
Resume Driven Development
Building or choosing technology mainly because it looks impressive on a resume rather than because it solves the actual problem well.
Retrieval-Augmented Generation
An architecture that improves LLM outputs by first retrieving relevant documents from an external knowledge base, then including them in the prompt as context....
scaffolding
The orchestration code surrounding an LLM that provides structure, tool access, memory, and control flow to transform a raw language model into a functional...
Scalability
The ability of a system, network, or process to handle a growing amount of work by adding resources. In startup pitch decks, it's the claim that your business...
Screaming Architecture
An architecture whose top-level structure clearly reveals the domain and primary use cases rather than mainly exposing frameworks or technical layers. The...
Second System Effect
The tendency for the second version of a system to be over-engineered and bloated because designers include all the features they wished they'd had in the...
Second System Syndrome
Fred Brooks’s observation that designers often overload their second major system with every idea they regretted leaving out of the first, producing...
Serverless
Serverless is a cloud computing model where the provider dynamically manages server allocation, scaling, and infrastructure, so developers deploy only their...
Serverless Slang
A loose or promotional use of 'serverless' to describe systems where infrastructure feels less visible, even though servers still exist underneath. It often...
Service
A self-contained unit of functionality — either a standalone network process (as in microservices) or an application-layer class that encapsulates business...
Service Layer
An architectural layer that sits between controllers (or API handlers) and the data access layer, encapsulating business logic, orchestrating transactions, and...
Sharding
The strategy of horizontally partitioning data across multiple database instances, each responsible for a subset of the data, to achieve linear scalability and...
Single Tenant
Describing a software deployment architecture where each customer gets a separate dedicated environment rather than sharing one multi-tenant system....
Slippery Slope
A warning that allowing one small exception or compromise may lead to many more, making the situation harder to control later. Engineers use it around process,...
Source of Truth
The authoritative system or dataset that is considered the definitive, canonical reference for a particular piece of information, from which all other...
SPA
Single Page Application — a web application that loads a single HTML page and dynamically updates content via JavaScript and API calls, avoiding full page...
Spaghetti Junction
A dense tangle of dependencies, routes, or control flow that has become hard to trace because too many paths intersect in one place. It is an extension of the...
Stack
Stack is one of the most fundamental data structures in computer science, operating on a last-in, first-out (LIFO) principle where the most recently added...
Stack Machine
A computation model (or virtual machine) where instructions operate on values at the top of an implicit stack rather than named registers. Operands are pushed,...
State
The current set of data values that determine a program's behavior and UI at any given moment, managed locally in components, globally in stores, or on the...
State Machine
A computational model where a system exists in exactly one of a finite set of states at any time, transitioning between states in response to events according...
State Management
The set of patterns and tools used to create, read, update, and synchronize application state across components or services. In frontend frameworks this...
Strangler Fig Pattern
A migration strategy where a new system is built incrementally around an existing legacy system, gradually replacing its functionality until the old system can...
Stream Processing
Processing data continuously as it arrives rather than in periodic batches. Handles unbounded datasets using windowing (tumbling, sliding, session) for...
subnet
A logical subdivision of an IP network, created by applying a subnet mask to partition a larger address space into smaller, isolated segments. Subnetting...
SwiGLU
A gated activation function variant used in some transformer feed-forward layers to improve model quality relative to simpler activations.
System Architecture
The high-level structural design of a software system, defining its major components, their responsibilities, how they communicate (APIs, message queues, RPC),...
System Design
The process of defining the architecture, components, modules, interfaces, and data flows of a system to satisfy specified requirements, and a common interview...
Task Parallelism
A form of parallelism where different tasks or functions are distributed across multiple processors, as opposed to data parallelism where the same operation is...
Technical Due Diligence
An assessment of a company's technology stack, codebase quality, architecture, security posture, team capabilities, and technical debt performed before an...
Tech Stack
The full set of technologies used in an application: languages, frameworks, databases, hosting, monitoring tools, and everything in between. 'What's your tech...
Tech Stack Culture
The identity, preferences, and social norms that form around a team’s chosen languages, frameworks, and infrastructure. Tech stack culture influences hiring,...
Tech Stack Envy
The feeling that another team's or company's tools seem more modern, elegant, or exciting than your own stack.
Tenant
A distinct customer environment or account boundary within a software system, often used in multi-tenant architecture discussions. Tenants separate data,...
Testability
The degree to which a software component can be effectively and efficiently tested, determined by factors like dependency injection, separation of concerns,...
Testing Pyramid
A testing strategy model shaped like a pyramid: a broad base of fast, cheap unit tests, a middle layer of integration tests, and a narrow top of slow,...
Test Strategy
A high-level document or decision framework that defines which types of testing (unit, integration, E2E, performance, etc.) a project will employ, the ratio...
Thin Client Slang
Informal use of thin client to describe an application that keeps relatively little logic on the client side. In engineering slang, it can be used precisely or...
Threading Model
The design that defines how a runtime or application maps work to OS threads — such as one-thread-per-request, event loop with a single thread (Node.js), green...
Tight Coupling
A design condition where two modules depend heavily on each other's internal details — concrete classes, data structures, or execution order — making it...
Tower of Babel Codebase
A codebase with too many languages, styles, conventions, or paradigms layered together, making it difficult to reason about as a whole.
Trade-off
A deliberate engineering decision where improving one quality (speed, simplicity, safety) comes at the expense of another. The essence of software architecture...
Transformer
A neural network architecture that uses self-attention mechanisms to process sequential data in parallel rather than sequentially. Introduced in the 2017 paper...
twelve-factor app
A methodology for building software-as-a-service applications, defining twelve principles including storing config in environment variables, treating backing...
Twelve-Factor App
A methodology of twelve principles for building modern cloud-native applications, published by Heroku co-founder Adam Wiggins in 2011. Key factors: store...
UML
Unified Modeling Language — a standardized family of graphical notations for visualizing software design, including class diagrams, sequence diagrams, state...
Unidirectional Data Flow
An application architecture pattern where data flows in a single direction — typically from a central store through the view, with user interactions...
Vertical Scaling
Vertical Scaling (also called scaling up) is the approach of increasing a system's capacity by adding more resources to a single machine, such as more CPU...
von Neumann architecture
The computer architecture in which a single memory store holds both program instructions and data, with a central processing unit that fetches, decodes, and...
Von Neumann Bottleneck
The performance limitation caused by the shared bus between CPU and memory in Von Neumann architecture — the processor spends significant time waiting for data...
Webhook vs. Polling
Two approaches to getting updates: polling (repeatedly asking 'anything new?') vs. webhooks (getting called when something happens). Polling is simpler;...
Wheelbarrow Pattern
A joking label for a clumsy solution that technically moves the load but in an awkward, manual, or low-leverage way. It is not a formal pattern so much as a...
Zero Trust
A security model that assumes no user, device, or network segment should be automatically trusted, even inside the corporate perimeter. 'Never trust, always...
Zero Trust Architecture
A security model that treats every access request as untrusted until identity, device, and context are verified. It shows up in application security, identity,...

Related Topics