IBM Full Stack Software Developer study materials
IBM Full Stack Software Developer study resources

IBM Full Stack Software Developer key terms

IBM Full Stack Software Developer · Get comfortable with the vocabulary.

Git repository

A tracked project history made of commits, branches, and tags, usually stored locally with a remote copy on a hosting service. It records what changed, who changed it, and when.

Related: Commit, Branch, Pull request
Commit

A saved snapshot of staged changes in Git, identified by a hash and linked to its parent commit. Each commit carries an author, timestamp, and message describing the change.

Related: Git repository, Merge conflict
Branch

A movable pointer to a line of commits in Git, letting developers isolate work such as a feature or fix. Branches are cheap to create and are typically merged back into a main line.

Related: Merge conflict, Pull request
Merge conflict

A situation where Git cannot automatically combine changes because two branches modified the same lines or file regions. A developer must edit the file to resolve it before completing the merge.

Related: Branch, Commit
Pull request

A hosted-repository request to review and merge one branch into another. It supports code review comments, automated checks, and discussion before the change is accepted.

Related: Branch, Continuous integration
Agile development

An iterative approach that delivers software in small increments with frequent feedback and adaptive planning. Work is organized into short cycles, and requirements are expected to change.

Related: User story, Sprint
User story

A short, plain-language statement of a feature from the end user's perspective, often phrased as a role, a goal, and a benefit. It is refined into tasks and acceptance criteria before implementation.

Related: Agile development, Sprint
Sprint

A fixed-length iteration, commonly one to four weeks, in which a team commits to a set of work and produces a potentially releasable increment. Scope is protected during the sprint.

Related: Agile development, User story
Unit test

An automated test that exercises a single function, class, or module in isolation, usually with dependencies replaced by test doubles. It runs fast and pinpoints the location of a defect.

Related: Test-driven development, Continuous integration
Test-driven development

A practice of writing a failing test first, then the minimum code to pass it, then refactoring. It keeps tests focused on behavior and produces a regression suite as a side effect.

Related: Unit test, Refactoring
Refactoring

Restructuring existing code to improve readability or design without changing its observable behavior. It is normally protected by automated tests that confirm behavior is preserved.

Related: Test-driven development, Technical debt
Technical debt

The accumulated cost of shortcuts in design or code that make future changes slower or riskier. Like financial debt, it accrues interest until it is deliberately paid down.

Related: Refactoring
REST API

An HTTP interface organized around resources identified by URLs and manipulated with standard methods such as GET, POST, PUT, and DELETE. Responses are typically JSON and should be stateless.

Related: HTTP status code, JSON, CORS
HTTP status code

A three-digit number in an HTTP response that summarizes the outcome, grouped as 2xx success, 3xx redirection, 4xx client error, and 5xx server error. Clients and tests branch on these values.

Related: REST API
JSON

A lightweight text format for structured data using objects, arrays, strings, numbers, booleans, and null. It is the default payload format for most web APIs and browser fetches.

Related: REST API, DOM
DOM

The browser's in-memory tree representation of an HTML document, which scripts can read and modify. Updating the DOM changes what the user sees without a full page reload.

Related: Virtual DOM, Event listener, JSON
Virtual DOM

An in-memory copy of the UI tree that a library such as React compares against the previous version to compute minimal real DOM updates. It makes declarative rendering practical.

Related: DOM, React component
React component

A reusable, self-contained unit of UI written as a function or class that returns elements from props and state. Components compose into pages and re-render when their data changes.

Related: Virtual DOM, State, Props
Props

Read-only data passed from a parent React component into a child component. Changing props from above triggers a re-render, but a component must not modify its own props.

Related: React component, State
State

Data a component owns and can change over time, such as form input or fetched results. Updating state schedules a re-render reflecting the new value.

Related: Props, React component
Event listener

A function registered to run when a specific browser event, such as a click or keypress, occurs on an element. Listeners make pages interactive and can be added or removed dynamically.

Related: DOM
CORS

A browser security mechanism that blocks cross-origin requests unless the server returns headers permitting the requesting origin. It protects users from unauthorized reads across sites.

Related: REST API, HTTP status code
Responsive design

A layout approach using flexible grids, relative units, and media queries so a page adapts to different screen sizes. It avoids maintaining separate sites for mobile and desktop.

Related: CSS box model
CSS box model

The rule that every rendered element occupies a content box surrounded by padding, border, and margin. Understanding it is essential for predicting element size and spacing.

Related: Responsive design
Node.js

A JavaScript runtime built on the V8 engine that runs code outside the browser, commonly for web servers and tooling. It uses an event loop and non-blocking I/O for high concurrency.

Related: Express, npm, Asynchronous programming
Express

A minimalist Node.js web framework providing routing, middleware, and request/response helpers. Middleware functions run in order and can end a request or pass control onward.

Related: Node.js, Middleware, REST API
Middleware

A function in a request pipeline that can inspect or modify the request and response, then either end the cycle or call the next function. It commonly handles logging, auth, and parsing.

Related: Express
npm

The default package manager for Node.js, used to install dependencies, run scripts, and publish packages. A project's dependencies and versions are recorded in package.json and the lockfile.

Related: Node.js, Dependency
Dependency

An external library or package a project relies on at build or runtime. Versions are pinned in a manifest and lockfile so installs are reproducible across environments.

Related: npm
Asynchronous programming

A style where long-running work such as I/O does not block the main thread; results arrive later via callbacks, promises, or async/await. It is central to Node.js scalability.

Related: Node.js, Promise
Promise

An object representing the eventual result of an asynchronous operation, which settles once as fulfilled or rejected. Promises can be chained and awaited, replacing nested callbacks.

Related: Asynchronous programming
Relational database

A database storing data in tables of rows and columns with defined relationships and constraints, queried with SQL. Transactions and foreign keys help keep data consistent.

Related: SQL, ORM
SQL

A declarative language for querying and modifying relational data using statements such as SELECT, INSERT, UPDATE, and DELETE. It also defines schemas and controls access.

Related: Relational database, ORM
ORM

A library that maps application objects to database tables so developers write code instead of raw SQL. It reduces boilerplate but can hide inefficient queries.

Related: Relational database, SQL
Authentication

The process of verifying who a user claims to be, typically with credentials, tokens, or federated identity. It answers identity questions, while authorization decides what that identity may do.

Related: Authorization, JWT
Authorization

The process of deciding which actions or resources an authenticated identity is permitted to access. It is enforced server-side, often through roles, scopes, or policies.

Related: Authentication, JWT
JWT

A signed, URL-safe token carrying claims about a subject, commonly used to carry identity between a client and API. The server verifies the signature rather than storing session state.

Related: Authentication, Authorization
Docker image

A read-only template built from layered instructions that packages an application with its dependencies and runtime. Containers are created from images and share the host kernel.

Related: Container, Dockerfile, Container registry
Container

An isolated process with its own filesystem view and resource limits, sharing the host operating system kernel. Containers start quickly and behave consistently across environments.

Related: Docker image, Kubernetes
Dockerfile

A text file of instructions that builds a Docker image, such as choosing a base image, copying files, and setting the start command. Layer order affects build caching.

Related: Docker image, Container registry
Container registry

A service that stores and distributes container images by tag, such as Docker Hub or a private registry. Deployments pull images from it by name and version.

Related: Docker image, Kubernetes
Kubernetes

An orchestration platform that schedules containers across a cluster, restarts failed ones, and scales replicas. It also provides service discovery, configuration, and rolling updates.

Related: Container, Pod, Container registry
Pod

The smallest deployable unit in Kubernetes, wrapping one or more tightly coupled containers that share networking and storage. Pods are ephemeral and replaced rather than repaired in place.

Related: Kubernetes
Continuous integration

A practice where developers merge frequently and each change triggers automated build and test runs. Failures surface early, keeping the main branch releasable.

Related: Continuous delivery, Pipeline, Pull request
Continuous delivery

An extension of continuous integration where every passing build is automatically prepared for release, with deployment to production requiring a manual approval.

Related: Continuous integration, Pipeline
Pipeline

An automated sequence of stages, such as build, test, scan, and deploy, that runs when code changes. Pipelines make releases repeatable and reduce manual error.

Related: Continuous integration, Infrastructure as code
Infrastructure as code

Managing servers, networks, and cloud resources through versioned definition files rather than manual console changes. It makes environments reproducible, reviewable, and easier to roll back.

Related: Pipeline, Cloud computing
Cloud computing

Renting computing resources such as servers, storage, and databases over a network on demand, paying for what is used. Providers manage the underlying hardware and offer elasticity.

Related: Infrastructure as code, Microservices
Microservices

An architecture splitting an application into small independently deployable services that communicate over a network. Each service owns its data and can scale and release separately.

Related: Container, Kubernetes, Cloud computing