Glossary
111+ terms you will encounter in software development. Each term includes a detailed explanation, real-world examples, advantages, disadvantages, and FAQs.
A
Accessibility (a11y)
The practice of making software usable by people of all abilities, including those with visual, auditory, motor, or cognitive disabilities.
ACID
Atomicity, Consistency, Isolation, Durability. A set of properties that guarantee reliable processing of database transactions.
Agile
A project management and software development approach that delivers work in small, iterative increments with continuous feedback and adaptation.
Apache Kafka
A distributed event streaming platform designed for high-throughput, fault-tolerant, and scalable real-time data streaming.
API
Application Programming Interface. A set of rules that allows different software applications to communicate with each other by defining methods, data formats, and protocols.
API Gateway
A server that acts as a single entry point for API calls, routing requests to appropriate services, handling authentication, and enforcing policies.
API Versioning
The practice of managing changes to an API by creating multiple versions, allowing existing clients to continue using old versions while new clients adopt the latest.
Authentication
The process of verifying the identity of a user, device, or system—confirming that an entity is who it claims to be.
Authorization
The process of determining what an authenticated user is allowed to do—controlling access to resources, features, and operations.
Availability
The proportion of time a system is operational and accessible to users, typically measured as a percentage of uptime over a given period.
B
Backend
The server-side component of a software application that handles data storage, business logic, authentication, and communication between the database and the frontend.
Branch
A parallel version of a repository that allows developers to work on features or fixes independently without affecting the main codebase.
Bundling
The process of combining multiple JavaScript modules and their dependencies into optimized files that can be served to the browser.
C
Caching
Storing frequently accessed data in a temporary storage layer to reduce database queries and improve response times.
CAP Theorem
A distributed system can only provide two of three guarantees: Consistency, Availability, and Partition tolerance—and in practice, partition tolerance is required.
CDN
Content Delivery Network. A distributed network of servers that delivers web content to users based on their geographic location for faster load times.
CI/CD
Continuous Integration and Continuous Deployment/Delivery. A set of practices that automate the building, testing, and deployment of applications.
CI/CD Pipeline
An automated workflow that builds, tests, and deploys code changes from version control to production, ensuring quality and consistency.
Circuit Breaker
A design pattern that prevents an application from repeatedly trying to execute an operation that is likely to fail, allowing it to recover without overwhelming the failing service.
Clean Code
Code that is easy to understand, maintain, and modify, following established principles of readability, simplicity, and intentional design.
Cloud
The delivery of computing services—servers, storage, databases, networking, software, and analytics—over the internet on a pay-as-you-go basis.
Code Review
The practice of systematically examining code changes by peers before merging, to ensure quality, catch bugs, and share knowledge across the team.
Code Splitting
The practice of breaking a JavaScript bundle into smaller chunks that are loaded on demand, reducing initial page load time.
Commit
A snapshot of changes to files in a repository at a specific point in time, accompanied by a message describing what changed and why.
Component Library
A collection of reusable UI components with consistent design patterns, used across multiple applications to ensure visual consistency and development efficiency.
Cookie
A small piece of data stored in the user's browser that is sent with every HTTP request to the server that set it, used for maintaining state and tracking.
Core Web Vitals
A set of specific metrics defined by Google that measure real-world user experience for loading performance, interactivity, and visual stability.
D
Database
An organized collection of structured data stored electronically, designed for efficient retrieval, insertion, and updating of information.
Database Indexing
Creating data structures that speed up data retrieval operations on database tables by allowing the database to find rows without scanning the entire table.
Deployment
The process of making a software application available for use by moving it from a development or staging environment to a production environment.
Design Patterns
Reusable solutions to common problems in software design, providing a shared vocabulary and proven approaches for recurring design challenges.
Design System
A comprehensive set of design standards, principles, patterns, and reusable components that ensure visual and functional consistency across products.
DevOps
A set of practices that combines software development and IT operations to shorten the development lifecycle and provide continuous delivery with high quality.
Disaster Recovery
The process of restoring IT systems and data after a catastrophic event, including backup strategies, failover mechanisms, and recovery procedures.
Docker
A platform for developing, shipping, and running applications in lightweight, portable containers that package code with all its dependencies.
E
E2E Testing
End-to-End testing that simulates real user workflows from start to finish, testing the entire application stack including UI, backend, and database.
Edge Computing
Processing data closer to where it is generated rather than in a centralized data center, reducing latency and improving performance for end users.
Encryption
The process of converting plaintext data into ciphertext using an algorithm and key, making it unreadable without the corresponding decryption key.
Error Budget
The acceptable amount of unreliability for a service, calculated as 1 minus the SLO, used to balance reliability and feature development.
Event-Driven Architecture
A software design pattern where components communicate by producing and consuming events, enabling loose coupling and asynchronous processing.
F
Foreign Key
A column in a database table that creates a link between data in two tables by referencing the primary key of another table.
Frontend
The client-side component of a software application that users interact with directly, encompassing the user interface, user experience, and client-side logic.
Full Stack
A software development approach where developers work on both the frontend (client-side) and backend (server-side) of an application.
G
Git
A distributed version control system that tracks changes to source code over time, enabling collaboration, branching, and history management.
GitHub Actions
A CI/CD platform integrated into GitHub that automates build, test, and deployment workflows triggered by repository events.
GraphQL
A query language for APIs developed by Facebook that lets clients request exactly the data they need in a single request, avoiding over-fetching or under-fetching.
GraphQL Query
A request written in GraphQL syntax that specifies exactly what data a client needs from a GraphQL API, including the fields, relationships, and filters.
H
Hashing
The process of converting data into a fixed-size string of characters using a mathematical function, designed to be irreversible and produce unique outputs for unique inputs.
Headless CMS
A content management system that provides content via API without a built-in frontend, allowing developers to use any frontend framework to display content.
High Availability (HA)
A system design approach that ensures a high level of operational performance and uptime for a desired period through redundancy and failover mechanisms.
Horizontal Scaling
Adding more machines to distribute load, as opposed to vertical scaling which adds more power to a single machine.
Hosting
A service that provides infrastructure and resources for making web applications and websites accessible over the internet.
HTTPS
Hypertext Transfer Protocol Secure. The encrypted version of HTTP that uses TLS to secure communication between the browser and server.
I
Idempotency
The property of an operation where performing it multiple times has the same effect as performing it once, essential for reliable API design.
Infrastructure as Code (IaC)
Managing and provisioning computing infrastructure through machine-readable configuration files rather than manual processes or interactive tools.
Integration Testing
Testing how multiple components work together as a group, verifying that different parts of the system communicate and interact correctly.
J
Jamstack
A web architecture based on JavaScript, APIs, and Markup, where pre-rendered static pages are served from CDNs with dynamic functionality handled by APIs.
JSON
JavaScript Object Notation. A lightweight, text-based data interchange format that is easy for humans to read and write and easy for machines to parse and generate.
JWT
JSON Web Token. A compact, URL-safe method for securely transmitting information between parties as a signed JSON object.
K
Kanban
A visual workflow management method that tracks work items on a board with columns representing stages of progress, with work flowing continuously.
Kubernetes
An open-source container orchestration platform that automates the deployment, scaling, and management of containerized applications across clusters of machines.
L
Latency
The time delay between a request being sent and a response being received, typically measured in milliseconds.
Lazy Loading
A technique that defers loading of non-critical resources (images, videos, components) until they are needed, improving initial page load time.
Lighthouse
An open-source tool by Google that audits web page quality across performance, accessibility, SEO, best practices, and progressive web app criteria.
Load Balancer
A device or software that distributes incoming network traffic across multiple servers to ensure no single server becomes overwhelmed.
M
Merge
The process of combining changes from one branch into another, integrating parallel lines of development into a unified codebase.
Message Queue
A middleware component that enables asynchronous communication between services by storing messages in a queue until they are processed by a consumer.
Microservices
An architectural style where an application is built as a collection of small, independent services that communicate over well-defined APIs.
Microservices Patterns
Proven design patterns for solving common challenges in microservice architectures, including communication, data management, and resilience.
Monitoring
The practice of observing and tracking system health, performance, and behavior to detect issues, optimize performance, and ensure reliability.
Monolith
A software architecture where all components of an application are unified, interdependent, and run as a single process.
Monorepo
A software development strategy where code for multiple projects is stored in a single repository with shared tooling and unified version history.
O
OAuth
An open standard for access delegation that allows users to grant third-party applications limited access to their accounts without sharing passwords.
Observability
The ability to understand the internal state of a system from its external outputs, enabling effective debugging and monitoring of complex distributed systems.
ORM
Object-Relational Mapping. A technique that converts data between incompatible type systems in object-oriented languages and relational databases.
P
Primary Key
A unique identifier for each record in a database table, ensuring no two rows have the same value and enabling efficient data retrieval.
Progressive Web App (PWA)
A web application that uses modern web APIs to provide a native app-like experience, including offline support, push notifications, and device installation.
Pull Request
A proposal to merge code changes from one branch into another, enabling code review, discussion, and automated testing before integration.
R
Rate Limiting
A technique to control the number of requests a client can make to an API within a given timeframe, preventing abuse and ensuring fair resource usage.
Redis
An open-source, in-memory data structure store used as a database, cache, message broker, and session store with sub-millisecond response times.
Refactoring
Restructuring existing code without changing its external behavior to improve readability, reduce complexity, and enhance maintainability.
Repository
A storage location for software packages or source code, including the complete history of changes, metadata, and configuration files.
REST
Representational State Transfer. An architectural style for designing networked applications using stateless, client-server communication over HTTP.
Reverse Proxy
A server that sits between clients and backend servers, forwarding client requests to the appropriate server and returning the response.
S
SaaS
Software as a Service. A cloud-based software delivery model where applications are hosted by a provider and accessed via the internet on a subscription basis.
Scalability
The ability of a system to handle increased load by adding resources, either by scaling up (more powerful hardware) or scaling out (more machines).
Schema
A formal description of the structure, constraints, and relationships of data, used for validation, documentation, and type safety.
Scrum
An Agile framework for managing software development work through fixed-length iterations called sprints, with defined roles, ceremonies, and artifacts.
SEO
Search Engine Optimization. The practice of optimizing websites to rank higher in search engine results, increasing organic (non-paid) traffic.
Serverless
A cloud computing model where the provider dynamically manages server allocation and provisioning, allowing developers to run code without managing servers.
Session
A temporary interaction between a user and a web application that maintains state across multiple requests within a defined time period.
SLI
Service Level Indicator. A quantitative measure of some aspect of a service level, such as availability, latency, or throughput.
SLO
Service Level Objective. A target value for a service level metric that defines the expected reliability of a service.
SOLID Principles
Five design principles for writing maintainable, flexible, and scalable object-oriented software, introduced by Robert C. Martin.
SQL
Structured Query Language. A standardized programming language for managing and querying data stored in relational databases.
SRE
Site Reliability Engineering. An approach to IT operations that applies software engineering practices to infrastructure and operations problems.
SSL
Secure Sockets Layer. A cryptographic protocol for securing communications over the internet, now deprecated in favor of its successor, TLS.
Storybook
An open-source tool for developing UI components in isolation, providing a sandbox environment for building, testing, and documenting components.
Structured Data
A standardized format for providing information about a page and classifying its content, using Schema.org vocabulary to help search engines understand and display content.
T
Technical Debt
The implied cost of future rework caused by choosing an easy solution now instead of a better approach that would take longer.
Testing Pyramid
A model for structuring automated tests with many fast unit tests at the base, fewer integration tests in the middle, and few end-to-end tests at the top.
TLS
Transport Layer Security. The cryptographic protocol that secures communication over the internet, used by HTTPS, email, VPNs, and other network protocols.
Transpilation
The process of converting source code from one programming language or version to another, typically from modern JavaScript to older versions for browser compatibility.
W
Web Performance
The speed and responsiveness of a web application, measured by metrics like load time, time to interactive, and visual stability.
WebAssembly (Wasm)
A binary instruction format that enables near-native performance in web browsers by running code compiled from languages like Rust, C++, and Go.
Webhook
A mechanism for one application to send real-time data to another when a specific event occurs, using HTTP callbacks instead of polling.
WebSockets
A communication protocol that provides full-duplex, bidirectional communication channels over a single TCP connection for real-time data transfer.
Learn More
Dive deeper into specific topics with our articles and blueprints. Every blueprint explains the technologies it recommends in context.
Ready to Build?
Now that you know the terms, put them into practice with a real blueprint.
Browse Blueprints