Software Engineering Vocabulary: 1,000 Key English Terms
Learn English for software development through 1,000 terms, from programming and databases to web and mobile development, cloud systems, security and data processing. Read each meaning, explore where the term is used and study example sentences. Click unfamiliar words for contextual explanations as you read. No account is required.
1,000 terms
13 topics
429 core terms
2,012 example sentences
Read, understand, keep going
No account needed. Read the meaning, see where the term is used, then study the examples. Click any word in the lesson for help. You can also select a word and press Alt + Enter.
Programming Concepts
function
noun
Meaning
A named block of code that does one job. It can take input values, and it often returns a result to the code that called it.
Where you use it
You write, define, call and test functions. In object-oriented code, a function that belongs to a class is usually called a 'method'. Reviewers often say 'This function does too much; can we split it?'
Examples
This function is 200 lines long. Let's split it into smaller ones.
The function returns null if the user isn't found.
Common phrases
call a function · define a function · helper function · the function returns · pure function
A name in a program that stores a value, such as a number, text or list, so that the code can use or change that value later.
Where you use it
You declare, assign, rename and pass variables. Reviewers often comment on names: 'Can we give this variable a clearer name than x?' 'Environment variables' hold settings outside the code.
Examples
Rename this variable to retryCount so it's clear what it holds.
The API key is stored in an environment variable, not in the code.
Usage note
The stress is on the first syllable: VAIR-ee-uh-bul. Many learners stress the wrong part of the word.
Common phrases
declare a variable · environment variable · local variable · global variable · variable name
All the source code that makes up a project or product, seen as one whole, including its structure, style and history.
Where you use it
Developers describe a codebase as large, old, clean, messy or well-tested. New team members spend their first weeks getting to know the codebase, and changes may need to be made 'across the codebase'.
Examples
The codebase is about ten years old, so some parts still use jQuery.
Take your first week to explore the codebase and ask questions.
Common phrases
large codebase · legacy codebase · explore the codebase · across the codebase
A collection of ready-made code that other programs can use, so that developers don't have to write common things like date handling or HTTP requests themselves.
Where you use it
You install, import, use and update libraries, usually through a package manager such as npm or pip. A 'third-party library' is one written by people outside your team.
Examples
Don't write your own date parser; there's a library for that.
We had to update the logging library because of a security issue.
Usage note
A library is code you call when you need it; a framework calls your code and decides the overall structure.
Common phrases
import a library · third-party library · open-source library · update a library · standard library
To make a function, method or API run from another part of the code. As a noun, 'a call' is one such request, for example 'an API call'.
Where you use it
Used constantly: 'call a function', 'call the API', 'this method is called twice'. The noun appears in 'API call', 'network call' and 'function call'. A 'callback' is a function passed to be called later.
Examples
We call the pricing service every time the page loads, which is too often.
This function is called from three different places.
Can we cache the result instead of making a network call each time?
Common phrases
call a function · call an API · API call · make a call · function call
A piece of code that repeats the same steps several times, for example once for every item in a list or until a condition becomes false.
Where you use it
Developers write for loops and while loops, loop over or loop through a list, and break out of a loop. An 'infinite loop' never ends and is a classic bug.
Examples
We loop through all the orders and send one email per customer.
The server froze because of an infinite loop in the retry logic.
Common phrases
for loop · while loop · infinite loop · loop through · break out of a loop
In object-oriented programming, a template that defines the data and behavior of a type of object, such as a User or an Invoice.
Where you use it
You define, extend, instantiate and test classes. Objects are 'instances' of a class, and functions inside a class are called 'methods'. Reviewers may say 'This class has too many responsibilities.'
Examples
I moved the email logic into its own class.
Each payment provider has a class that implements the same interface.
Common phrases
define a class · base class · class method · create an instance of a class · extend a class
A named input that a function or method accepts, listed in its definition. The actual value you pass in when you call it is called the argument.
Where you use it
Functions take, accept and require parameters. You also hear 'query parameters' in URLs (?page=2) and 'optional parameter' or 'default parameter' in reviews.
Examples
This function takes six parameters. Can we pass an options object instead?
The page size is a query parameter, and it defaults to 20.
Usage note
Strictly, a parameter is the name in the definition and an argument is the value you pass, but many developers use the two words loosely.
Common phrases
take a parameter · optional parameter · query parameter · default parameter · pass a parameter
Short for integrated development environment: an application for writing code that brings together an editor, a debugger, search and other tools in one place.
Where you use it
Developers compare and configure IDEs such as IntelliJ IDEA, Visual Studio or Xcode. You hear 'My IDE flags this as an error', 'IDE plugin' and 'IDE settings'.
Examples
My IDE shows a warning here, but the code compiles fine.
Which IDE do you use for Android development?
Usage note
Say the letters separately: I-D-E (eye-dee-ee).
Common phrases
use an IDE · IDE plugin · IDE settings · open the project in the IDE
To turn source code written by people into code that a computer can run, using a program called a compiler.
Where you use it
Code compiles or it doesn't: 'It doesn't compile', 'compile errors', 'compile time'. Languages such as Java, C# and Go have a separate compile step; Python and JavaScript usually don't.
Examples
Your branch doesn't compile. You forgot to import the new class.
The compiler catches type errors before the code is ever run.
Common phrases
compile the code · compile error · compile time · fail to compile
A piece of text in a program, such as a name, a message or a password, stored as a sequence of characters and usually written inside quotes.
Where you use it
One of the most common data types in every language. Developers say 'pass a string', 'convert a number to a string' or 'an empty string'. In code the type is written str, String or string, depending on the language.
Examples
The API returns the date as a string, so we need to parse it first.
Check for an empty string before you save the username.
Common phrases
empty string · convert to a string · string value · string concatenation
A data type that has only two possible values, true or false, used for yes-or-no decisions such as whether a user is logged in.
Where you use it
Often shortened to bool. Boolean variables are usually named like questions, for example isActive, hasAccess or canEdit. People also talk about a 'boolean flag' or a 'boolean expression'.
Examples
Add a boolean field called isArchived instead of deleting the record.
This function returns a boolean, so you can use it directly in the if statement.
Usage note
Pronounced BOO-lee-un, not 'bo-LEAN'. The name comes from the mathematician George Boole.
Common phrases
boolean flag · boolean value · boolean expression · return a boolean
A unit in a program that groups related data and the functions that work on it, for example a user object with a name, an email and a login method.
Where you use it
Central to object-oriented programming, where objects are created from classes. In JavaScript and JSON, 'object' also simply means a set of key-value pairs inside curly braces. Common verbs: create, pass, return and mutate an object.
Examples
The function returns an object with two fields: status and data.
Don't mutate the original object; make a copy first.
Common phrases
create an object · pass an object · object property · nested object · mutate an object
A function that belongs to a class or object and usually works with that object's data, for example user.save() or list.sort().
Where you use it
You call a method on an object: 'call the save method on the user'. You also hear 'static method', 'private method' and 'helper method'. In casual talk, many people use 'method' and 'function' as if they meant the same thing.
Examples
Move this logic into a private method so the controller stays short.
The getTotal method returns the wrong value when the cart is empty.
Usage note
In general English, 'method' means a way of doing something. In code it always means a function attached to a class or object.
Common phrases
call a method · static method · private method · helper method · override a method
The actual value you give to a function when you call it. In add(2, 3), the numbers 2 and 3 are the arguments.
Where you use it
You pass an argument to a function. Strictly, parameters are the names in the function definition and arguments are the values at the call site, but many developers mix the two words. Command-line tools also take arguments.
Examples
You're passing the arguments in the wrong order: the user ID should come first.
This function takes two arguments and an optional third one for the timeout.
Usage note
In everyday English, an argument is a disagreement or a reason given in a discussion. In code it only means a value passed to a function.
Common phrases
pass an argument · take an argument · optional argument · command-line arguments · invalid argument
To end a function and send a value back to the code that called it, for example when a password check gives back true or false.
Where you use it
Used all the time when describing code: 'it returns null', 'it returns a list of users'. The noun 'return value' is common too. 'Return early' means leaving a function as soon as a condition is met, to avoid deeply nested code.
Examples
If the user isn't found, the method returns null instead of throwing an error.
You can return early here and skip the whole else block.
Common phrases
return a value · return null · return early · return value · return type
A piece of code that runs only when a condition is true, often followed by an else part that runs when the condition is false.
Where you use it
Also called a conditional or an if-else statement. In reviews you hear 'nested if statements', 'this if is never true' or 'replace this chain of ifs with a switch'. Very short conditions are sometimes written on one line with a ternary operator.
Examples
Add an if statement to skip users who haven't verified their email.
Three nested if statements make this function hard to follow.
Common phrases
nested if statements · if-else statement · add an if statement · if condition
The rules for how code must be written in a programming language, such as where brackets, commas and keywords go, so that the computer can read it.
Where you use it
Developers compare languages by their syntax ('Python has a clean syntax') and look up syntax they forget ('What's the syntax for a lambda again?'). Syntax highlighting is the coloring of code in an editor.
Examples
I always forget the syntax for list comprehensions in Python.
Kotlin's syntax felt strange at first, but now I prefer it to Java.
Common phrases
syntax error · syntax highlighting · clean syntax · the syntax for
A note inside the code that the computer ignores, written to explain to other developers why something is done. Remarks left in a code review are also called comments.
Where you use it
Good comments explain why, not what. You add, leave or remove a comment. 'Comment out' means turning a line of code into a comment so that it does not run. In reviews: 'I left a few comments on your PR.'
Examples
Could you add a comment explaining why we retry three times here?
I commented out the old check, but we should delete it before merging.
Common phrases
add a comment · leave a comment · comment out · inline comment · TODO comment
The human-readable instructions that programmers write in a programming language, before they are turned into a program the computer can run.
Where you use it
Often just 'the source' or 'the code'. Typical phrases: 'the source code is on GitHub', 'read the source', 'the source code is available'. Companies protect their source code, while open-source projects publish it.
Examples
When the docs weren't clear, I read the library's source code to see what it actually does.
Contractors must not copy our source code to their personal laptops.
Common phrases
read the source code · access to the source code · publish the source code · source code repository
Describes software whose source code is public, so anyone can read, use, change and share it under the terms of its license.
Where you use it
Written 'open-source' with a hyphen before a noun (an open-source library) and 'open source' after a verb (the project is open source). You contribute to open source or open-source a tool. Check a project's license before using it at work.
Examples
We use an open-source library for PDF generation, so check its license first.
Contributing to open source is a great way to practice code review in English.
Usage note
Open source does not always mean you may use the code for any purpose: licenses such as GPL and MIT set different rules.
Common phrases
open-source project · contribute to open source · open-source license · open-source a tool
To turn a plan, design or feature idea into working code. In object-oriented code, it also means to provide the methods that an interface requires.
Where you use it
Very common in tickets and stand-ups: 'implement the search feature', 'I've implemented the API call'. The noun 'implementation' means the actual code ('the current implementation is slow'). An 'implementation detail' is something users of the code do not need to know.
Examples
I'll implement the password reset flow this sprint and the email templates next sprint.
The current implementation loads every row into memory, which won't scale.
Common phrases
implement a feature · implement an interface · current implementation · implementation detail
In programming, a list of methods that a class promises to provide, without saying how they work. More generally, the point where two systems, or a user and a system, meet.
Where you use it
In Java, C# and TypeScript, a class 'implements an interface'. The word also appears in 'user interface (UI)', 'command-line interface (CLI)' and 'application programming interface (API)'. 'A clean interface' means a simple, well-designed way to use a module.
Examples
Both payment providers implement the same interface, so we can switch between them easily.
The module has a small, clean interface: just three public methods.
Common phrases
implement an interface · clean interface · public interface · user interface
A style of programming that organizes code into objects that combine data and behavior, built on ideas such as classes, inheritance and encapsulation.
Where you use it
Usually shortened to OOP, said letter by letter. Java, C# and C++ are strongly object-oriented; Python and JavaScript support it too. Its four classic principles, encapsulation, abstraction, inheritance and polymorphism, are common interview topics.
Examples
The course starts with the basics of object-oriented programming in Java.
Not everything needs a class; object-oriented programming isn't the only option in Python.
Common phrases
OOP principles · object-oriented design · object-oriented language · functional vs object-oriented
The time when a program is actually running, as opposed to when it is written or compiled. Also the software environment that runs the code, such as Node.js.
Where you use it
A 'runtime error' happens while the program runs, not at compile time. People say 'at runtime', 'runtime performance' and 'runtime dependency'. For the environment: 'Which Node runtime are you on?' Sometimes written 'run time' or 'run-time'.
Examples
TypeScript checks types at compile time, but the data from the API is only known at runtime.
We upgraded the Lambda runtime from Node 18 to Node 20.
Common phrases
at runtime · runtime error · runtime environment · compile time vs runtime
A tool that downloads, installs, updates and removes the libraries a project depends on, such as npm for JavaScript or pip for Python.
Where you use it
Other examples are Maven and Gradle (Java), NuGet (.NET), Cargo (Rust) and Homebrew (macOS). The package manager reads a file such as package.json and usually writes a lock file, so everyone installs the same versions.
Examples
Which package manager does this project use, npm or pnpm?
Install the SDK with your package manager instead of copying the files by hand.
Common phrases
install with a package manager · lock file · package registry · package version
A relationship in which a class receives behavior or structure from another class and can add or change selected parts.
Where you use it
Used in object-oriented design when discussing base classes, subclasses and shared behavior. Teams compare inheritance with composition before choosing a class structure.
Examples
We replaced inheritance with composition to make the payment handlers easier to test.
The diagram shows the inheritance between the base class and its subclasses.
Common phrases
class inheritance · multiple inheritance · inheritance hierarchy
The ability to use different implementations through a shared interface while each implementation provides its own behavior.
Where you use it
Used in interface design and object-oriented programming to explain how callers work with several types without handling every concrete type separately.
Examples
Polymorphism lets the exporter write to a file or a network stream through the same interface.
This example demonstrates polymorphism with two implementations of the storage interface.
Common phrases
runtime polymorphism · support polymorphism · interface-based polymorphism
Keeping an object's internal state behind a controlled interface so that other code does not depend on its internal representation.
Where you use it
Used in code reviews when discussing private fields, public methods and class boundaries. It helps explain why direct access to internal state can be fragile.
Examples
Encapsulation prevents callers from changing the account balance without validation.
Returning the internal list directly would weaken encapsulation.
Common phrases
preserve encapsulation · break encapsulation · data encapsulation
A function passed to another piece of code so that the receiving code can invoke it when needed.
Where you use it
Used in event handling, collection operations and asynchronous APIs. A callback can also be called synchronously; the term alone does not promise asynchronous execution.
Examples
Pass a callback that logs the result when the upload finishes.
The sorting callback compares two records by their creation date.
Common phrases
register a callback · invoke a callback · callback function
A type or declared set of named alternatives that represents a limited collection of possible values.
Where you use it
Used in type design to represent states, modes or categories. Often shortened to enum; language rules determine whether arbitrary underlying values are allowed.
Examples
The enumeration lists the states that an upload can enter.
We added a cancelled value to the enumeration and updated every switch branch.
Common phrases
declare an enumeration · enumeration value · enumeration type
Describing a value or object whose state cannot be changed after it has been created.
Where you use it
Used in state management, concurrent code and API design. Updating immutable data usually means creating a new value rather than modifying the old one.
Examples
The reducer returns a new immutable state object after each action.
An immutable configuration prevents one request from changing another request's settings.
Common phrases
immutable object · immutable data · immutable state
Reading a stored or transmitted representation and reconstructing the data structures or values it describes.
Where you use it
Used when consuming API responses, files and messages. Untrusted input requires validation, and unsafe object reconstruction can introduce security flaws.
Examples
Deserialization rejects the message because its date field has the wrong type.
Add a size limit before deserialization to handle oversized messages safely.
A clear, step-by-step method for solving a problem or doing a task, such as sorting a list or finding the shortest route between two points.
Where you use it
You design, implement, optimize and compare algorithms. Algorithms are a big part of technical interviews, where you are expected to explain your approach and its time complexity out loud.
Examples
The new ranking algorithm puts recent posts higher in the feed.
In the interview, I had to explain my algorithm before writing any code.
Usage note
The 'th' is pronounced like the 'th' in 'this' (AL-guh-ri-thum), not like a 't'.
A way of organizing data in memory, such as an array, list, tree or hash map, so that certain operations are fast and simple.
Where you use it
Choosing the right data structure is a common topic in reviews and interviews: 'A set would be a better data structure here.' Courses often pair the topic with algorithms as 'DSA' (data structures and algorithms).
Examples
We switched to a better data structure, and the lookup went from seconds to milliseconds.
Interviewers usually ask you to pick a data structure and explain why.
Usage note
'Data' is most often pronounced DAY-tuh; DA-tuh, with the vowel of 'cat', is also common in American English.
Common phrases
choose a data structure · basic data structures · data structures and algorithms · the right data structure
An ordered collection of items stored one after another, where each item can be reached by its position number, called an index.
Where you use it
You create, loop through, sort, filter and index into arrays. Indexes usually start at 0. JavaScript developers say 'array'; in Python the everyday equivalent is a 'list'.
Examples
The API returns an array of objects, one for each product.
Remember that arrays start at index 0, so the last item is at length minus one.
Common phrases
empty array · array of objects · loop through an array · array index · sort an array
To go through the items of a collection one by one, or more generally to repeat a process and improve the result each time.
Where you use it
In code you iterate over or iterate through a list or map. In product talk the meaning is broader: 'Let's ship a simple version and iterate on it.' The noun is 'iteration'.
Examples
We iterate over every user and check when they last logged in.
The first design is rough; we'll iterate on it after user testing.
Common phrases
iterate over a list · iterate through · iterate on a design · each iteration
A data structure that stores key-value pairs and finds the value for a given key very quickly, usually in constant time.
Where you use it
Very common in interviews: 'Use a hash map to store what you've already seen.' Languages use different names: HashMap in Java, dict in Python, Map or plain objects in JavaScript.
Examples
If you put the IDs in a hash map, you don't need the nested loop.
The cache is just a hash map from user ID to profile data.
Usage note
Also called a hash table, dictionary or map, depending on the language and the textbook.
Common phrases
use a hash map · store in a hash map · hash map lookup · key-value pairs
A technique where a function solves a problem by calling itself on a smaller part of the same problem until it reaches a simple case.
Where you use it
Common with trees, folders and nested data. Every recursive function needs a 'base case' that stops it; without one, you get a 'stack overflow'. The adjective is 'recursive'.
Examples
We use recursion to walk through the folder tree and count all the files.
The recursive call never stops because the base case is wrong.
Common phrases
use recursion · recursive function · base case · deep recursion
A way of describing how the running time or memory use of an algorithm grows as the input gets bigger, for example O(1), O(n) or O(n²).
Where you use it
Central in technical interviews and in code reviews that focus on performance. People read O(n) as 'O of n' or 'order n', and say things like 'That's O(n²); can we do better?'
Examples
In Big O notation, looking up a key in a hash map is O(1) on average.
The interviewer asked me to describe both solutions using Big O notation.
Usage note
O(n²) is read 'O of n squared', and O(log n) is read 'O of log n'.
Common phrases
in Big O notation · Big O analysis · express in Big O notation · worst-case Big O
How the number of steps an algorithm takes grows as the size of its input grows, usually written in Big O notation.
Where you use it
Interviewers ask 'What's the time complexity of your solution?' It is often discussed together with 'space complexity', which is about memory. You analyze, compare and reduce time complexity.
Examples
Sorting the list first brings the time complexity down from O(n²) to O(n log n).
The code works, but its time complexity is too high for a million records.
Common phrases
time complexity of · space complexity · reduce the time complexity · linear time complexity
The position number of an item in an array or list. In most languages counting starts at zero, so the first item has index 0.
Where you use it
You access an element 'at index 3' or 'by index'. Common errors are 'index out of range' and 'index out of bounds'. The plural is indexes or, more formally, indices. In databases, an index is something else: a structure that makes searches faster.
Examples
The loop starts at index 1, so it skips the first element.
The app crashed with an 'index out of range' error when the list was empty.
Common phrases
at index · index out of range · zero-based index · access by index
To put items in a particular order, for example numbers from smallest to largest or names alphabetically. Many algorithms exist to do this efficiently.
Where you use it
You sort a list in ascending or descending order, by date or by name. Sorting algorithms such as quicksort and merge sort are classic interview topics. Most languages have a built-in sort function, which you should normally use.
Examples
Sort the orders by date, newest first.
We sort the results on the server, so the client doesn't have to.
Usage note
As a verb, 'sort' means 'put in order', but the phrasal verb 'sort out' means 'solve' or 'organize'.
Common phrases
sort by date · sort in ascending order · sorting algorithm · sort order
A data structure where the last item added is the first one taken out (LIFO), like a pile of plates. You push items onto the top and pop them off the top.
Where you use it
Used for undo features, matching brackets and tracking function calls (the call stack). A 'stack overflow' happens when the call stack runs out of space, often because of endless recursion. In 'tech stack' or 'full stack', the word means a set of technologies instead.
Examples
Use a stack to check whether every opening bracket has a matching closing one.
The recursion went too deep and we hit a stack overflow.
Common phrases
push onto the stack · pop from the stack · call stack · stack overflow
A data structure where the first item added is the first one taken out (FIFO), like people waiting in line. Also a system that holds tasks or messages until they are processed.
Where you use it
You enqueue (add) and dequeue (remove) items. In real systems, message queues such as RabbitMQ or Amazon SQS let services work at their own pace: jobs go into the queue and wait there. Pronounced like the letter Q.
Examples
Email sending goes through a queue, so a slow mail server doesn't block checkout.
There are 50,000 jobs stuck in the queue since the worker crashed.
Usage note
In British English, 'queue' is also the everyday word for a line of people; Americans usually say 'line'.
Common phrases
message queue · add to the queue · job queue · queue up
A data structure made of nodes, where each node holds a value and a pointer to the next node, so items are connected in a chain instead of stored side by side.
Where you use it
Adding or removing items is fast, but finding the nth item is slow because you must walk the chain. Variants are singly and doubly linked lists. They are a favorite topic in coding interviews ('reverse a linked list') but less common in everyday application code.
Examples
In the interview they asked me to detect a cycle in a linked list.
We switched from an array to a linked list because we insert items in the middle all the time.
Common phrases
singly linked list · doubly linked list · reverse a linked list · traverse a linked list
A data structure with a root at the top and branches of child nodes below it, used for data that has levels, such as folders, menus or a page's HTML.
Where you use it
Common types are binary trees, binary search trees and the DOM tree in browsers. You traverse or walk a tree, often with recursion. Nodes without children are called leaves. Trees are drawn upside down, with the root at the top.
Examples
The category menu is stored as a tree, so subcategories can go as deep as needed.
Write a function that returns the depth of a binary tree.
Common phrases
binary tree · traverse a tree · root node · tree structure
A fast way to find a value in a sorted list by checking the middle item and repeatedly throwing away the half where the value cannot be.
Where you use it
Its time complexity is O(log n), so even a million items need only about 20 steps. It only works on sorted data. The same idea is behind 'git bisect', which finds the commit that introduced a bug.
Examples
Since the timestamps are already sorted, we can use binary search instead of scanning the whole list.
I did a binary search through the commits and found the one that broke the build.
A simple approach that tries every possible option until it finds the answer. It is easy to write but often too slow for large inputs.
Where you use it
In interviews, candidates often start with 'the brute-force solution' and then optimize it. It is written with a hyphen before a noun. In security, a 'brute-force attack' tries many passwords until one works.
Examples
The brute-force solution is O(n²); can you do better with a hash map?
Brute force works for 100 items, but our real data has ten million.
Common phrases
brute-force solution · brute-force approach · brute-force attack · start with brute force
How much extra memory an algorithm needs as its input grows, usually written in Big O notation, for example O(1) or O(n).
Where you use it
Usually discussed together with time complexity: 'What's the time and space complexity?' is a standard interview question. There is often a trade-off, because using more memory, for example a cache or a hash map, can make an algorithm faster.
Examples
This version is faster, but its space complexity is O(n) because of the extra array.
Can you reduce the space complexity to O(1) by sorting in place?
Common phrases
time and space complexity · constant space · reduce space complexity · O(1) space
A request to merge your code changes from one branch into another, so that teammates can review and discuss them first.
Where you use it
Used every day on GitHub, Bitbucket and similar platforms. You open, review, approve and merge a pull request; people usually shorten it to PR. A 'draft PR' is not ready for full review yet.
Examples
I opened a pull request for the login fix. Can you take a look before lunch?
Please keep pull requests small; a 2,000-line diff is hard to review.
The pull request was merged after two approvals.
Usage note
GitLab calls the same thing a merge request (MR).
Common phrases
open a pull request · review a pull request · merge a pull request · draft pull request
A saved snapshot of changes in a repository, with a short message that explains what was changed and why. Also used as a verb: to commit your changes.
Where you use it
Works as both noun and verb in Git: 'make a commit', 'commit your changes', 'the last commit'. Good commit messages are short and clear, for example 'Add retry to payment client'.
Examples
Can you split this into smaller commits? It's hard to see what changed.
I committed the config change by mistake, so I'll revert it.
The bug was introduced in a commit from last Tuesday.
Usage note
Turkish developers say 'commit atmak', but 'throw a commit' is not English. Say 'make a commit' or simply 'commit'.
Common phrases
make a commit · commit your changes · commit message · the latest commit · revert a commit
A separate line of development in a repository, where you can work on changes without affecting the main code until you are ready to merge.
Where you use it
You create, switch, push and delete branches. Teams talk about the main branch, feature branches and release branches, and often follow naming rules such as feature/search or fix/login-timeout.
Examples
Create a new branch from main before you start the ticket.
My branch is three days behind main, so I need to update it.
Usage note
Many projects renamed the default branch from 'master' to 'main', so you will see both names in older and newer documentation.
Common phrases
create a branch · switch branches · feature branch · main branch · delete a branch
To combine the changes from one branch into another, so that both sets of work end up in the same code.
Where you use it
You merge a branch into main, merge a pull request or merge main into your own branch to get the latest changes. It is also a noun: 'a merge', 'a merge commit'.
Examples
Don't merge yet. The tests are still running.
Once you get two approvals, you can merge it into main.
I merged the latest main into my branch to pick up the new config.
Common phrases
merge into main · merge a pull request · merge commit · merge the changes
A storage place for a project's code and its full history of changes, usually managed with Git and often hosted online.
Where you use it
Almost always shortened to 'repo' in speech. You clone, fork, create and archive repositories. Teams talk about 'the backend repo', 'a private repo' and a 'monorepo', which holds many projects in one repository.
Examples
The deployment scripts live in a separate repository.
I can't push to the repository. Do I need write access?
Common phrases
clone a repository · private repository · public repository · create a repository
To send your local commits to a shared remote repository, so that other people and automated systems can see them.
Where you use it
You push a branch, push your changes or push to main. A 'force push' rewrites the remote history and should be used carefully. 'Push' is also used for releases: 'push a fix to production'.
Examples
I pushed my branch, so you can pull it and try it locally.
Don't force push to a branch that other people are working on.
Common phrases
push a branch · push your changes · push to main · force push · push a fix
A situation where Git cannot combine two branches automatically because both changed the same lines, so a person has to choose the right version.
Where you use it
You get, run into and resolve merge conflicts. They are common in busy files such as configuration or translation files. People also just say 'conflicts': 'My PR has conflicts with main.'
Examples
I got a merge conflict in the translation file after rebasing.
Can you resolve the merge conflicts before I review it again?
Common phrases
resolve a merge conflict · run into a merge conflict · conflicts with main · conflict markers
In Git, to switch your working files to a particular branch or commit so that you can see or work on that version of the code.
Where you use it
Common in instructions and pair work: 'Check out my branch and run it.' The command is git checkout, and newer Git versions also offer git switch for changing branches. Outside Git, 'check out' also means 'have a look at'.
Examples
Check out the release branch and see if the bug is there too.
I checked out an old commit to find when the test started failing.
Usage note
The verb is two words ('check out a branch'); the one-word 'checkout' is the Git command or a noun, as in the 'checkout page' of an online shop.
Common phrases
check out a branch · check out a commit · check out a new branch · git checkout
To download a full copy of a remote repository, including its history, to your own computer so that you can work on it.
Where you use it
Usually the first step on a new project: 'Clone the repo and follow the README.' You clone over HTTPS or SSH. 'Fork' is different: it creates your own copy of the repository on the server.
Examples
Clone the repository and run the setup script; it installs everything you need.
I couldn't clone the project because my SSH key wasn't added yet.
Common phrases
clone a repository · clone over SSH · clone the repo · git clone
In Git, to move your branch's commits so that they start from a newer point, usually the latest main, which gives a cleaner, straight-line history.
Where you use it
Teams often debate 'rebase vs merge'. You rebase on main or rebase onto main before merging. Rebasing rewrites history, so you should not rebase a branch that other people are also using.
Examples
Can you rebase your branch on main? It's 40 commits behind.
After rebasing, I had to force push because the history had changed.
Common phrases
rebase on main · rebase onto · interactive rebase · rebase vs merge
A system that records every change to a set of files over time, so a team can work on the same code, see who changed what and go back to earlier versions.
Where you use it
Git is by far the most widely used version control system (VCS); older ones include SVN and Mercurial. You put a project 'under version control' or 'check files into version control'. It is also called source control.
Examples
Never commit passwords or API keys to version control.
Thanks to version control, we could see exactly which commit broke the build.
Common phrases
version control system · under version control · source control · check into version control
The most widely used version control system: a free, open-source tool that tracks changes in code and lets many developers work on the same project.
Where you use it
Created by Linus Torvalds in 2005. Developers talk about Git commands (git commit, git pull) and Git workflows. Git is the tool; GitHub, GitLab and Bitbucket are websites that host Git repositories.
Examples
Are you comfortable with Git, or should we pair on your first merge?
Run git status to see which files you've changed.
Usage note
Git and GitHub are not the same thing: you can use Git without GitHub. Git is pronounced with a hard g, as in 'give'.
To download the latest changes from a remote repository and merge them into your local copy, so your code is up to date with your team's.
Where you use it
The opposite of push. People say 'pull the latest changes', 'pull from main' or just 'pull first' before starting work. In Git, a pull is a fetch followed by a merge, or by a rebase if you use --rebase.
Examples
Pull the latest changes from main before you start your new branch.
I pulled this morning and now the project doesn't compile.
Usage note
A pull request is not the same as a pull: in a pull request, you ask others to take your changes.
Common phrases
pull the latest changes · pull from main · pull and rebase · git pull
A view or file that shows exactly which lines were added, removed or changed between two versions of code, usually in green and red.
Where you use it
Short for difference. Reviewers 'look at the diff' of a pull request; a small diff is easy to review and a large one is not. It can also be a verb: 'diff the two config files'.
Examples
The diff is 2,000 lines long. Could you split it into smaller PRs?
I diffed the two configs and found a missing timeout setting.
Common phrases
look at the diff · small diff · diff view · git diff
The short text that describes what a commit changes and why. Teammates read it later to understand the history of the code.
Where you use it
A common style is a short summary line in the imperative mood ('Fix login timeout', not 'Fixed'), then a blank line and more detail. Many teams follow a convention such as Conventional Commits ('feat:', 'fix:'). Messages like 'update' or 'wip' are seen as bad practice.
Examples
Please write a clearer commit message; 'changes' doesn't tell us anything.
The commit message links to the ticket, so we know why the limit was raised.
Common phrases
write a commit message · descriptive commit message · amend the commit message · commit message convention
The central branch of a repository that holds the official, up-to-date version of the code. Other branches are created from it and merged back into it.
Where you use it
Usually named main; older projects use master. Teams protect the main branch so nobody can push to it directly. People say 'branch off main', 'merge into main' and 'main is broken' when the latest build fails.
Examples
Nobody can push directly to the main branch; everything goes through a pull request.
Create your branch from the latest main branch, not from my feature branch.
Usage note
Many projects renamed master to main around 2020, so you will see both names in documentation.
Common phrases
merge into the main branch · protected main branch · branch off main · keep main green
A separate branch created to work on one feature or fix, so the work can be developed and reviewed without affecting the main branch.
Where you use it
Teams often name them after the ticket, such as feature/PAY-142-refund. A feature branch should be short-lived, because long-lived branches cause painful merge conflicts. Once the pull request is merged, the branch is usually deleted.
Examples
Create a feature branch from main and name it after the Jira ticket.
This feature branch has been open for six weeks; it's going to be hard to merge.
Common phrases
create a feature branch · short-lived feature branch · merge the feature branch · delete the feature branch
To undo a change by creating a new commit that does the exact opposite, so the earlier state returns while the history stays intact.
Where you use it
In Git, 'git revert' is the safe way to undo a commit that is already on a shared branch, unlike reset, which rewrites history. People say 'revert the commit' or 'revert the PR'. GitHub has a Revert button on merged pull requests.
Examples
The new caching broke the search page, so I reverted the commit and reopened the ticket.
Let's revert the PR now and investigate on Monday.
Usage note
In general English, 'revert to' means 'go back to an earlier state'. Some non-native speakers use 'revert' to mean 'reply' ('I will revert to you'), which sounds unusual to many native speakers.
Common phrases
revert a commit · revert the PR · revert the change · git revert
To make your own copy of someone else's repository on a platform such as GitHub, so you can change it freely and later propose your changes back.
Where you use it
The normal way to contribute to open source: fork the repo, push to your fork, then open a pull request to the original ('upstream') project. As a noun, 'a fork' is the copy itself. A fork can also become a separate project when a community splits.
Examples
Fork the repository, make your fix and open a pull request to the main project.
We maintain our own fork of the library with a patch the original authors rejected.
Usage note
Forking and cloning are different: cloning copies a repository to your computer, while forking creates a copy under your account on the hosting site.
Common phrases
fork a repository · maintain a fork · push to your fork · sync your fork
In Git, to save your unfinished changes in a temporary place and clean your working copy, so you can switch tasks and bring the changes back later.
Where you use it
Common when an urgent bug interrupts your work: stash your changes, switch branches, fix the bug, then 'pop the stash'. The main commands are git stash, git stash pop and git stash list. In everyday English, 'stash' means to hide something for later.
Examples
Stash your changes, pull the latest main and then pop the stash.
I forgot I had stashed the half-written migration and wrote it again from scratch.
Common phrases
stash your changes · pop the stash · git stash · apply a stash
In Git, to copy one specific commit from one branch onto another without merging the whole branch. In general English, to choose only the best or most useful items.
Where you use it
Often used to bring a bug fix into a release branch: 'cherry-pick the fix into release/2.4'. It is handy but can create duplicate commits, so teams use it carefully. Outside Git it can sound critical: 'They cherry-picked the data that supported their idea.'
Examples
Can you cherry-pick the login fix into the release branch? We can't ship the rest yet.
I cherry-picked two commits from Ali's branch to unblock my work.
Common phrases
cherry-pick a commit · cherry-pick into the release branch · git cherry-pick · cherry-pick a fix
The practice of teammates reading and commenting on each other's code changes before they are merged, to catch problems and share knowledge.
Where you use it
Part of the everyday workflow on GitHub or GitLab. You ask for, do and pass a code review. 'Review' is also used alone as a verb: 'Can you review my PR?'
Examples
Every change needs at least one code review before it goes into main.
During code review, Elif noticed that the query runs inside a loop.
Common phrases
do a code review · ask for a code review · pass code review · code review comments
To improve the structure of existing code, making it cleaner or easier to change, without changing what it does for the user.
Where you use it
Common in reviews and planning: 'refactor this into a separate class', 'a big refactor'. The noun is 'refactoring' or, informally, 'a refactor'. Good refactoring happens in small steps with tests in place.
Examples
I refactored the payment module so each provider has its own class.
Let's not mix a refactor with a bug fix in the same PR.
Common phrases
refactor the code · a big refactor · refactor into · refactoring work
The future cost of shortcuts taken in code today: quick solutions that save time now but make later changes slower and riskier.
Where you use it
Often shortened to 'tech debt'. Teams take on, pay down, track and reduce technical debt, and ask for time to deal with it in planning: 'We need a sprint to pay down tech debt.'
Examples
We took on some technical debt to hit the launch date.
Every new feature is slow to build because of years of technical debt.
Usage note
The 'b' in 'debt' is silent: it sounds like /det/.
Common phrases
pay down technical debt · take on technical debt · reduce technical debt · tech debt ticket
Short for 'looks good to me': a quick written comment a reviewer leaves to say that a code change is fine and can be merged.
Where you use it
Mostly written rather than spoken, in pull request comments and team chat. It often comes with small conditions: 'LGTM, just one nit', 'LGTM once CI passes.'
Examples
LGTM! Feel free to merge after the tests pass.
She left an LGTM on the PR but asked for one small rename.
Usage note
Use it only for real approval. Writing LGTM without reading the code, known as 'rubber-stamping', is a common complaint in teams.
Common phrases
LGTM with nits · leave an LGTM · give an LGTM · LGTM once CI passes
A very small, optional comment in a review about details like naming, spacing or wording, which should not block the change. Often shortened to 'nit'.
Where you use it
Reviewers start such comments with 'nit:' to show they are minor, for example 'nit: extra blank line'. As a verb, 'nitpick' can sound negative: someone who nitpicks focuses too much on small details.
Examples
Just a nitpick: this variable name could be more specific. Otherwise, LGTM.
Let's not block the release over nitpicks; we can clean them up later.
Common phrases
just a nitpick · nit: comment · minor nitpicks · nitpick about naming
To deal with the comments people gave you, by making the requested changes or explaining why you chose a different approach.
Where you use it
A standard phrase in code review and project work: 'I've addressed all the feedback', 'Can you address the review comments?' Here 'address' means 'deal with', and it also works with comments, concerns and issues.
Examples
I've addressed the feedback from yesterday's review. Can you take another look?
Please address the security feedback before we merge this.
Usage note
'Feedback' is uncountable: say 'some feedback' or 'a piece of feedback', not 'feedbacks'. This 'address' has nothing to do with the address where you live.
Common phrases
address review comments · address someone's concerns · address an issue · address all the feedback
A tool that scans code without running it and warns about style problems, suspicious patterns and simple mistakes, such as unused variables.
Where you use it
Teams run linters such as ESLint or Pylint locally and in CI. People say 'The linter complains about this', 'fix the lint errors' and 'run lint'. A good linter setup removes many nitpicks from reviews.
Examples
The linter is failing because of an unused import in your PR.
We added a linter rule that bans console.log in production code.
Common phrases
run the linter · linter rule · lint errors · the linter complains
Written directly into the source code instead of coming from settings, a database or user input, so it cannot change without editing the code.
Where you use it
Usually a criticism in code review: 'This URL is hard-coded', 'Don't hard-code the API key.' The verb is 'hard-code'. Passwords and keys should never be hard-coded.
Examples
The timeout is hard-coded to 30 seconds. Can we move it to the config?
Someone hard-coded a test email address, so all the reports went to one person.
Usage note
You will see 'hard-coded', 'hardcoded' and 'hard coded'; all are accepted, and teams usually just pick one.
Common phrases
hard-coded value · hard-coded URL · hard-code a password · remove hard-coded values
A sign in code that suggests a deeper design problem, such as a very long function, duplicated logic or too many parameters, even if the code works.
Where you use it
Used in reviews and refactoring discussions: 'This is a code smell', 'Long parameter lists are a classic smell.' A smell is not always a bug; it is a reason to look more closely.
Examples
Copying the same validation into five files is a code smell. Let's extract it.
A class with 40 methods is usually a code smell, not a design choice.
Common phrases
a classic code smell · spot a code smell · code smells in · refactor away a code smell
A teammate who reads and checks someone else's code changes, usually in a pull request, before they are allowed to be merged.
Where you use it
You add, assign or request a reviewer on GitHub or GitLab. Many teams require one or two reviewers to approve each change. A reviewer can approve, comment or request changes. The person who wrote the code is the author.
Examples
I added you as a reviewer on the payment PR. No rush, end of day is fine.
We need a second reviewer from the security team before this can be merged.
Common phrases
add a reviewer · request a reviewer · required reviewers · second reviewer
To officially say that a change, plan or request is acceptable. In code review, approving a pull request allows it to be merged.
Where you use it
On GitHub a reviewer can choose 'Approve', 'Comment' or 'Request changes'. People say 'approved with minor comments' or 'it needs two approvals'. Note the difference: you 'approve of' an idea you like, but you simply 'approve' a request.
Examples
I approved your PR, but please fix the typo in the README before merging.
This change needs approval from two reviewers because it touches billing.
Common phrases
approve a pull request · get approval · approved with comments · needs two approvals
Ten questions from this glossary. Pick the right meaning for each term and see your score.
How to learn software engineering vocabulary
Read real texts from the field every day: official documentation, README files, release notes and the discussions in open-source pull requests and issues.
Learn terms together with their partners: not just 'bug' but 'fix a bug', 'report a bug' and 'steps to reproduce'.
Write in English even when nobody asks you to. Commit messages, ticket descriptions and code comments are short, low-risk practice.
Say abbreviations out loud the way teams do: API and SDK letter by letter, JSON like the name Jason, REST as one word.
Collect the polite phrases colleagues use in reviews and stand-ups, such as 'Could you take a look?' or 'I'm blocked on…', and reuse them.
Frequently asked questions
How can I learn English vocabulary for software engineering?
Read real texts from the field and notice how words are used: documentation, README files, release notes, issue threads and pull request comments. Learn each term with its common partners (open a pull request, fix a bug) and use new words right away in your own commits, tickets and messages.
Which software engineering terms should I learn first?
Start with the words of the daily workflow: bug, fix, commit, branch, pull request, merge, code review, deploy, release, ticket, sprint and stand-up. Then move on to testing and debugging terms, and after that to architecture and API vocabulary. The terms in this glossary are ordered the same way, from most to least essential.
Is there a difference between British and American English in software?
Code, APIs and most documentation use American spelling: color, initialize, behavior. British teams may write 'colour' or 'behaviour' in emails and documents, but they keep the American form in code, for example the CSS property color. A few words are pronounced differently, such as agile (US AJ-ul, UK AJ-ile) and route (US often 'rout', UK 'root').
Should I use the Turkish or the English term at work?
In Turkish teams, many English words are used as they are, such as commit, merge, deploy and pull request, often with Turkish endings ('deploy etmek'). Turkish equivalents like 'sürüm', 'dal' and 'birim testi' are common in formal documents, university courses and academic papers. Knowing both lets you switch easily between a Turkish meeting and an English codebase.
How do I talk about my work in English in stand-ups and code reviews?
Use short, standard phrases. In stand-ups: 'Yesterday I fixed…, today I'm working on…, no blockers.' In reviews: 'Could you take a look at my PR?', 'I've addressed your comments', 'nit: …' for small points and 'LGTM' to approve. Polite questions such as 'What do you think about…?' work better than direct orders.