Senior Data Engineer
Production-grade data engineering skill for building scalable, reliable data systems.
Table of Contents
- Trigger Phrases
- Quick Start
- Workflows
- Architecture Decision Framework
- Tech Stack
- Reference Documentation
- Troubleshooting
Trigger Phrases
Activate this skill when you see:
Pipeline Design:
- "Design a data pipeline for..."
- "Build an ETL/ELT process..."
- "How should I ingest data from..."
- "Set up data extraction from..."
Architecture:
- "Should I use batch or streaming?"
- "Lambda vs Kappa architecture"
- "How to handle late-arriving data"
- "Design a data lakehouse"
Data Modeling:
- "Create a dimensional model..."
- "Star schema vs snowflake"
- "Implement slowly changing dimensions"
- "Design a data vault"
Data Quality:
- "Add data validation to..."
- "Set up data quality checks"
- "Monitor data freshness"
- "Implement data contracts"
Performance:
- "Optimize this Spark job"
- "Query is running slow"
- "Reduce pipeline execution time"
- "Tune Airflow DAG"
Quick Start
Core Tools
# Generate pipeline orchestration config
python scripts/pipeline_orchestrator.py generate \
--type airflow \
--source postgres \
--destination snowflake \
--schedule "0 5 * * *"
# Validate data quality
python scripts/data_quality_validator.py validate \
--input data/sales.parquet \
--schema schemas/sales.json \
--checks freshness,completeness,uniqueness
# Optimize ETL performance
python scripts/etl_performance_optimizer.py analyze \
--query queries/daily_aggregation.sql \
--engine spark \
--recommend
Workflows
→ See references/workflows.md for details
Architecture Decision Framework
Use this framework to choose the right approach for your data pipeline.
Batch vs Streaming
| Criteria |
Batch |
Streaming |
| Latency requirement |
Hours to days |
Seconds to minutes |
| Data volume |
Large historical datasets |
Continuous event streams |
| Processing complexity |
Complex transformations, ML |
Simple aggregations, filtering |
| Cost sensitivity |
More cost-effective |
Higher infrastructure cost |
| Error handling |
Easier to reprocess |
Requires careful design |
Decision Tree:
Is real-time insight required?
├── Yes → Use streaming
│ └── Is exactly-once semantics needed?
│ ├── Yes → Kafka + Flink/Spark Structured Streaming
│ └── No → Kafka + consumer groups
└── No → Use batch
└── Is data volume > 1TB daily?
├── Yes → Spark/Databricks
└── No → dbt + warehouse compute
Lambda vs Kappa Architecture
| Aspect |
Lambda |
Kappa |
| Complexity |
Two codebases (batch + stream) |
Single codebase |
| Maintenance |
Higher (sync batch/stream logic) |
Lower |
| Reprocessing |
Native batch layer |
Replay from source |
| Use case |
ML training + real-time serving |
Pure event-driven |
When to choose Lambda:
- Need to train ML models on historical data
- Complex batch transformations not feasible in streaming
- Existing batch infrastructure
When to choose Kappa:
- Event-sourced architecture
- All processing can be expressed as stream operations
- Starting fresh without legacy systems
Data Warehouse vs Data Lakehouse
| Feature |
Warehouse (Snowflake/BigQuery) |
Lakehouse (Delta/Iceberg) |
| Best for |
BI, SQL analytics |
ML, unstructured data |
| Storage cost |
Higher (proprietary format) |
Lower (open formats) |
| Flexibility |
Schema-on-write |
Schema-on-read |
| Performance |
Excellent for SQL |
Good, improving |
| Ecosystem |
Mature BI tools |
Growing ML tooling |
Tech Stack
| Category |
Technologies |
| Languages |
Python, SQL, Scala |
| Orchestration |
Airflow, Prefect, Dagster |
| Transformation |
dbt, Spark, Flink |
| Streaming |
Kafka, Kinesis, Pub/Sub |
| Storage |
S3, GCS, Delta Lake, Iceberg |
| Warehouses |
Snowflake, BigQuery, Redshift, Databricks |
| Quality |
Great Expectations, dbt tests, Monte Carlo |
| Monitoring |
Prometheus, Grafana, Datadog |
Reference Documentation
1. Data Pipeline Architecture
See references/data_pipeline_architecture.md for:
- Lambda vs Kappa architecture patterns
- Batch processing with Spark and Airflow
- Stream processing with Kafka and Flink
- Exactly-once semantics implementation
- Error handling and dead letter queues
2. Data Modeling Patterns
See references/data_modeling_patterns.md for:
- Dimensional modeling (Star/Snowflake)
- Slowly Changing Dimensions (SCD Types 1-6)
- Data Vault modeling
- dbt best practices
- Partitioning and clustering
3. DataOps Best Practices
See references/dataops_best_practices.md for:
- Data testing frameworks
- Data contracts and schema validation
- CI/CD for data pipelines
- Observability and lineage
- Incident response
Troubleshooting
→ See references/troubleshooting.md for details
1---2name: senior-data-engineer3description: Data engineering skill for building scalable data pipelines, ETL/ELT systems, and data infrastructure. Expertise in Python, SQL, Spark, Airflow, dbt, Kafka, and modern data stack. Includes data modeling, pipeline orchestration, data quality, and D...4license: MIT5---6
7# Senior Data Engineer
8
9Production-grade data engineering skill for building scalable, reliable data systems.
10
11## Table of Contents
12
131. [Trigger Phrases](#trigger-phrases)
142. [Quick Start](#quick-start)
153. [Workflows](#workflows)
164. [Architecture Decision Framework](#architecture-decision-framework)
175. [Tech Stack](#tech-stack)
186. [Reference Documentation](#reference-documentation)
197. [Troubleshooting](#troubleshooting)
20
21---
22
23## Trigger Phrases
24
25Activate this skill when you see:
26
27**Pipeline Design:**
28- "Design a data pipeline for..."
29- "Build an ETL/ELT process..."
30- "How should I ingest data from..."
31- "Set up data extraction from..."
32
33**Architecture:**
34- "Should I use batch or streaming?"
35- "Lambda vs Kappa architecture"
36- "How to handle late-arriving data"
37- "Design a data lakehouse"
38
39**Data Modeling:**
40- "Create a dimensional model..."
41- "Star schema vs snowflake"
42- "Implement slowly changing dimensions"
43- "Design a data vault"
44
45**Data Quality:**
46- "Add data validation to..."
47- "Set up data quality checks"
48- "Monitor data freshness"
49- "Implement data contracts"
50
51**Performance:**
52- "Optimize this Spark job"
53- "Query is running slow"
54- "Reduce pipeline execution time"
55- "Tune Airflow DAG"
56
57---
58
59## Quick Start
60
61### Core Tools
62
63```bash
64# Generate pipeline orchestration config
65python scripts/pipeline_orchestrator.py generate \
66 --type airflow \
67 --source postgres \
68 --destination snowflake \
69 --schedule "0 5 * * *"
70
71# Validate data quality
72python scripts/data_quality_validator.py validate \
73 --input data/sales.parquet \
74 --schema schemas/sales.json \
75 --checks freshness,completeness,uniqueness
76
77# Optimize ETL performance
78python scripts/etl_performance_optimizer.py analyze \
79 --query queries/daily_aggregation.sql \
80 --engine spark \
81 --recommend
82```
83
84---
85
86## Workflows
87→ See references/workflows.md for details
88
89## Architecture Decision Framework
90
91Use this framework to choose the right approach for your data pipeline.
92
93### Batch vs Streaming
94
95| Criteria | Batch | Streaming |
96|----------|-------|-----------|
97| **Latency requirement** | Hours to days | Seconds to minutes |
98| **Data volume** | Large historical datasets | Continuous event streams |
99| **Processing complexity** | Complex transformations, ML | Simple aggregations, filtering |
100| **Cost sensitivity** | More cost-effective | Higher infrastructure cost |
101| **Error handling** | Easier to reprocess | Requires careful design |
102
103**Decision Tree:**
104```
105Is real-time insight required?
106├── Yes → Use streaming
107│ └── Is exactly-once semantics needed?
108│ ├── Yes → Kafka + Flink/Spark Structured Streaming
109│ └── No → Kafka + consumer groups
110└── No → Use batch
111 └── Is data volume > 1TB daily?
112 ├── Yes → Spark/Databricks
113 └── No → dbt + warehouse compute
114```
115
116### Lambda vs Kappa Architecture
117
118| Aspect | Lambda | Kappa |
119|--------|--------|-------|
120| **Complexity** | Two codebases (batch + stream) | Single codebase |
121| **Maintenance** | Higher (sync batch/stream logic) | Lower |
122| **Reprocessing** | Native batch layer | Replay from source |
123| **Use case** | ML training + real-time serving | Pure event-driven |
124
125**When to choose Lambda:**
126- Need to train ML models on historical data
127- Complex batch transformations not feasible in streaming
128- Existing batch infrastructure
129
130**When to choose Kappa:**
131- Event-sourced architecture
132- All processing can be expressed as stream operations
133- Starting fresh without legacy systems
134
135### Data Warehouse vs Data Lakehouse
136
137| Feature | Warehouse (Snowflake/BigQuery) | Lakehouse (Delta/Iceberg) |
138|---------|-------------------------------|---------------------------|
139| **Best for** | BI, SQL analytics | ML, unstructured data |
140| **Storage cost** | Higher (proprietary format) | Lower (open formats) |
141| **Flexibility** | Schema-on-write | Schema-on-read |
142| **Performance** | Excellent for SQL | Good, improving |
143| **Ecosystem** | Mature BI tools | Growing ML tooling |
144
145---
146
147## Tech Stack
148
149| Category | Technologies |
150|----------|--------------|
151| **Languages** | Python, SQL, Scala |
152| **Orchestration** | Airflow, Prefect, Dagster |
153| **Transformation** | dbt, Spark, Flink |
154| **Streaming** | Kafka, Kinesis, Pub/Sub |
155| **Storage** | S3, GCS, Delta Lake, Iceberg |
156| **Warehouses** | Snowflake, BigQuery, Redshift, Databricks |
157| **Quality** | Great Expectations, dbt tests, Monte Carlo |
158| **Monitoring** | Prometheus, Grafana, Datadog |
159
160---
161
162## Reference Documentation
163
164### 1. Data Pipeline Architecture
165See `references/data_pipeline_architecture.md` for:
166- Lambda vs Kappa architecture patterns
167- Batch processing with Spark and Airflow
168- Stream processing with Kafka and Flink
169- Exactly-once semantics implementation
170- Error handling and dead letter queues
171
172### 2. Data Modeling Patterns
173See `references/data_modeling_patterns.md` for:
174- Dimensional modeling (Star/Snowflake)
175- Slowly Changing Dimensions (SCD Types 1-6)
176- Data Vault modeling
177- dbt best practices
178- Partitioning and clustering
179
180### 3. DataOps Best Practices
181See `references/dataops_best_practices.md` for:
182- Data testing frameworks
183- Data contracts and schema validation
184- CI/CD for data pipelines
185- Observability and lineage
186- Incident response
187
188---
189
190## Troubleshooting
191→ See references/troubleshooting.md for details