Data Engineer vs Analytics Engineer: Who Does What in the Data Team
Written by Ahmed at Analyst Engineering, a Senior Technical Business Analyst with 10+ years in banking and payments delivery.
Key takeaways
- The clean split: data engineers move and platform the data, ingestion, streaming, orchestration, infrastructure; analytics engineers model it in the warehouse, SQL transformations, testing, documentation, marts.
- The analytics engineer title was popularized around dbt in the late 2010s, when cloud warehouses made SQL powerful enough that modeling no longer required the data engineer's toolchain.
- The boundary is the raw layer: data engineering delivers reliable raw data into the warehouse; analytics engineering turns it into tested, documented, business-ready models.
- For a technical analyst, analytics engineering is the adjacent role: it is the same precision about definitions, testing, and traceability, expressed in SQL and dbt rather than specs and test cases.
Data engineers build the systems that move data; analytics engineers model it in the warehouse so it means something. The boundary between them is the raw layer, and knowing who owns which side of it tells you who to call for every data problem you will ever raise.
A data engineer builds and operates the machinery that moves data: ingestion from source systems, streaming pipelines, orchestration, and the data platform itself, working in tools like Python, Spark, Kafka, and Airflow. An analytics engineer works on the other side of the warehouse wall: they transform the raw data the pipelines deliver into tested, documented, business-ready models, working almost entirely in SQL through frameworks like dbt. The title is young, popularized in the late 2010s by dbt Labs and the community around it, but the reason for it is structural: once cloud warehouses made in-warehouse SQL transformation cheap and powerful, modeling stopped requiring the data engineer’s toolchain, and a role emerged for people who combine an analyst’s business understanding with an engineer’s practices. If you are a technical analyst, this is the data team pairing you will work with most, and one of these roles is closer to you than you might think.
Data engineer vs analytics engineer at a glance
| Dimension | Data engineer | Analytics engineer |
|---|---|---|
| Owns | Ingestion, streaming, orchestration, platform | Warehouse models: staging, marts, metrics |
| Primary tools | Python, Spark, Kafka, Airflow, cloud infrastructure | SQL, dbt, Git, the warehouse |
| Deliverable | Reliable raw data landing on time | Tested, documented, business-ready tables |
| Quality focus | Pipeline reliability, latency, completeness | Correct definitions, tested assumptions |
| Sits closest to | Source systems and infrastructure | Analysts, BI tools, and the business |
| Typical failure they fight | The feed did not arrive | The number is wrong or means the wrong thing |
| Analogy in this site’s terms | The message flow and integration layer | The functional spec and test layer, in SQL |
Where exactly is the boundary?
The raw layer of the warehouse, the bronze of a medallion architecture. Everything upstream of it, connectors pulling from the core banking system, the Kafka topics landing events, the orchestrated jobs that run it all on schedule, is data engineering: the deliverable is complete, on-time raw data, and the quality questions are pipeline questions, did the feed arrive, is it complete, how late is it. Everything downstream, the staging models that clean, the star schemas that serve, the tests that enforce unique payment ids and valid statuses, the documentation that defines every field, is analytics engineering: the deliverable is meaning, and the quality questions are definition questions, is settled defined correctly, does this total reconcile to source.
The boundary shows up clearest when something breaks. A dashboard number that is missing rows points upstream: an ingestion or orchestration failure, the data engineer’s pager. A dashboard number that is present but wrong points downstream: a transformation or definition defect, the analytics engineer’s review queue. Tracing which side of the raw layer the divergence sits on is the same point-of-divergence investigation you run on a failed payment, and being able to run it yourself, with SQL and the lineage graph, is what makes you a useful reporter of data defects instead of a forwarder of complaints.
Why does the distinction matter to an analyst?
Practically, because raising a data issue to the wrong role costs days. The request “the settlement dashboard is missing yesterday’s payments” and the request “the settlement dashboard counts reversals as settlements” look similar in a ticket queue and belong to different people entirely; an analyst who has localized the defect to the correct side of the raw layer gets it fixed in one hop.
Strategically, because analytics engineering is the most natural adjacent career for a technical analyst. Look at what the role actually rewards: owning precise definitions (your data dictionary instinct), enforcing assumptions with tests (your test design instinct), keeping models traceable and reviewed (your traceability and Git instincts), and translating business meaning into buildable artifacts (the whole functional analysis job, retargeted at SQL). The gap for a working technical analyst is tooling fluency, deeper SQL and dbt, not mindset, and it is a focused few months, not a retraining. Data engineering, by contrast, is a genuine infrastructure engineering discipline: a real career, but a longer jump, through distributed systems and platform operations rather than through analysis.
The takeaway
Data engineers move the data: ingestion, streaming, orchestration, and platform, with reliability as the deliverable. Analytics engineers model it: SQL transformations, tests, and documentation in the warehouse, with correct meaning as the deliverable. The raw layer is the boundary, defects localize to one side of it, and for a technical analyst the analytics engineering side is close enough to be a career move rather than a career change.
About the author
Analyst Engineering is written by Ahmed, a Senior Technical Business Analyst with 10+ years of banking and payments delivery experience: ISO 20022 and SWIFT messaging, payments API integration, Kafka event validation, and production support. Every article comes from real delivery work, and each one is reviewed and updated as tools and standards change.
Related articles
- What Is a Developer Analyst? The Analyst Who Ships Code A developer analyst reads and writes enough code to verify, automate, and prototype, without becoming a full-time engineer. Here is what the role does in payments.
- Reading a dbt DAG: The Map of How Your Data Is Built A dbt DAG is the dependency graph of your transformations, built from ref() calls. How to read one, the staging to marts convention, and why tests live on nodes.
- SQL for Analysts: Query the State, Find the Truth The SQL a technical analyst actually needs: SELECT, WHERE, JOIN, GROUP BY, and reading state during analysis and testing. Not for reports, for finding the truth.
- The Technical Analyst Skill Matrix: 25 Skills, Five Hats, Three Levels A self-assessment matrix of 25 skills across the five technical analyst hats, with three levels per skill and where to build each one. Original to this site.
Newsletter
Subscribe
Practical, no-fluff playbooks for technical analysts who analyze, code, test, and support. New articles straight to your inbox.
No spam. Unsubscribe anytime.