What an analytics engineer actually does, how the role differs from data engineer and data analyst, the technical skills that define the career path, and how organisations structure analytics engineering teams.
The analytics engineer role emerged around 2019–2020 and has become one of the most in-demand positions in data organisations. It sits at the intersection of data engineering and data analysis — technical enough to write production SQL and build data pipelines, analytical enough to understand what business questions the data needs to answer. Understanding the role's scope, how it differs from adjacent positions, and what the career path looks like is valuable for both practitioners and the organisations hiring them.
What an Analytics Engineer Does
The analytics engineer's primary responsibility is building and maintaining the analytical data models that sit between raw source data and business-facing dashboards. This is the transformation layer: dbt models, SQL pipelines, semantic layer definitions, and the documentation and testing that makes analytical data trustworthy.
A typical analytics engineer's week:
- Writing and testing dbt models that transform raw CRM and event data into business-ready tables
- Collaborating with product managers and analysts to understand what data they need for an upcoming dashboard
- Investigating a data quality issue that caused dashboard numbers to be incorrect
- Reviewing pull requests from other analytics engineers for model quality and testing coverage
- Working with data engineers to understand a schema change in an upstream source system
- Documenting a new data model and its business logic for the data catalogue
The analytics engineer does not typically build the dashboards themselves (that is the data analyst or BI developer's role) or build the ingestion pipelines from source systems (that is the data engineer's role). The analytics engineer owns the middle layer.
How It Differs from Data Engineer and Data Analyst
Analytics Engineer vs Data Engineer:
- Data engineers build and maintain the infrastructure that moves and stores data: ingestion pipelines (Fivetran, custom ETL), streaming infrastructure (Kafka), data lake storage (S3, ADLS), and compute platforms (Databricks, Snowflake administration)
- Analytics engineers work primarily in SQL and Python to transform data that data engineers have already loaded, focusing on analytical use cases rather than infrastructure
- Data engineers write more software-engineering-style code (Python, Spark, infrastructure-as-code); analytics engineers write more SQL with version control (dbt, git)
- In practice, the boundary blurs — many analytics engineers write Python dbt models and work with streaming tools; many data engineers build semantic layer components
Analytics Engineer vs Data Analyst:
- Data analysts primarily consume data: building dashboards, running ad-hoc analyses, writing reports, and communicating insights to stakeholders
- Analytics engineers primarily produce data: building the models and pipelines that analysts use
- Data analysts typically have stronger business domain knowledge and stakeholder communication skills; analytics engineers typically have stronger technical skills (SQL depth, programming, git workflow)
- The distinction is also about responsibility: an analyst uses a dbt model; an analytics engineer is accountable for that model's correctness, testing, and maintenance
- Some organisations blend the roles, using "analytics engineer" for individuals who both build models and deliver analyses
Technical Skills That Define the Role
**Advanced SQL.** Analytics engineering is primarily SQL — not basic SELECT statements, but complex window functions, CTEs, recursive queries, set operations, and the pattern-matching skills to write efficient analytical SQL. The bar is: can this person write a dbt model that correctly handles slowly changing dimensions, incremental loads, and multi-table joins without any errors?
**dbt proficiency.** dbt is the industry-standard tool for analytics engineering transformation work. Expected skills: writing dbt models (incremental, full refresh), configuring tests (generic and singular), writing YAML documentation, using macros, working with packages (dbt_utils, dbt_expectations), and operating in a dbt project with multiple models.
**Data modelling.** Understanding dimensional modelling (star schema, fact and dimension tables, slowly changing dimensions), normalisation vs denormalisation trade-offs, and how to design analytical data models that serve business questions efficiently.
**Version control and code review.** Git workflow — branches, pull requests, code review — is a core skill. Analytics engineers work in teams; the ability to collaborate via git and produce code that passes peer review is essential.
**Testing mindset.** Writing dbt tests (not-null, unique, accepted values, relationships), custom singular tests for business logic validation, and thinking about data quality as a code responsibility rather than someone else's problem.
**Basic Python.** Not deep software engineering, but enough Python to: write dbt Python models for transformations that cannot be expressed in SQL, use Python dbt packages, interact with warehouse APIs via the Python SDK, and analyse data in notebooks.
What Distinguishes Senior Analytics Engineers
Beyond technical depth, senior analytics engineers:
**Architect, not just implement.** A senior analytics engineer does not just build models — they design the layer architecture: how staging, intermediate, and mart models are structured, what the naming conventions are, how to handle slowly changing dimensions systematically, how to make the data model serve new business questions without rework.
**Own data quality, not just test it.** They design testing frameworks, establish standards for what tests every model needs, and investigate root causes of data quality failures rather than just flagging them.
**Translate business requirements into data models.** Business stakeholders say "I need to see customer retention by cohort." A senior analytics engineer can translate that requirement into a concrete data model design — what tables, what grain, what schema — and explain why that design is correct.
**Communicate tradeoffs clearly.** When there are multiple ways to model something, a senior AE explains the trade-offs (denormalised mart vs normalised star, materialized view vs incremental model) and makes a recommendation with clear reasoning.
Career Progression
Analytics engineering career paths vary by organisation size:
**At a startup:** analytics engineer may be the only data technical role, responsible for both ingestion and transformation. Wide scope, rapid growth, less mentorship.
**At a scale-up:** analytics engineers on dedicated teams, working alongside data engineers and analysts. Growing specialisation; opportunity to develop depth.
**At an enterprise:** senior analytics engineers may specialise by domain (marketing data models, finance data models), by platform (Snowflake-focused, Databricks-focused), or by function (semantic layer, data quality, governance).
**Career exits:** analytics engineering is an excellent path to: staff/principal data engineer roles, head of data/analytics roles, data architecture roles, or product manager roles for data tools.
**Compensation:** analytics engineers at mid-market US companies typically earn $120K–$160K for senior IC roles, $150K–$200K for staff/principal, with variation by location and industry.
For organisations building analytics engineering teams, our data architecture consulting practice helps with team structure and capability assessment — contact us to discuss your data team requirements.
A former Microsoft data architect audits your data foundation, identifies your top priorities, and sends you a written plan. Free. No pitch.
Book a Call →