Guides · carbon.talent

Data engineer job description template

Last updated 18 Oct 2026

A data engineer job description should say what the person will own in the first 90 days, the stack they will work in, the engagement type (permanent, contract or fractional), the time-zone overlap and the pay range. Copy the template below, edit the brackets, then post your role free. Variants for Azure, data platform and analytics-heavy roles follow the template.

Post your role free Hire a data engineer

What makes a data engineer job description work

Strong data engineers skim for four things: what they will own, the stack, how messy it is, and the pay. Lists of twenty "requirements" put good people off and attract people who match keywords. Lead with outcomes, be honest about the current state, and keep must-haves to five or fewer.

The template (copy block)

[Senior] Data Engineer, [Permanent / Contract (6 months) / Fractional (8 days a month)]
Location: [Remote, overlap 10:00–15:00 UTC / Hybrid, City / On-site, City]
Pay: [range and currency, or day rate for contract]

About us
[Two sentences: what the company does and why data matters to it right now.]

Why this role exists
[One honest paragraph: e.g. "Our pipelines grew one script at a time. Finance and product don't trust the same numbers. You'll make the data reliable and owned."]

What you'll own in the first 90 days

- [e.g. Move the five core sources into the warehouse with tested, documented models]
- [e.g. Put orchestration, alerting and on-call in place so failures are caught before the 09:00 dashboards]
- [e.g. Agree definitions for revenue, active customer and churn with finance and product]

What you'll do day to day

- Build and maintain batch [and streaming] pipelines from [sources: Postgres, Stripe, Salesforce, event stream]
- Model data in [dbt / Spark / SQL] for analysts and [ML / product] use
- Own data quality: tests, freshness checks, alerting, incident follow-up
- Manage warehouse cost and performance in [Snowflake / BigQuery / Databricks / Redshift / Fabric]
- Work with [analysts, data scientists, engineers, finance] and explain trade-offs clearly

Our stack
[Cloud] · [Warehouse / lakehouse] · [Orchestrator: Airflow / Dagster / Prefect / ADF] · [Transform: dbt / Spark] · [Ingestion: Fivetran / Airbyte / custom] · [BI: Power BI / Looker / Tableau] · [Git, CI, IaC]

Must have (five or fewer)

- [n]+ years building production data pipelines
- Strong SQL and [Python / Scala]
- Data modelling for analytics (dimensional or similar)
- Experience owning reliability: tests, monitoring, incidents
- Clear written communication with non-technical teams

Nice to have

- [Streaming: Kafka / Kinesis / Pub/Sub] · [IaC: Terraform] · [Domain experience]

How we work

- [Team size, who you report to, on-call expectations, meeting overlap, async norms]

What we won't ask you to do

- [e.g. Build dashboards full time / Carry a pager alone / Take a take-home longer than two hours]

Hiring process

1. [Intro call] 2. [Scenario interview on a real (anonymised) problem] 3. [Team conversation] 4. [Offer]

Variants

Azure data engineer (JD16). Stack line: Azure Data Factory or Fabric pipelines, ADLS Gen2, Synapse or Fabric warehouse / Databricks, Azure DevOps, Purview, Entra ID for access. Add to must-haves: "Built and run pipelines in Azure Data Factory or Fabric in production". Add to 90 days: "Move ADF pipelines to source control with CI/CD."

Data platform engineer (JD17). Shift ownership from models to the platform: "Own the platform other data engineers build on: orchestration, CI/CD for data, environments, access control, cost, observability." Must-haves add infrastructure as code, containers and platform SLAs. Analysts are customers, not teammates.

Analytics-heavy data engineer. If most of the work is modelling, consider hiring an analytics engineer or a dbt developer instead.

Contract or fractional. Replace "first 90 days" with the contract outcome and acceptance criteria, add term and hours, and see contract or fractional.

Seniority: what to change

Junior Mid Senior / lead
Owns Tasks within existing pipelines Pipelines end to end The platform and its standards
90-day outcome Ship fixes and new sources with review Deliver a domain's pipelines and models Set architecture, reliability and cost targets
Must-have signal SQL, one language, curiosity Production ownership, testing Trade-off judgement, mentoring, stakeholder trust

Common mistakes

Questions companies ask

What should a data engineer job description include?
The outcomes for the first 90 days, the day-to-day work, your actual stack, five or fewer must-haves, the engagement type, location and overlap hours, the pay range and the hiring process.
What are the main responsibilities of a data engineer?
Building and running pipelines from source systems into a warehouse or lakehouse, modelling the data for analytics and ML, owning data quality and reliability, and managing cost and performance.
What skills should a data engineer have?
Strong SQL, Python or Scala, data modelling, an orchestrator such as Airflow, Dagster or ADF, a cloud warehouse, testing and monitoring, and clear communication with non-technical teams.
What is the difference between a data engineer and a data platform engineer job description?
A data engineer owns pipelines and models for a domain. A data platform engineer owns the platform other engineers build on: orchestration, CI/CD, access, cost and observability.
Should I put the salary in a data engineer job description?
Yes. A range in the local currency, or a day rate for contract roles, helps candidates self-select and saves interview time.