NEW: English for Tech Bundle → Save 40%
Your progress

Loading your progress…

Home
Code & Deliverynoun · /æbˈstrækʃən/

abstraction

In simple English

Abstraction is one of the most fundamental concepts in software engineering. It allows you to work with complex systems by simplifying them into manageable pieces. For example, when you use a database query function, you do not need to understand how the database engine actually retrieves data—you just call the function and get results. This is abstraction in action. In real tech workplaces, teams constantly discuss abstraction when designing APIs, creating libraries, or refactoring code. A well-designed abstraction makes code easier to understand, maintain, and reuse. Poor abstraction, however, can leak implementation details and create confusion. During code reviews, senior engineers often ask junior developers: "Does this abstraction make sense?" or "Is this the right level of abstraction?" This means they are evaluating whether the hidden complexity is appropriate and whether the interface is intuitive. Abstraction works hand-in-hand with other principles like encapsulation and modularity. When you abstract something, you are creating a boundary between the user of your code and the internal logic. This allows teams to work independently on different parts of a system without needing to understand every detail.

Understand what abstraction means in software development and why it matters for clean code.

At a glanceCEFR B2
Commonness5/5
Versatility5/5
FormalityCasualFormalFormal
Spoken ↔ WrittenSpokenWrittenBoth
Directness ↔ DiplomaticDirectDiplomaticDirect
RegionUS and UK
New app · Free lessons

Speak up in meetings. Feel confident.

Standup vocabulary, native examples, and quick practice — 100+ free lessons

Start learning freeNo card needed · Google or email

Say it like this

Let us create a good abstraction here.
This abstraction is leaking implementation details.
We need a higher level of abstraction for this.
The abstraction breaks down when you scale.

Real examples

in a standup

"I spent yesterday refining the abstraction for our authentication layer so the frontend team does not need to understand OAuth details."

in a code review

"This abstraction is good—it hides the database logic while exposing a clean API for the service to use."

in a team meeting

"We should improve the abstraction around file handling; right now, callers need to know too much about buffering and file descriptors."

Don't say this

Handle with care. Do not confuse abstraction (a design principle) with abstraction (a general concept). In tech, it refers to hiding complexity behind a simple interface, not daydreaming or ignoring details.

We need to abstraction the code.
We need to create a better abstraction.Abstraction is a noun in this context, not a verb. You create, design, or improve an abstraction, not abstraction something.
The abstraction is very complicated.
The abstraction hides unnecessary complexity.If an abstraction is complicated, it has failed. A good abstraction simplifies things. If complexity is hidden well, say it hides complexity.
We abstracted away too much detail.
We created an abstraction that hides important details.While abstract can be used as a verb in general English, in tech this phrasing is awkward. Use abstraction as a noun instead.

Other forms

noun

abstraction

"A good abstraction makes the API simple for users to understand."

verb

abstract

"We decided to abstract the payment logic into its own module."

adjective

abstract

"The abstract class defines the interface that all implementations must follow."

Often used with

layer of abstractionCommon phrase meaning a level or tier of simplified interface. Example: Add another layer of abstraction between the UI and the database.
wrong level of abstractionUsed when abstraction is too simple or too complex for its purpose. Example: Your function is at the wrong level of abstraction.
leak abstractionWhen hidden implementation details become visible, violating the abstraction. Example: This API leaks abstraction—callers must know about internal caching.
good abstractionAn abstraction that effectively hides complexity and provides a clean interface. Example: This class is a good abstraction for file operations.
design abstractionThe process of creating abstractions as part of system design. Example: During design abstraction, we identified three main components.

Similar words

interfaceSimilar in that it hides details, but interface is more specific to the exposed contract or API.
encapsulationRelated principle that bundles data and behavior together, often used alongside abstraction.
simplificationBroader term for making something easier, but lacks the implication of hiding complexity.

Opposites

implementation detailconcreteexposuretransparency

Practice

Try it

4 quick exercises

Pick the most natural phrasing

1. You are explaining your design in a meeting. Which sounds most natural?

Complete the sentence

2. The database driver provides a clean _______ that developers can use without understanding SQL internals.

Spot the mistake

3. Which sentence uses abstraction incorrectly?

Rewrite naturally

4. Rewrite this in natural tech English using abstraction: You made the complex thing simple by hiding how it works inside.

Questions

Quick poll

Have you said "abstraction" in a standup this week?

Want more structured practice like this? Our English for Programmers course covers real workplace English in depth.

Your badges