Software Engineering Technical Terms (A-Z)
API (Application Programming Interface): A set of rules that allows different software applications to
communicate with each other.
Agile: A flexible software development methodology focused on iterative progress and customer
collaboration.
Algorithm: A step-by-step procedure to solve a problem or perform a computation.
Application Server: A server designed to host and run applications, handling business logic.
Authentication: Verifying the identity of a user or system.
Authorization: Granting permission to a user or system to access specific resources.
Backend: The server-side part of an application responsible for data processing and storage.
Big-O Notation: A mathematical notation to describe the performance or complexity of an algorithm.
Bug: An error or flaw in software that causes it to produce an incorrect or unexpected result.
Build: The process of converting source code into executable software.
Cache: A temporary storage area to speed up data access.
Cloud Computing: Delivering computing services over the internet (e.g., AWS, Azure).
CI/CD (Continuous Integration/Continuous Deployment): Automated processes for integrating and
deploying code.
Compiler: A program that converts source code into machine code.
Containerization: Packaging software into containers for portability (e.g., Docker).
Database: A structured collection of data.
Debugging: Finding and fixing bugs in software.
Deployment: Delivering a software product to a live environment.
DevOps: Practices combining development and operations to improve delivery speed and reliability.
DSL (Domain-Specific Language): A language tailored to a specific application domain.
Encryption: Changing information into a secret code so that only authorized people can read it.
Endpoint: A specific URL where an API receives requests.
Entity: A real-world object or thing represented in a database (e.g., a 'User' table).
Exception: An error that occurs while a program is running, which can be caught and handled.
Frontend: The part of a software or website that users see and interact with.
Framework: A ready-made structure or template that helps developers build software faster.
Function: A block of code that performs a specific task and can be reused.
Git: A tool to track changes in code (version control).
GUI (Graphical User Interface): The visual part of an application (buttons, icons, menus).
HTML (Hypertext Markup Language): The basic language used to create web pages.
HTTP (Hypertext Transfer Protocol): A protocol for communication between web browsers and
servers.
IDE (Integrated Development Environment): A software where developers write and test code (e.g.,
VS Code).
Inheritance: A concept in object-oriented programming where one class takes properties from
another class.
Iteration: Repeating a set of steps in a loop or during development.
Java: A popular programming language.
JSON (JavaScript Object Notation): A lightweight format for storing and sharing data.
Kernel: The main part of an operating system that controls the computer's hardware.
Kubernetes: A tool for managing containers in cloud computing.
Library: A collection of pre-written code that can be reused.
Load Balancing: Distributing network or server traffic evenly across multiple servers.
Middleware: Software that connects different applications or services.
Microservices: A way of building software as small, independent services.
Module: A small part of a program that does a specific job.
Node.js: A tool that lets developers run JavaScript on servers.
Normalization: Organizing data in a database to avoid duplicates.
Object-Oriented Programming (OOP): A coding style where everything is represented as objects.
Open Source: Software whose source code is free for anyone to see and use.
Patch: A small update to fix bugs or security issues.
Pipeline: A series of steps to build, test, and deploy software automatically.
Protocol: A set of rules for communication between devices (e.g., HTTP, FTP).
Query: A request for information from a database.
Queue: A line of tasks or messages waiting to be processed in order.
Refactoring: Improving the code structure without changing its functionality.
Repository (Repo): A place where code is stored and managed (e.g., on GitHub).
Runtime: The period when a program is running.
Scalability: The ability of software to handle more work as it grows.
Scrum: A popular Agile method for managing projects in small steps (sprints).
SDK (Software Development Kit): A set of tools for building applications.
Server: A computer that provides services or data to other computers (clients).
SQL (Structured Query Language): A language for working with databases.
Testing: Checking if software works correctly.
Token: A small piece of data used for security (e.g., authentication).
Thread: A single sequence of instructions in a program that can run independently.
UI (User Interface): The part of software the user interacts with (screens, buttons).
UML (Unified Modeling Language): A way to draw diagrams of software design.
Version Control: Tools like Git that track changes in code over time.
Virtual Machine: Software that acts like a real computer inside another computer.
Web Service: A program that communicates over the web using standard protocols.
Wireframe: A simple sketch of how a web page or app will look.
XML (eXtensible Markup Language): A way to store and share structured data.
XPath: A language to find elements in an XML document.
YAML (YAML Ain't Markup Language): A human-readable format for configuration files.
Zero-Day: A security flaw discovered and exploited before the software creator fixes it.
Zip: A method of compressing files to make them smaller.