Senior Data Engineer
Generate pipeline configurations (Airflow, Prefect, Dagster), validate data quality with profiling and anomaly detection, and optimize SQL/Spark performance with actionable recommendations.
Core Capabilities
- Pipeline generation — Airflow/Prefect/Dagster DAG code for batch and incremental loads, with DAG validation.
- Data quality — schema validation, profiling, anomaly detection, data contracts, and Great Expectations suite generation.
- ETL/ELT optimization — SQL and Spark analysis, partition strategy, and query cost estimation per warehouse.
- Architecture decisions — batch vs streaming and warehouse vs lakehouse trade-off frameworks.
- Reliability patterns — incremental watermarks, dead letter queues, freshness checks, and schema-drift detection.
When to Use
- Designing a data architecture or choosing batch vs streaming / warehouse vs lakehouse.
- Building or generating Airflow/Spark/dbt pipelines.
- Adding data-quality checks or data contracts.
- Optimizing slow ETL/ELT queries or troubleshooting pipeline failures.
Clarify First
Before generating pipelines, confirm these inputs. If any is unknown or vague, ASK — do not assume:
Stop rule: ask only the 2-3 that most change the output. If the user says "just draft it," proceed and list your assumptions at the top of the artifact.
Quick Start
# Generate an Airflow DAG for incremental PostgreSQL -> Snowflake
python scripts/pipeline_orchestrator.py generate \
--type airflow --source postgres --destination snowflake \
--tables orders,customers --mode incremental --schedule "0 5 * * *"
# Validate data quality against a schema
python scripts/data_quality_validator.py validate data.csv \
--schema schema.json --detect-anomalies --json
# Profile a dataset
python scripts/data_quality_validator.py profile data.csv --json
# Optimize a slow SQL query
python scripts/etl_performance_optimizer.py analyze-sql query.sql \
--warehouse snowflake --json
# Estimate query cost
python scripts/etl_performance_optimizer.py estimate-cost query.sql \
--warehouse bigquery --stats data_stats.json --json
Tools
| Tool |
Subcommands |
Purpose |
pipeline_orchestrator.py |
generate, validate, template |
Generate Airflow/Prefect/Dagster pipeline code, validate DAGs |
data_quality_validator.py |
validate, profile, generate-suite, contract, schema |
Schema validation, profiling, anomaly detection, Great Expectations |
etl_performance_optimizer.py |
analyze-sql, analyze-spark, optimize-partition, estimate-cost, template |
SQL/Spark optimization, partition strategy, cost estimation |
All subcommands support --json for machine-readable output and --output for file writing.
References
Load the reference that matches the task — keep this file lean and pull detail on demand:
- references/pipeline-workflows.md — the three end-to-end worked pipelines with code: batch ETL (PostgreSQL → dbt → Snowflake), real-time streaming (Kafka → Spark → Delta Lake), and the data-quality framework. Read when building a concrete pipeline.
- references/decisions-and-troubleshooting.md — the batch-vs-streaming and warehouse-vs-lakehouse decision frameworks, anti-patterns, and the troubleshooting table. Read when choosing an architecture or diagnosing a failure.
- references/data_pipeline_architecture.md — deep reference on pipeline architecture patterns. Read for architecture design depth.
- references/data_modeling_patterns.md — dimensional modeling and data-modeling patterns. Read when modeling marts and dimensions.
- references/dataops_best_practices.md — DataOps practices for CI/CD, testing, and operating pipelines. Read when operationalizing pipelines.
Integration Points
| Skill |
Integration |
senior-data-scientist |
Feature engineering consumes curated mart data |
senior-ml-engineer |
ML pipelines depend on feature store tables |
senior-devops |
CI/CD for dbt, Airflow deployment, container orchestration |
senior-architect |
Architecture reviews for lakehouse vs warehouse decisions |
code-reviewer |
Pipeline code reviews for DAGs, dbt models, Spark jobs |
1---
2name: senior-data-engineer
3description: >
4 Data engineering for batch and streaming pipelines with Airflow, dbt, Spark, and Kafka. Use
5 when designing data architectures, building pipelines, adding data-quality checks,
6 optimizing ETL/ELT, or troubleshooting pipeline failures.
7license: MIT + Commons Clause
8metadata:
9 version: 1.2.0
10 author: borghei
11 category: engineering
12 domain: data-engineering
13 updated: 2026-06-17
14 tags: [airflow, spark, data-pipelines, warehousing, etl]
15 python-tools: pipeline_orchestrator.py, data_quality_validator.py, etl_performance_optimizer.py
16 tech-stack: python, sql, spark, airflow, dbt, kafka
17---
18
19# Senior Data Engineer
20
21Generate pipeline configurations (Airflow, Prefect, Dagster), validate data quality with profiling and anomaly detection, and optimize SQL/Spark performance with actionable recommendations.
22
23## Core Capabilities
24
25- **Pipeline generation** — Airflow/Prefect/Dagster DAG code for batch and incremental loads, with DAG validation.
26- **Data quality** — schema validation, profiling, anomaly detection, data contracts, and Great Expectations suite generation.
27- **ETL/ELT optimization** — SQL and Spark analysis, partition strategy, and query cost estimation per warehouse.
28- **Architecture decisions** — batch vs streaming and warehouse vs lakehouse trade-off frameworks.
29- **Reliability patterns** — incremental watermarks, dead letter queues, freshness checks, and schema-drift detection.
30
31## When to Use
32
33- Designing a data architecture or choosing batch vs streaming / warehouse vs lakehouse.
34- Building or generating Airflow/Spark/dbt pipelines.
35- Adding data-quality checks or data contracts.
36- Optimizing slow ETL/ELT queries or troubleshooting pipeline failures.
37
38## Clarify First
39
40Before generating pipelines, confirm these inputs. If any is unknown or vague, ASK — do not assume:
41
42- [ ] **Orchestrator** — Airflow / Prefect / Dagster (`--type`; changes the generated DAG code)
43- [ ] **Source, destination & load mode** — systems involved and batch vs incremental (`--source`/`--destination`/`--mode`; shapes the pipeline)
44- [ ] **Data-quality expectations** — the schema and contracts to enforce (drives the Great Expectations suite generation)
45
46Stop rule: ask only the 2-3 that most change the output. If the user says "just draft it," proceed and list your assumptions at the top of the artifact.
47
48## Quick Start
49
50```bash
51# Generate an Airflow DAG for incremental PostgreSQL -> Snowflake
52python scripts/pipeline_orchestrator.py generate \
53 --type airflow --source postgres --destination snowflake \
54 --tables orders,customers --mode incremental --schedule "0 5 * * *"
55
56# Validate data quality against a schema
57python scripts/data_quality_validator.py validate data.csv \
58 --schema schema.json --detect-anomalies --json
59
60# Profile a dataset
61python scripts/data_quality_validator.py profile data.csv --json
62
63# Optimize a slow SQL query
64python scripts/etl_performance_optimizer.py analyze-sql query.sql \
65 --warehouse snowflake --json
66
67# Estimate query cost
68python scripts/etl_performance_optimizer.py estimate-cost query.sql \
69 --warehouse bigquery --stats data_stats.json --json
70```
71
72## Tools
73
74| Tool | Subcommands | Purpose |
75|------|-------------|---------|
76| `pipeline_orchestrator.py` | `generate`, `validate`, `template` | Generate Airflow/Prefect/Dagster pipeline code, validate DAGs |
77| `data_quality_validator.py` | `validate`, `profile`, `generate-suite`, `contract`, `schema` | Schema validation, profiling, anomaly detection, Great Expectations |
78| `etl_performance_optimizer.py` | `analyze-sql`, `analyze-spark`, `optimize-partition`, `estimate-cost`, `template` | SQL/Spark optimization, partition strategy, cost estimation |
79
80All subcommands support `--json` for machine-readable output and `--output` for file writing.
81
82## References
83
84Load the reference that matches the task — keep this file lean and pull detail on demand:
85
86- **[references/pipeline-workflows.md](references/pipeline-workflows.md)** — the three end-to-end worked pipelines with code: batch ETL (PostgreSQL → dbt → Snowflake), real-time streaming (Kafka → Spark → Delta Lake), and the data-quality framework. Read when building a concrete pipeline.
87- **[references/decisions-and-troubleshooting.md](references/decisions-and-troubleshooting.md)** — the batch-vs-streaming and warehouse-vs-lakehouse decision frameworks, anti-patterns, and the troubleshooting table. Read when choosing an architecture or diagnosing a failure.
88- **[references/data_pipeline_architecture.md](references/data_pipeline_architecture.md)** — deep reference on pipeline architecture patterns. Read for architecture design depth.
89- **[references/data_modeling_patterns.md](references/data_modeling_patterns.md)** — dimensional modeling and data-modeling patterns. Read when modeling marts and dimensions.
90- **[references/dataops_best_practices.md](references/dataops_best_practices.md)** — DataOps practices for CI/CD, testing, and operating pipelines. Read when operationalizing pipelines.
91
92## Integration Points
93
94| Skill | Integration |
95|-------|-------------|
96| `senior-data-scientist` | Feature engineering consumes curated mart data |
97| `senior-ml-engineer` | ML pipelines depend on feature store tables |
98| `senior-devops` | CI/CD for dbt, Airflow deployment, container orchestration |
99| `senior-architect` | Architecture reviews for lakehouse vs warehouse decisions |
100| `code-reviewer` | Pipeline code reviews for DAGs, dbt models, Spark jobs |