What Is Data Engineering? The Modern Data Stack Explained

What data engineers do and how the modern data stack works — ingestion, storage, transformation, orchestration, quality and serving — plus the skills and tools involved.

By Danyal Ahmed - Data Scientist · · 5 min read

Every dashboard, machine learning model and "data-driven decision" depends on something unglamorous: reliable pipelines that move data from where it's created to where it's useful, in a shape people can trust. Building and running those pipelines is data engineering.

This guide explains what data engineers do, how the pieces of a modern data platform fit together, and how to think about building one.

Key takeaways

  • Data engineering is the discipline of collecting, moving, storing, transforming and serving data reliably at scale.
  • The modern data stack typically looks like sources → ingestion → storage (warehouse/lake) → transformation → serving, wrapped in orchestration, quality and governance.
  • Most analytics platforms today follow an ELT pattern: load raw data first, transform inside the warehouse.
  • The hardest problems are rarely the tools. They're data quality, ownership, definitions and trust.
  • Start simple: a warehouse, a managed ingestion tool, SQL transformations and good tests go a long way.

What does a data engineer do?

A data engineer's work usually includes:

  • Building pipelines that ingest data from applications, databases, SaaS tools, events and files.
  • Designing storage and data models that make analysis fast and correct (data modeling for analytics).
  • Transforming data: cleaning, deduplicating, joining and aggregating raw data into trusted datasets.
  • Orchestrating and monitoring pipelines so they run on time and failures are caught.
  • Ensuring data quality: tests, contracts, anomaly detection (data quality guide).
  • Enabling consumers: analysts, data scientists, ML systems and product features.
  • Governance and security: access control, PII handling, lineage and retention.

How it relates to neighboring roles:

Role Primary focus
Data engineer Pipelines, infrastructure, data models, reliability
Analytics engineer Transforming data into clean, documented models (often SQL/dbt)
Data analyst Answering business questions, dashboards, reporting
Data scientist Statistical analysis, experiments, predictive models
ML engineer Productionizing and operating ML models

See data science vs data analytics vs ML engineering for more on the analytics side.

The modern data stack, layer by layer

textSources          Ingestion         Storage              Transformation      Serving
───────          ─────────         ───────              ──────────────      ───────
App DBs    ─┐    Managed           Cloud data           SQL models          BI dashboards
SaaS APIs  ─┼──▶ connectors, ───▶  warehouse / lake ──▶ (dbt etc.)    ───▶  Reverse ETL
Events     ─┤    CDC, streams      (raw → staging →     tests, docs         ML features
Files      ─┘    batch jobs        marts)                                   APIs / apps
                    ▲                                                        
                    └──────── Orchestration · Quality · Lineage · Governance ────────┘

1. Sources

  • Operational databases (PostgreSQL, MySQL, MongoDB) behind your product.
  • SaaS tools: CRM, billing, marketing, support.
  • Event streams: product analytics, clickstream, IoT, logs.
  • Files: CSV exports, partner data drops, scraped datasets (web scraping guide).

2. Ingestion

Moving data from sources into your platform:

  • Batch extraction: scheduled pulls, such as nightly exports or hourly API syncs.
  • Change data capture (CDC): streaming inserts, updates and deletes from database logs (CDC explained).
  • Event streaming: continuous events through a platform like Kafka (Apache Kafka explained).
  • Managed connectors: services that handle common SaaS and database sources for you.

3. Storage

  • Data warehouse: optimized for SQL analytics on structured data.
  • Data lake: cheap object storage for raw files in open formats.
  • Lakehouse: open table formats on object storage with warehouse-like features.

We compare them in data warehouse vs data lake vs lakehouse.

4. Transformation

Raw data is messy: duplicated, inconsistently named, full of nulls and test records. Transformation turns it into trusted, documented, analysis-ready models. Modern teams mostly transform with SQL inside the warehouse (ELT) using tools like dbt (dbt explained), applying software practices like version control, code review and testing.

A common layering:

  • Raw / bronze: data exactly as ingested.
  • Staging / silver: cleaned, renamed, typed, deduplicated.
  • Marts / gold: business-ready tables (orders, customers, revenue), often dimensional models.

5. Orchestration

Pipelines have dependencies: don't build the revenue table before the orders data lands. Orchestrators schedule jobs, manage dependencies, retry failures and alert on problems (building data pipelines with Airflow).

6. Serving

  • BI tools and dashboards for business users.
  • Reverse ETL: syncing modeled data back into operational tools (CRM, marketing, support).
  • ML features and training data for data science.
  • Data products and APIs that power customer-facing features.

Batch vs streaming

Most analytics runs in batch (hourly or daily), which is simpler and cheaper. Streaming matters when freshness drives value: fraud detection, real-time personalization, operational monitoring. Many platforms are mostly batch with a few streaming paths. See batch vs stream processing.

ETL vs ELT

  • ETL: transform before loading into the target. Common historically and still useful for heavy processing or strict privacy filtering.
  • ELT: load raw data first, transform inside the warehouse. The dominant modern pattern thanks to cheap storage and scalable warehouse compute.

Details in ETL vs ELT.

What makes data engineering hard

The tools are the easy part. The hard parts:

  • Definitions. What counts as an "active user"? A "customer"? Revenue net of refunds? Without agreed definitions, dashboards disagree and trust evaporates.
  • Schema changes. An application team renames a column and a dozen pipelines break. Data contracts and CDC help.
  • Data quality. Duplicates, late-arriving data, missing values, timezone bugs.
  • Ownership. Who fixes the pipeline when a source changes? Who approves a metric definition?
  • Cost. Warehouses make it easy to spend a lot on inefficient queries.
  • Privacy and compliance. PII spreads quickly through pipelines unless you control it deliberately.

A pragmatic starter platform

For a startup or mid-size company:

  1. A cloud data warehouse (or PostgreSQL for small volumes).
  2. Managed ingestion for SaaS tools, plus CDC or scheduled extracts from your production database (from a read replica, never the primary).
  3. SQL transformations in version control, with tests and documentation.
  4. An orchestrator (or the scheduler built into your tools, at first).
  5. A BI tool with a small set of certified dashboards.
  6. Data quality tests on key tables, with alerts.

Add streaming, a lakehouse, ML feature stores and reverse ETL when specific needs appear.

Skills a data engineer needs

  • SQL: deep fluency, including window functions and query performance.
  • A programming language, usually Python, for ingestion, orchestration and tooling.
  • Data modeling: dimensional modeling, normalization, slowly changing dimensions.
  • Distributed systems basics: partitioning, parallelism, consistency (system design fundamentals).
  • Cloud and infrastructure: storage, IAM, containers, infrastructure as code.
  • Software engineering practices: git, testing, CI/CD, code review.
  • Communication: translating business questions into data models.

FAQ

Is data engineering the same as data science?

No. Data engineers build and maintain the infrastructure and pipelines that deliver reliable data. Data scientists analyze that data and build models. Data science depends heavily on good data engineering.

Do small companies need data engineering?

Once you have multiple data sources and people making decisions from dashboards, yes, even if it's a part-time responsibility at first. A simple, well-tested warehouse setup prevents a lot of conflicting-numbers pain later.

What is the modern data stack?

A loosely defined set of cloud-native tools: managed ingestion, a cloud warehouse or lakehouse, SQL-based transformation, orchestration, BI and data quality tools. The emphasis is on managed services, ELT and software engineering practices applied to analytics.

Which language should a data engineer learn first?

SQL first, then Python. SQL is used for most transformation and analysis work; Python covers ingestion, orchestration, APIs and tooling.