Dev Glossary
Clear definitions and mental models for 206 core software engineering terms.
A
- A/B TestingA method of comparing two versions of a product or feature to determine which performs better with users.
- ACIDACID stands for Atomicity, Consistency, Isolation, Durability — ensuring that database transactions are processed completely, correctly, independently, and permanently, even in case of failures...
- AI AgentAn AI agent is a system where a language model works toward a goal by choosing tools to use, running them, and deciding what to do next based on the results.
- API (Application Programming Interface)A set of rules that allows different software applications to communicate with each other.
- API GatewayA server that acts as a single entry point for multiple backend services, handling routing, authentication, and rate limiting.
- Acceptance TestingA process where the client verifies if the software meets their requirements before going live.
- Activation FunctionAn activation function applies a nonlinear transformation to a neuron's input before passing it forward, giving neural networks the ability to learn patterns that linear models cannot represent.
- AnsibleAnsible is an automation engine that applies declarative playbooks to remote systems over SSH, configuring servers, deploying applications, and orchestrating workflows without a central agent.
- Async/AwaitModern JavaScript syntax for handling asynchronous operations in a cleaner, more readable way.
- Attention MechanismAttention is how a model decides which parts of the input matter most for each piece it is processing, weighing every position against every other.
- Authentication vs AuthorizationTwo fundamental security concepts that control who can access what in applications.
- Auto-scalingAuto-scaling automatically adjusts the number of compute instances or containers in response to demand, keeping performance stable without manual capacity planning.
- AvailabilityAvailability is the ability of a system to be working and ready to use whenever it is needed, without unexpected problems or shutdowns.
B
- BLEU ScoreBLEU scores machine translation by measuring how many word sequences the output shares with human reference translations.
- Backend DevelopmentBackend Development is the behind-the-scenes part of a website or app. It handles data, logic, and server operations, making sure everything runs smoothly. It connects the frontend (what users see) with the database and server to deliver content, process requests, and manage security.
- BackpropagationBackpropagation works out how much each weight in a network contributed to the error, by applying the chain rule backwards through the layers.
- Batch NormalizationBatch normalization rescales the values flowing between layers using statistics from the current batch, which makes deep networks train faster and more reliably.
- Batch SizeBatch size is the number of training examples processed before the model updates its weights, trading noise and speed against gradient stability.
- Bias-Variance TradeoffThe bias-variance tradeoff explains why models fail in two opposite directions: too simple to learn the pattern, or too sensitive to the particular data they saw.
- Blue-Green DeploymentA deployment strategy that eliminates downtime by running two identical environments and switching traffic between them.
- Browser DevToolsA suite of built-in developer tools for inspecting DOM, debugging JavaScript, and analyzing network performance directly in the browser.
C
- CAP TheoremThe CAP theorem states that a distributed system can only guarantee two of the following: Consistency, Availability, or Partition Tolerance.
- CI/CD (Continuous Integration & Continuous Deployment)A software engineering approach that automates testing, integration, and deployment of applications.
- CRUD OperationsCreate, Read, Update, Delete - the four basic operations for managing data in any application.
- CSS GridA two-dimensional layout system for the web. It allows developers to place elements into rows and columns with precise control.
- CachingThis is cahcing !
- Canary DeploymentA canary deployment releases a change to a small subset of traffic first, monitors for errors, and then gradually expands if the release behaves as expected.
- Cascading Style Sheets (CSS)CSS is the programming language used to style static web pages and web applications, to control how information is visually presented.
- Chain-of-Thought PromptingChain-of-thought prompting asks a model to work through its reasoning before answering, which substantially improves accuracy on multi-step problems.
- ChunkingChunking is the process of dividing long documents into smaller pieces so embedding models and retrieval systems can process them accurately and return focused results.
- ClassificationClassification is predicting which category something belongs to, choosing from a fixed set of options learned from labelled examples.
- Client-Side vs Server-Side RenderingCSR (Client-Side Rendering) renders pages in the browser, while SSR (Server-Side Rendering) generates pages on the server.
- ConcurrencyConcurrency is the ability of a system to execute multiple tasks at the same time, improving efficiency.
- Configuration DriftConfiguration drift is the gradual divergence between the intended configuration of a system and its actual running state, caused by unmanaged changes, patches, or manual edits.
- Confusion MatrixA confusion matrix is a table that summarizes every classifier prediction against every actual class, making it easy to see which categories the model confuses.
- Container OrchestrationContainer orchestration automates deployment, scaling, networking, and availability for containers across a cluster, removing manual server-by-server management.
- ContainerizationContainerization packages an application with its dependencies, runtime, and configuration into a single image that runs consistently across development, testing, and production environments.
- Content Delivery Networks (CDN)A system of distributed servers that deliver web content to users based on their geographic location.
- Context WindowThe context window is the total amount of text a language model can hold in view at once, counted in tokens and shared between your input and its reply.
- Convolutional Neural NetworkA convolutional neural network slides small filters across its input to detect local patterns, which is what made it the standard approach for images.
- CookiesSmall pieces of data stored in the browser that websites use to remember information about users.
- Cosine SimilarityCosine similarity measures how closely two vectors point in the same direction, ignoring their length, by computing the cosine of the angle between them.
- Cron JobsA scheduled task automation tool that runs commands at specified time intervals.
- Cross-Origin Resource Sharing (CORS)A mechanism that allows restricted resources on a web page to be requested from another domain.
- Cross-ValidationCross-validation estimates how well a model will generalise by training it several times on different splits of the data and averaging the results.
- CybersecurityThe practice of protecting systems, networks, and data from digital attacks, unauthorized access, and damage.
D
- DDoS AttacksA DDoS (Distributed Denial of Service) attack overwhelms a server with excessive traffic to make it unavailable.
- Data AugmentationData augmentation creates new training examples by transforming existing ones, teaching the model which changes should not affect its answer.
- Data CenterA facility housing networked computers, storage systems, and infrastructure that powers digital services and applications.
- DatabaseDatabases are used for storing, maintaining and accessing any sort of data. They collect information on people, places or things. This information is gathered in one place so it can be observed and analyzed
- Database NormalizationA process of organizing data to reduce redundancy and improve data integrity.
- Database ShardingSplitting a database into smaller pieces (shards) distributed across multiple servers to handle more data and traffic.
- DebuggingDebugging is the process of identifying and fixing errors in a program.
- Decision TreeA decision tree is a flowchart-like model that splits data on feature values, making a series of simple if-then decisions that end in a prediction.
- Deep LearningDeep learning is machine learning using neural networks with many layers, which discover useful features from raw data instead of being told what to look for.
- Dependency InjectionA design pattern where objects receive their dependencies from external sources rather than creating them internally.
- Diffusion ModelA diffusion model generates images by starting from pure noise and removing a little of it at a time, having learned what noise looks like.
- Distributed TracingDistributed tracing tracks a request as it moves through multiple services, collecting timing, metadata, and error context into a connected trace for debugging latency and failures.
- DockerA containerization platform that packages applications and their dependencies into portable units.
- DropoutDropout randomly switches off a fraction of a network's units during training, so the model cannot depend on any single one and generalises better.
E
- EmbeddingAn embedding is a list of numbers that represents the meaning of a piece of text, so that similar meanings end up with similar numbers.
- Environment VariablesConfiguration values stored outside your code that change based on the environment (development, staging, production).
- EpochAn epoch is one complete pass through the whole training dataset, after which the model has seen every example exactly once.
- Event-Driven ArchitectureEvent-driven architecture is a design pattern in which services communicate through events rather than direct calls.
F
- F1 ScoreThe F1 score is a single number that combines precision and recall into one metric by taking their harmonic mean, so both must be reasonably high for the score to be good.
- Fault ToleranceThe ability of a system to continue operating correctly even when components fail.
- Feature EngineeringFeature engineering is turning raw data into the inputs a model can actually learn from, by cleaning, transforming and combining it.
- Feature FlagA feature flag is a runtime control that turns functionality on or off without redeploying code, separating deployment from release.
- Few-Shot LearningFew-shot learning means giving a model a handful of examples in the prompt so it infers the pattern, without any training or weight changes.
- Fine-tuningFine-tuning is taking a model that is already trained and training it further on your own examples, so it adopts a particular style, format, or task.
- Frontend DevelopmentFrontend development is responsible for how websites and applications are developed using HTML, CSS, and JavaScript to visually render data from backend services and databases.
- Function CallingFunction calling is the ability of a language model to request execution of a predefined external function with structured arguments, instead of trying to answer from its own parameters alone.
- Functional ProgrammingA programming paradigm that treats computation as the evaluation of mathematical functions and avoids changing state and mutable data.
G
- Gated Recurrent UnitA GRU is a simplified LSTM that uses two gates instead of three, trading a little expressiveness for faster training and fewer parameters.
- Generative Adversarial NetworkA GAN trains two networks against each other: one generates fake data, the other tries to spot it, and the competition drives both to improve.
- GitA distributed version control system used by developers to track changes in their codebase.
- GitHubGitHub is a website that lets developers store, manage, and share code. It's a collaboration platform that uses Git, an open-source version control system. GitHub is used to build and ship software.
- GitOpsGitOps is an operational model that uses Git as the single source of truth for declarative infrastructure and application deployments, making every change auditable and reversible.
- Gradient BoostingGradient boosting builds decision trees sequentially, with each new tree correcting the residual errors left by the previous ones, producing a strong learner from many weak learners.
- Gradient DescentGradient descent is the method that trains most models, repeatedly nudging every parameter in the direction that reduces the loss.
- GraphQLGraphQL is a flexible query language that enables clients to request only the data they need from an API.
- GraphQL vs RESTGraphQL is a query language that provides flexible data retrieval, while REST uses predefined endpoints.
- GuardrailsGuardrails are layered input filters and output validators that keep an AI system inside its intended operating boundaries by blocking harmful requests and unsafe responses.
H
- HTTP Status CodesThree-digit numbers that servers send to indicate the result of an HTTP request (success, error, redirect, etc.).
- HallucinationA hallucination is when an AI model produces something that sounds plausible and is actually false, invented, or unsupported by its source material.
- HelmHelm is the package manager for Kubernetes that bundles manifests, defaults, and release metadata into reusable charts, making deployments repeatable across environments.
- HyperText Markup Language (HTML)HyperText Markup Language (HTML) is the standard markup language used for creating and structuring the content of web pages. It provides a set of tags and attributes that define the structure and formatting of text, images, links, and other elements within a web document. HTML is the backbone of the World Wide Web.
- Hyperparameter TuningHyperparameter tuning is searching for the settings you choose rather than the model learns, such as learning rate, depth and regularization strength.
I
- Immutable InfrastructureImmutable infrastructure is a deployment pattern where servers, containers, or disks are never modified after creation. Updates replace the entire artifact instead of patching running instances.
- Incident ManagementIncident management is the structured process for detecting, responding to, and recovering from service disruptions while minimizing user impact and preserving operational information.
- Indexing in DatabasesIndexing improves database search performance by creating a structure that allows quick data retrieval.
- InferenceInference is running a trained model on new data to get a prediction, without changing the model at all.
- Infrastructure as CodeInfrastructure as Code manages computing infrastructure through machine-readable definition files instead of manual configuration, making environments versionable and repeatable.
- IngressIngress is a Kubernetes API object and controller that manages external HTTP and HTTPS access to services inside a cluster, providing host-based and path-based routing.
J
- JSONJavaScript Object Notation - a lightweight format for storing and exchanging data between applications.
- JWT (JSON Web Token)JWT is a secure method to transmit authentication tokens between a client and a server.
- JavaScriptJavaScript (JS) is a versatile and widely-used programming language primarily adopted in web development. It enables the creation of interactive and dynamic elements within web pages, allowing for enhanced user experiences. JavaScript runs on the client side, meaning it executes directly in a user's web browser without the need for server interaction.
K
- K-Means ClusteringK-means clustering is an unsupervised algorithm that partitions data into k clusters by repeatedly assigning points to the nearest centroid and recomputing those centroids until they stop moving.
- K-Nearest NeighborsK-nearest neighbors is a simple instance-based algorithm that classifies or predicts a new example by majority vote or averaging over its closest neighbors in feature space.
- KV CacheThe KV cache stores key and value tensors from previous transformer attention layers so the model does not recompute them on every generated token, dramatically speeding up autoregressive inference.
- Knowledge DistillationKnowledge distillation trains a small model to imitate a large one, capturing much of its behaviour in something far cheaper to run.
- KubernetesKubernetes is an open-source system for automating deployment, scaling, and management of containerized applications across clusters of hosts.
L
- Large Language ModelA large language model is a neural network trained on huge amounts of text that predicts what text should come next, one token at a time.
- Layer NormalizationLayer normalization rescales values across the features of a single example rather than across a batch, which is why transformers use it instead of batch normalization.
- Lazy LoadingA design pattern that defers the loading of non-critical resources (like images) until they are needed, improving initial page load time.
- Learning RateThe learning rate controls how big a step training takes on each update, and it is the single setting most likely to break training if it is wrong.
- LinuxWhat is Linux is too dgos
- Load BalancingLoad balancing distributes traffic across multiple servers to improve reliability and performance.
- Log AggregationLog aggregation is the practice of collecting logs from many sources into a central store where they can be searched, filtered, correlated, and retained for debugging and compliance.
- Long Short-Term MemoryAn LSTM is a recurrent network with gates that decide what to keep, forget and output, giving it much better memory over long sequences than a plain RNN.
- Loss FunctionA loss function turns how wrong a model is into a single number, which training then works to make smaller.
M
- MLOpsMLOps is the set of practices that combines machine learning, DevOps, and data engineering to deploy, monitor, and maintain models in production reliably.
- Machine LearningMachine learning (ML) is a type of artificial intelligence (AI) that allows computers to learn from data and improve their performance over time.
- Message Queues (RabbitMQ & Kafka)Message queues allow asynchronous communication between services, improving scalability and reliability.
- MicroservicesAn architectural style that structures an application as a collection of small services.
- MiddlewareSoftware that sits between requests and responses, processing, modifying, or validating data as it flows through your application.
- Mixture of ExpertsMixture of Experts routes each input to a small subset of specialized subnetworks, so a model can be extremely large without activating the full parameter set on every pass.
- Model Context ProtocolModel Context Protocol is an open standard that standardizes how AI applications connect to external data sources and tools, removing the need for one-off integrations between models and systems.
- Model DriftModel drift is the gradual decline in a model's accuracy when the real-world data it sees in production starts to differ from the data it was trained on.
- Model InterpretabilityModel interpretability is the ability to understand why a model made a particular decision, which matters wherever those decisions have to be justified.
- MonitoringContinuously tracking system health, performance, and behavior to detect issues and understand how applications run in production.
- Monolith ArchitectureAn application design where all code and features exist in a single codebase and deploy together.
- MonoreposA development strategy where multiple projects are stored in a single repository to share code and simplify dependency management.
- Multimodal ModelA multimodal model is a system that processes and reasons across multiple input types, such as text, images, audio, or video, instead of being limited to a single modality.
N
- Naive BayesNaive Bayes applies Bayes theorem with a conditional independence assumption between features, making it fast, simple, and surprisingly effective on text and small datasets.
- NetworkingThe practice of connecting computers and systems to share resources and communicate with each other.
- Neural NetworkA neural network is a model built from layers of simple units that each apply a weight to their inputs, learning those weights from examples.
- Next.jsNext.js is a JavaScript framework that helps developers build web applications. It's built on React, a popular JavaScript library.
- NginxA web server and reverse proxy used to serve websites, balance load, and handle high traffic efficiently.
- NoSQL DatabasesNoSQL databases provide flexible, scalable solutions for handling large volumes of unstructured or semi-structured data.
- Node.jsJavaScript Runtime environment
O
- OAuthOAuth is an open standard for secure user authentication and authorization across applications.
- ORMA programming technique that lets you interact with databases using objects and classes instead of writing SQL queries.
- ObservabilityObservability is the practice of monitoring a system's internal state using logs, metrics, and traces.
- OpenTelemetryOpenTelemetry is an open source observability framework that provides vendor-neutral APIs, SDKs, and data formats for collecting metrics, traces, and logs from applications and infrastructure.
- OverfittingOverfitting is when a model learns its training data too well, memorising the noise instead of the real pattern, so it fails on new data.
P
- Pair ProgrammingPair Programming is a collaborative coding technique where two developers work together on the same task. One person is the "Driver" (writes the code), and the other is the "Navigator" (reviews, suggests improvements, and strategizes). This method improves code quality, problem-solving, and knowledge sharing.
- PartitioningDividing a database into smaller, manageable pieces that can be distributed across multiple servers for better performance and scalability.
- PerplexityPerplexity measures how surprised a language model is by text, and lower means the model predicted it better.
- PostmortemA postmortem is a written record of an incident that captures what happened, why it happened, and what will change to prevent it from happening again.
- Precision and RecallPrecision measures how many of the items the model labeled as positive are actually positive, while recall measures how many of the actual positives the model found.
- Principal Component AnalysisPrincipal Component Analysis finds orthogonal axes of maximum variance in data and projects it onto fewer dimensions while preserving as much information as possible.
- Progressive Web Apps (PWA)Web applications that offer native-app-like functionality with offline capabilities and improved performance.
- Prompt EngineeringPrompt engineering is writing instructions for an AI model carefully enough that it gives you what you want reliably, not just once by luck.
- Prompt InjectionPrompt injection is an attack where text supplied to a model is crafted to override its instructions, making it ignore its intended behaviour.
Q
R
- RESTful APIsRESTful APIs follow architectural principles to provide scalable and maintainable web services.
- ROC AUCROC AUC measures a classifier's ability to separate classes across every possible threshold by summarizing its receiver operating characteristic curve into a single number.
- ROUGE ScoreROUGE scores summarisation by measuring how much of a human reference summary appears in the generated one.
- Random ForestRandom Forest is an ensemble method that trains many decision trees on different subsets of data and features, then averages their predictions to produce a more stable and accurate result.
- Rate LimitingRate limiting controls the number of requests a client can make to an API within a specific timeframe to prevent abuse.
- ReactReact is a JavaScript library that helps developers create user interfaces for websites, mobile apps, and desktop apps. It's used because it's efficient, fast, and widely adopted.
- React HooksFunctions that let you "hook into" React state and lifecycle features from function components without writing a class.
- Recurrent Neural NetworkA recurrent neural network processes a sequence one step at a time, passing a hidden state forward so earlier inputs can influence later ones.
- RedisAn in-memory data store used for caching, session management, and real-time applications.
- RegressionRegression is predicting a number rather than a category, learning the relationship between inputs and a continuous value.
- RegularizationRegularization is any technique that deliberately constrains a model so it generalises better instead of memorising its training data.
- Reinforcement LearningReinforcement learning trains an agent to make decisions by letting it act in an environment and rewarding the outcomes, rather than showing it correct answers.
- Reinforcement Learning from Human FeedbackRLHF trains a model to prefer the responses people rate higher, which is how raw language models become assistants that follow instructions.
- Relational DatabaseA structured way of storing and managing data using tables and relationships.
- ReplicationCopying data across multiple database servers to improve availability, performance, and fault tolerance.
- RerankingReranking is a second-stage retrieval step that takes an initial set of candidate documents and reorders them by semantic fit to the query using a more powerful but slower cross-encoder model.
- Responsive DesignAn approach to web design that makes pages adapt and look good on all devices and screen sizes.
- Retrieval Augmented GenerationRAG is a pattern where you search your own documents for relevant passages and paste them into the prompt, so the model answers from real sources instead of memory.
- Reverse ProxyA reverse proxy sits in front of backend services and forwards client requests to them, providing a single public entry point for routing, caching, termination, and security.
- RoboticsThe field combining mechanical engineering, electronics, and software to create machines that can perform tasks autonomously or semi-autonomously.
- Rolling DeploymentA rolling deployment replaces old instances with new ones gradually, keeping the service available while the update progresses through the fleet.
S
- ScalabilityThe ability of a system to handle growing amounts of work.
- Secrets ManagementSecrets management is the practice of storing, distributing, and rotating sensitive credentials such as API keys, certificates, database passwords, and tokens in a controlled and auditable way.
- Semantic SearchSemantic search retrieves documents by meaning rather than keyword overlap, using embedding similarity to find results that match the intent behind a query.
- ServerA computer or software that provides services, resources, or data to other computers (clients) over a network.
- Server-Side RenderingSSR (Server-Side Rendering) means a webpage is generated on the server before being sent to the browser. Instead of sending an empty HTML file and letting JavaScript build everything on the client, the server prepares the page with content and sends a ready-to-display HTML file to the browser. This makes the page load faster, improves SEO, and is great for dynamic content that changes based on user requests.
- ServerlessA cloud computing model where you write code without managing servers. The cloud provider handles infrastructure automatically.
- Service Level AgreementA Service Level Agreement is a contractual commitment between a provider and a customer that defines the expected service level, usually measured as availability, response time, or support response.
- Service Level ObjectiveA Service Level Objective is a reliability target for a service, expressed as a percentage, latency bound, or throughput floor that users can depend on.
- Service WorkerA script that runs in the background, enabling offline functionality, push notifications, and caching for web applications.
- Site Reliability EngineeringSite Reliability Engineering is a discipline that applies software engineering practices to operations problems, making production systems scalable, measurable, and automatable.
- Software TestingEnsuring code reliability with unit, integration, and E2E testing.
- State ManagementThe practice of managing and synchronizing the data (state) of an application across various components and user interactions.
- Structured OutputStructured output is any technique that forces a language model to return data matching a predefined schema, such as JSON, XML, or a custom grammar, instead of free-form prose.
- Supervised LearningSupervised learning trains a model on examples where the right answer is already known, so it can predict the answer for new cases.
- Support Vector MachineA support vector machine is a classifier that finds the hyperplane with the maximum margin between classes, using kernel methods to handle nonlinear boundaries when needed.
- Synthetic DataSynthetic data is artificially generated data that mimics the statistical properties of real data, used to augment training sets, test edge cases, or protect privacy.
- System DesignSystem design is the process of designing the elements of a system such as the architecture, modules and components, the different interfaces of those components and the data that goes through that system.
- System PromptA system prompt is a hidden instruction set at the start of a conversation that shapes how a model behaves throughout the entire interaction, before the user ever speaks.
T
- TemperatureTemperature is a sampling parameter that controls randomness in a language model's output by scaling the probability distribution before the next token is chosen.
- TerraformTerraform is an infrastructure as code tool that provisions and manages cloud and on-prem resources using declarative configuration files and a consistent plan-and-apply workflow.
- TokenizationTokenization is the process of splitting text into small pieces called tokens, which are the units a language model actually reads.
- Training DataTraining data is the set of examples a model learns from, and its quality sets the ceiling on how good the finished model can possibly be.
- Transfer LearningTransfer learning starts from a model already trained on a large dataset and adapts it to your task, which needs far less data than training from scratch.
- TransformerA transformer is the neural network design behind modern AI models, which reads a whole sequence at once using attention instead of stepping through it word by word.
- TypeScriptA strongly typed programming language that builds on JavaScript, providing better tooling at any scale.
U
- UnderfittingUnderfitting is when a model is too simple to learn the pattern in its data, so it gets things wrong even on the examples it trained on.
- Unit TestingA type of testing where individual software components are tested to ensure correctness.
- Unsupervised LearningUnsupervised learning finds structure in data that has no labels, grouping similar things together or reducing complexity without being told what to look for.
V
- Variational AutoencoderA VAE learns to compress data into a smooth probabilistic space and rebuild it, which lets you generate new samples by picking points in that space.
- Vector DatabaseA vector database stores embeddings and finds the ones closest in meaning to a query, rather than matching exact values the way a normal database does.
- Virtual DOMThe Virtual DOM is a lightweight copy of the real DOM that optimizes UI updates. It tracks changes, compares the previous and new versions ("diffing"), and updates only the necessary parts of the real DOM, improving performance.
W
- Web Performance OptimizationTechniques to improve website loading speed.
- Web3The next evolution of the internet, enabling decentralized applications and blockchain-based interactions.
- WebAssembly (WASM)A binary instruction format for a stack-based virtual machine that enables high-performance web applications.
- WebSocketsA protocol that provides full-duplex communication between client and server for real-time applications.
- WebhooksA way for applications to send real-time data to other applications when events happen, using HTTP callbacks.