Data Engineer Job Description Template (Copy and Paste) + What to Pay
One of the easiest ways to write an unhelpful engineering job description is to start with a list of technologies. Python, Snowflake, dbt, Airflow, and AWS tell an applicant something about the environment. They do not tell them what is broken, what needs to be built, or how much responsibility they will have.
I would start with the actual data problem. Maybe finance reconciles revenue manually at the end of every month. Maybe the dashboards disagree. Maybe an existing pipeline cannot keep up with volume, or nobody knows whether a missing record reflects the source system or the ingestion process. Those are useful starting points because they let you work backward into the experience and tools the job requires.
The data engineer job description below is a template for doing that. Complete the problem, ownership, and success criteria before filling in the stack. If those fields are difficult to complete, that may be a sign that the role needs more definition before you publish it.
Copy and Paste Posting Template
Role and working arrangement
Title: Data Engineer
Company and team: [Company and team]
Location and working hours: [Location, remote arrangement, and overlap requirements]
Engagement: [Employment or contract arrangement and expected duration]
Compensation: [Salary or hourly range, currency, and what is included]
Reporting relationship: [Manager and key collaborators]
On-call expectations: [Rotation, coverage, and incident responsibilities]
The problem you will own
[Company] is hiring a data engineer to improve [specific business problem]. Today, [describe the current limitation and its consequence]. You will work with [teams] to build and maintain the data flows that support [reporting, operations, product, or model-development use case].
Our environment currently includes [source systems], [storage or warehouse], [transformation and orchestration tools], and [cloud or hosting environment]. [Identify which choices are fixed and which the engineer will help make.]
Responsibilities and Delivery Outcomes
You will design, build, and operate pipelines from [sources] to [destinations], with agreed expectations for freshness, completeness, and correctness. You will develop data models that support [specific consumers], implement appropriate quality checks, and make failures visible to the people responsible for responding.
The role includes version-controlled pipeline code, review and testing, documentation of assumptions and ownership, and access controls appropriate to the data involved. You will work with [stakeholders] to resolve inconsistent definitions and source behavior rather than treat every reporting discrepancy as a tooling problem.
During the first [period], we expect you to establish the current baseline, deliver [bounded integration or improvement], and demonstrate progress against [measurable success criterion]. We will agree on the milestones after reviewing the sources, existing system, and dependencies.
Required capabilities
- SQL appropriate to the workload, including joins, aggregation, window functions, and investigation of query performance.
- Programming experience in [Python or the language actually used] for maintainable data processing.
- Relevant experience with [warehouse or storage platform] and [orchestration approach].
- Data modeling for the intended consumers and an understanding of pipeline reliability.
- Version control, code review, testing, and practical debugging.
- Clear written communication about assumptions, failures, and dependencies.
Relevant additional experience
[Include only what would materially improve fit: streaming, distributed processing, dbt, infrastructure as code, legacy migrations, sensitive-data controls, or model feature pipelines. Separate genuinely necessary experience from tools that can be learned.]
How we will assess candidates
We will discuss a pipeline you have owned, including the source behavior, consumers, failures, and your contribution. The technical assessment will involve [a bounded SQL exercise, code review, or design discussion] relevant to the role. [State the time commitment, tool-use expectations, and interview process.]
How Should You Tailor the Role to Your Data Needs
Set Expectations for Junior, Mid-Level, and Senior Engineers
The level should follow from how much direction and support are available. Someone implementing well-defined integrations inside a stable platform faces a different task from someone deciding what the platform should be.
| Role scope | Responsibility | Support to establish |
| Junior | Bounded changes and tests in an existing system | Review and technical direction from an experienced engineer |
| Mid-level | Defined pipelines or integrations through operation | Clear architecture and access to design support |
| Senior | Ambiguous reliability or design problems across a substantial area | Clear decision authority and business priorities |
| Lead or architect | Shared standards and decisions across teams | Sponsorship, stakeholder access, and implementation ownership |
These are descriptions of scope, not universal tenure bands. A first hire is not automatically a senior hire, and a senior hire is not automatically the answer to every data problem. If the architecture is unclear, you may need design work before you need ongoing implementation capacity.
Define the Stack and the Problem to Solve
Data engineering commonly involves making data available, reliable, and usable through pipelines and supporting systems. Analytics work may concentrate on models and reports used to answer business questions. Data science may focus on statistical analysis, experiments, or predictive models. In practice, those responsibilities can overlap.
Specify the output you need instead of trying to resolve the title in the abstract. If the warehouse is reliable but revenue definitions disagree, adding an ingestion specialist may not solve the problem. If a model cannot obtain consistent input data, more modeling capacity may not address the constraint either.
Ask who owns the source data and who can decide what a business metric means. An engineer can implement a definition, expose inconsistencies, and suggest a model. They cannot independently settle every disagreement among finance, sales, and product merely because their title includes data.
What Should You Pay a Data Engineer
Full-Time Salary Benchmarks in the United States
BLS does not publish a separate Occupational Outlook Handbook category for data engineers. Its database-architect category provides one related benchmark: a median annual wage of $139,500 in May 2025. That is context for a neighboring occupation, not a measured national median for this exact job or a prescribed seniority band. Source: BLS database administrators and architects
Set the range against the scope, relevant location or hiring market, specialization, and working arrangement. Include the expected benefits and other compensation when comparing employee offers. For a contract engagement, establish the rate, expected hours, duration, and which services or oversight are included.
Contract Rates and Budget Considerations
For example, $125 an hour for 160 hours is $20,000 a month. Three months at that usage totals $60,000. Those are budget illustrations, not promises about what a data platform costs or a current Gun.io rate card. The work and the profile need to be defined before a quote is meaningful.
Publish a range that reflects what you can actually offer, and make the location and engagement requirements clear. Contracting and employment arrangements also need terms suited to the jurisdiction and work. A provider’s involvement does not, by itself, eliminate every obligation for the client.
How Do You Attract and Vet Strong Applicants
Make the Posting Specific About Scope, Stack, and Pay
A capable applicant should be able to understand what they will own, which technology choices are fixed, and what support they will receive. Publish the working arrangement and a realistic compensation range. Avoid making every tool in the environment a required qualification when the role actually depends on a smaller set of capabilities.
Review Delivery History and Assess Practical Skills
Begin with a system the candidate has operated. Ask about volume, freshness, late-arriving records, source changes, retries, and the consumers who relied on it. Then clarify which decisions and changes were theirs. A detailed account of a modest pipeline can be more useful than a vague account of a very large platform.
For SQL, use a small dataset with duplicates or a join that can accidentally multiply results. For code review, use a job that can partially complete and then retry. For design, introduce late data and a sensitive field, and ask how correctness, access, and cost would be handled. The exercise should expose the decisions the engineer will need to make in your environment.
I would pay particular attention to how they establish that the data is correct. A pipeline finishing successfully does not mean it moved every expected record or preserved the intended meaning. Ask what would reveal a silent failure and who would respond.
Hire for Reliable Data Delivery
At Gun.io, the profile only becomes useful when we can connect it to a responsibility. A long list of technologies can help us search, but it does not establish fit. The same is true of your job description: it should make the work understandable enough that a capable engineer can assess whether their experience applies.
You do not need to know every implementation detail before hiring. You do need enough clarity about the problem, the decision authority, and the support available to hire someone who can make progress.
Frequently asked questions
What should a data engineer job description include?
The data problem, intended consumers, scope of ownership, existing environment, success criteria, working arrangement, compensation, and operating expectations. Separate necessary capabilities from optional tools.
Does a data engineer need a computer science degree?
A degree can provide useful background, but it does not establish production ability. Assess relevant work and practical skills against the role, subject to any genuine requirements of the position.
Should we hire a data engineer before a data scientist?
Identify the constraint first. Unreliable or inaccessible data may require engineering, while a sound data foundation may support immediate analytical or modeling work. The titles do not determine the sequence.
How much does a data engineer earn?
Pay varies with scope and market. The BLS database-architect median of $139,500 for May 2025 is a related benchmark, with the limitation that it measures a different occupational category.
What matters most in a technical assessment?
Correctness, recovery from partial failure, maintainable implementation, and an ability to explain the data’s meaning and limitations. Weight those dimensions to the actual work.
What Skills Should a Data Engineer Have?
SQL, maintainable programming, data modeling, and experience building and operating relevant pipelines are common foundations. Add the storage, orchestration, streaming, or sensitive-data skills that the actual workload requires, and assess how the candidate checks correctness and recovers from failure.