1 Algorithm /ˈælɡəˌrɪðəm/ Algoritma
A finite, step-by-step procedure for solving a problem or performing a computation. It defines an ordered set of operations that transforms input data into a desired output.
Software Engineering English covers terms used in modern software teams — architecture, APIs, testing, deployment, version control and agile collaboration. This free glossary lists the 60 most frequently used of the 520 Software Engineering terms in the Engineering English iOS app — each with IPA pronunciation and a working definition. In the app, every term also includes example sentences, translations in 21 languages, flashcards and AI conversation practice.
Documentation, code reviews, stand-ups and interview processes in international software teams all happen in English. Knowing the precise terms for architecture, testing and deployment lets developers contribute from day one in a global team.
Last updated: July 30, 2026 · How terms are selected and ranked · 🇹🇷 Türkçesi
Quick answer: The 10 most frequently used Software Engineering terms in English are Algorithm, Function, Loop, Array, Version Control, Commit, Database, API, Server, Big O Notation. The full Engineering English library contains 520 Software Engineering terms with pronunciation, example sentences, translations and flashcards.
A finite, step-by-step procedure for solving a problem or performing a computation. It defines an ordered set of operations that transforms input data into a desired output.
A named, reusable block of code that performs a specific task and can accept inputs and return a result. It helps organize programs into smaller, testable units.
A control structure that repeats a block of code while a condition holds or for each item in a collection. It automates repetitive tasks within a program.
A data structure that stores an ordered collection of elements of the same type in contiguous memory. Each element is accessed directly by its numeric index.
A system that records changes to files over time so that specific versions can be recalled, compared, and restored later.
A recorded snapshot of changes saved to a version control repository, together with a message describing what was modified and why.
An organized collection of structured data stored electronically and managed by software that allows efficient storage, retrieval, and modification of information.
A defined set of rules and interfaces that lets one software program request services or exchange data with another program.
A computer or program that provides services, data, or resources to other programs or devices that request them over a network.
A mathematical notation describing the upper bound of an algorithm's growth rate in time or space relative to input size. It characterizes the worst-case scenario of algorithm efficiency.
An efficient algorithm for finding a target value within a sorted array by repeatedly dividing the search interval in half. It reduces the time complexity to O(log n).
Quicksort is an efficient, in-place divide-and-conquer sorting algorithm. It works by selecting a pivot element and partitioning the array around the pivot such that smaller elements go left and larger to the right.
A mathematical notation used to describe the limiting behavior of a function, commonly used to classify algorithms by their runtime or space requirements as input size grows.
The amount of memory space required by an algorithm as a function of the input size. It includes both auxiliary space and the space taken by the inputs.
Publish-Subscribe is a messaging pattern where senders (publishers) broadcast messages without knowing the receivers (subscribers). Subscribers express interest in certain message types and receive only those messages.
A consensus algorithm is a protocol used in distributed systems to achieve agreement on a single data value among multiple processes or nodes. It ensures that even if some nodes fail, the system can still agree on a consistent state.
A security vulnerability that allows attackers to inject malicious scripts into web pages viewed by other users. It typically occurs when user input is not properly sanitized before being rendered.
A code injection technique that exploits a security vulnerability in an application's database layer by inserting malicious SQL statements. It can lead to unauthorized data access or modification.
A security concept that grants users or processes only the minimum permissions necessary to perform their tasks. This reduces the attack surface and limits damage from compromised accounts.
Input validation is the process of verifying that user-supplied data meets expected format, type, and range constraints before processing. It is a fundamental secure coding practice to prevent injection attacks and data corruption.
Phishing is a social engineering attack where attackers deceive individuals into revealing sensitive information by impersonating a trustworthy entity.
Ransomware is a type of malware that encrypts a victim's files, demanding a ransom payment for the decryption key.
A brute force attack is a trial-and-error method used to obtain information by trying all possible combinations.
OAuth is an open standard protocol that allows secure delegated access to resources without sharing user credentials. It is widely used for token-based authentication and authorization in web and mobile applications.
Transport Layer Security (TLS) is a cryptographic protocol that provides secure communication over a network. It ensures confidentiality, integrity, and authentication between client and server applications.
Privilege escalation is an attack where a user gains elevated access to resources beyond what is authorized, either vertically (gaining higher-level permissions) or horizontally (accessing other users' data). It often exploits software bugs or misconfigurations.
A join is an operation that combines rows from two or more tables based on a related column between them.
A foreign key is a column or set of columns in a relational database table that establishes a link between data in two tables. It enforces referential integrity by ensuring that values in the foreign key column match a primary key in another table.
A primary key is a unique identifier for each record in a relational database table. It ensures that no two rows have the same value in the key column(s) and that each record can be uniquely accessed.
An execution plan is a detailed roadmap generated by the query optimizer showing how a SQL statement will be executed, including the order of operations and access methods. It helps engineers diagnose performance issues.
A database schema is the structural definition of a database, including tables, columns, data types, indexes, and relationships. It serves as a blueprint for data organization and integrity.
An open-source system for automating deployment, scaling, and management of containerized applications. It groups containers into logical units for easy discovery and management.
Infrastructure as code (IaC) is the practice of managing and provisioning data center resources through machine-readable definition files rather than manual configuration. It enables consistent and repeatable environments across development, staging, and production.
Observability is the ability to infer the internal state of a system from its external outputs, such as logs, metrics, and traces. It enables engineers to understand and troubleshoot complex distributed systems without additional instrumentation.
A pod is the smallest and simplest unit in the Kubernetes object model. It represents a single instance of a running process in a cluster and can contain one or more containers.
In a Kubernetes cluster, a node is a worker machine (physical or virtual) that runs containerized applications. Each node contains the necessary services to run pods and is managed by the control plane.
A CI/CD pipeline is an automated sequence of steps that builds, tests, and deploys code changes. It enforces continuous integration by running tests on every commit and continuous deployment by releasing validated code to production.
A container image is a lightweight, standalone, executable package that includes everything needed to run a piece of software, including the code, runtime, libraries, and settings. It ensures consistent behavior across different environments.
An environment is a specific configuration of infrastructure, runtime, and resources where an application is deployed and executed. Engineers manage separate environments such as development, staging, and production to control testing and release workflows.
kubectl is a command-line tool for interacting with Kubernetes clusters. It allows engineers to deploy applications, inspect and manage cluster resources, and troubleshoot issues.
A creational design pattern that ensures a class has only one instance and provides a global point of access to it.
An architectural pattern that separates an application into three interconnected components: Model (data), View (user interface), and Controller (input handling).
The dependency inversion principle is a design principle that states high-level modules should not depend on low-level modules; both should depend on abstractions. It decouples software components and makes the system more flexible and testable.
An assertion is a boolean expression embedded in code that checks whether a specific condition holds true at runtime. It is used to validate assumptions and catch defects early during development or testing.
A breakpoint is a designated line or instruction in source code where a debugger pauses execution so that the engineer can inspect the program's state. It allows step-by-step analysis of variables, call stacks, and program flow.
Debugging is the process of identifying, analyzing, and removing errors or defects in software code. It involves using tools and techniques to trace program execution and locate the root cause of unexpected behavior.
Test automation uses specialized tools to execute test cases and compare actual outcomes with expected results automatically. It reduces manual effort, accelerates feedback, and supports continuous testing in CI/CD pipelines.
A stand-up meeting is a brief daily gathering where team members synchronize their work and plan for the next 24 hours. It typically discusses what was done yesterday, what will be done today, and any blockers.
A Kanban board is a visual project management tool that displays work items as cards moving through columns representing workflow stages. It helps teams limit work in progress and improve flow.
The product owner is a role responsible for defining and prioritizing the product backlog to ensure the development team delivers maximum value. They act as the liaison between stakeholders and the development team.
Git push is a command that uploads local repository content to a remote repository. It is used to share commits and synchronize work with team members.
A Scrum Master facilitates agile ceremonies and removes impediments for the development team, ensuring adherence to Scrum practices. They act as a servant-leader rather than a project manager.
A diff is a textual representation of the differences between two versions of a file or directory in a version control system. Engineers use diffs to review changes made in a commit or between branches.
Git pull is a command that fetches changes from a remote repository and merges them into the current local branch.
Git status displays the current state of the working directory and staging area, showing modified, staged, and untracked files.
CORS is a security mechanism that allows a web page from one domain to access resources from another domain. It uses HTTP headers to indicate which origins are permitted to read the response.
A Promise is an object representing the eventual completion or failure of an asynchronous operation. It allows you to attach callbacks instead of passing them as arguments, enabling cleaner asynchronous code.
Git is a distributed version control system used to track changes in source code during software development. It enables multiple developers to collaborate on projects efficiently.
Docker is a platform for developing, shipping, and running applications inside lightweight containers. It ensures consistency across development, testing, and production environments.
Angular is a TypeScript-based open-source web framework for building dynamic single-page applications. It provides tools for routing, forms, HTTP client, and state management.
The 10 most frequently used Software Engineering terms in the Engineering English library are Algorithm, Function, Loop, Array, Version Control, Commit, Database, API, Server, Big O Notation. This page lists the top 60 of 520 terms, ranked by usage frequency.
520. Each one includes an IPA pronunciation, a plain-English definition, a real example sentence and translations in 21 languages; the 60 most frequent are free to browse on this page.
Every term on this page shows its IPA transcription — for example Algorithm is pronounced /ˈælɡəˌrɪðəm/, Function is /ˈfʌŋkʃən/ and Loop is /luːp/. The Engineering English app also plays audio for each term and checks your pronunciation with speech recognition.
Get every term with example sentences, audio, 21-language translations, flashcards and AI practice.
Download Engineering English