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 — pipelines, ETL/ELT, Python/SQL/Spark, Airflow, dbt, cloud DWH4---56# Senior Data Engineer78Production-grade data engineering skill for building scalable, reliable data systems.910## Table of Contents11121. [Trigger Phrases](#trigger-phrases)132. [Quick Start](#quick-start)143. [Workflows](#workflows)15 - [Building a Batch ETL Pipeline](#workflow-1-building-a-batch-etl-pipeline)16 - [Implementing Real-Time Streaming](#workflow-2-implementing-real-time-streaming)17 - [Data Quality Framework Setup](#workflow-3-data-quality-framework-setup)184. [Architecture Decision Framework](#architecture-decision-framework)195. [Tech Stack](#tech-stack)206. [Reference Documentation](#reference-documentation)217. [Troubleshooting](#troubleshooting)2223---2425## Trigger Phrases2627Activate this skill when you see:2829**Pipeline Design:**30- "Design a data pipeline for..."31- "Build an ETL/ELT process..."32- "How should I ingest data from..."33- "Set up data extraction from..."3435**Architecture:**36- "Should I use batch or streaming?"37- "Lambda vs Kappa architecture"38- "How to handle late-arriving data"39- "Design a data lakehouse"4041**Data Modeling:**42- "Create a dimensional model..."43- "Star schema vs snowflake"44- "Implement slowly changing dimensions"45- "Design a data vault"4647**Data Quality:**48- "Add data validation to..."49- "Set up data quality checks"50- "Monitor data freshness"51- "Implement data contracts"5253**Performance:**54- "Optimize this Spark job"55- "Query is running slow"56- "Reduce pipeline execution time"57- "Tune Airflow DAG"5859---6061## Quick Start6263### Core Tools6465```bash66# Generate pipeline orchestration config67python scripts/pipeline_orchestrator.py generate \68 --type airflow \69 --source postgres \70 --destination snowflake \71 --schedule "0 5 * * *"7273# Validate data quality74python scripts/data_quality_validator.py validate \75 --input data/sales.parquet \76 --schema schemas/sales.json \77 --checks freshness,completeness,uniqueness7879# Optimize ETL performance80python scripts/etl_performance_optimizer.py analyze \81 --query queries/daily_aggregation.sql \82 --engine spark \83 --recommend84```8586---8788## Workflows89→ See references/workflows.md for details9091## Architecture Decision Framework9293Use this framework to choose the right approach for your data pipeline.9495### Batch vs Streaming9697| Criteria | Batch | Streaming |98|----------|-------|-----------|99| **Latency requirement** | Hours to days | Seconds to minutes |100| **Data volume** | Large historical datasets | Continuous event streams |101| **Processing complexity** | Complex transformations, ML | Simple aggregations, filtering |102| **Cost sensitivity** | More cost-effective | Higher infrastructure cost |103| **Error handling** | Easier to reprocess | Requires careful design |104105**Decision Tree:**106```107Is real-time insight required?108├── Yes → Use streaming109│ └── Is exactly-once semantics needed?110│ ├── Yes → Kafka + Flink/Spark Structured Streaming111│ └── No → Kafka + consumer groups112└── No → Use batch113 └── Is data volume > 1TB daily?114 ├── Yes → Spark/Databricks115 └── No → dbt + warehouse compute116```117118### Lambda vs Kappa Architecture119120| Aspect | Lambda | Kappa |121|--------|--------|-------|122| **Complexity** | Two codebases (batch + stream) | Single codebase |123| **Maintenance** | Higher (sync batch/stream logic) | Lower |124| **Reprocessing** | Native batch layer | Replay from source |125| **Use case** | ML training + real-time serving | Pure event-driven |126127**When to choose Lambda:**128- Need to train ML models on historical data129- Complex batch transformations not feasible in streaming130- Existing batch infrastructure131132**When to choose Kappa:**133- Event-sourced architecture134- All processing can be expressed as stream operations135- Starting fresh without legacy systems136137### Data Warehouse vs Data Lakehouse138139| Feature | Warehouse (Snowflake/BigQuery) | Lakehouse (Delta/Iceberg) |140|---------|-------------------------------|---------------------------|141| **Best for** | BI, SQL analytics | ML, unstructured data |142| **Storage cost** | Higher (proprietary format) | Lower (open formats) |143| **Flexibility** | Schema-on-write | Schema-on-read |144| **Performance** | Excellent for SQL | Good, improving |145| **Ecosystem** | Mature BI tools | Growing ML tooling |146147---148149## Tech Stack150151| Category | Technologies |152|----------|--------------|153| **Languages** | Python, SQL, Scala |154| **Orchestration** | Airflow, Prefect, Dagster |155| **Transformation** | dbt, Spark, Flink |156| **Streaming** | Kafka, Kinesis, Pub/Sub |157| **Storage** | S3, GCS, Delta Lake, Iceberg |158| **Warehouses** | Snowflake, BigQuery, Redshift, Databricks |159| **Quality** | Great Expectations, dbt tests, Monte Carlo |160| **Monitoring** | Prometheus, Grafana, Datadog |161162---163164## Reference Documentation165166### 1. Data Pipeline Architecture167See `references/data_pipeline_architecture.md` for:168- Lambda vs Kappa architecture patterns169- Batch processing with Spark and Airflow170- Stream processing with Kafka and Flink171- Exactly-once semantics implementation172- Error handling and dead letter queues173174### 2. Data Modeling Patterns175See `references/data_modeling_patterns.md` for:176- Dimensional modeling (Star/Snowflake)177- Slowly Changing Dimensions (SCD Types 1-6)178- Data Vault modeling179- dbt best practices180- Partitioning and clustering181182### 3. DataOps Best Practices183See `references/dataops_best_practices.md` for:184- Data testing frameworks185- Data contracts and schema validation186- CI/CD for data pipelines187- Observability and lineage188- Incident response189190---191192## Troubleshooting193→ See references/troubleshooting.md for details194