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.
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
- Listing every tool you might ever use. Name your actual stack.
- Hiding the pay. Ranges get more and better applicants.
- Asking for "data engineer / analyst / scientist" in one role. Pick the main job.
- No overlap hours on a remote role. Candidates in other time zones can't tell if it works for them.
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.