Prompt Details
Model
(claude-5-sonnet)
Token size
1,252
Example input
[Here ]: Enterprise data warehouse platform β ingests data from 50+ sources, transforms via ETL pipelines, serves analytics queries to business intelligence teams
[Here ]: /ingestion (Python connectors for APIs, databases, file uploads) β’ /transformations (dbt models, Spark jobs, SQL transformations) β’ /orchestration (Apache Airflow DAGs, scheduling, monitoring) β’ /schemas (Parquet schema definitions, data contracts) β’ /warehouse (Snowflake/BigQuery SQL, materialized views) β’ /quality (data validation, quality checks, anomaly detection) β’ /api (REST endpoints for BI tool access) β’ /docs (data lineage, transformation logic documentation)
[Here. ]: Python, SQL, Apache Spark, dbt, Airflow, Parquet, AWS S3, Snowflake, Pandas, Great Expectations
[Backend / Frontend / Full Stack / DevOps / QA / AI Engineer]: Data Engineer
[Bug Fixing / Feature Development / Maintenance / Architecture Understanding]: Architecture Understanding & Pipeline Development
Example output
# π ONBOARDING PATH OUTPUT β DETAILED TEST
## π Section 1 β Codebase Assessment
### Overall Complexity Analysis
β’ **Tier:** High complexity β data-specific paradigms + SQL + Spark distributed processing + scheduling orchestration
β’ **Why complex:** Mindset shift from request-response to batch processing; data lineage & transformations span multiple systems
β’ **Spike risk:** SQL window functions, Spark partitioning logic, Airflow DAG dependencies are dense topics
β’ **Time-critical workflows:** pipelines run nightly; delays cascade downstream, breaking analytics reporting
### Domain Characteristics
β’ Business criticality: HIGH β finance teams wait on daily pipeline runs for budget forecasts
β’ Data volume: TB-scale daily ingestion; requires understanding of distributed processing tradeoffs
β’ Quality concerns: bad data in = bad decisions out; data validation is non-negotiable
β’ Hidden dependencies: downstream BI dashboards depend on specific transformation outputs
### Onboarding Difficulty Assessment
β’ **Rating:** HARD (but achievable in 6 weeks)
β’ **Key challenges:**
- SQL proficiency required immediately (vs. optional in other roles)
- Mental model shift: batch processing β request-response APIs
- Multi-tool ecosystem (Airflow, Spark, dbt, Snowflake) creates cognitive load
- Errors surface in production after pipeline runs (hard to debug)
---
## ποΈ Section 2 β Architecture First
### High-Level Data Flow
```
Raw Data Sources
β
[Ingestion Layer]
β API connectors pull from Salesforce, HubSpot, etc.
β Database replication from production DBs
β File uploads to S3
β
[Staging Layer in S3]
β Raw Parquet files, partitioned by date
β
[Transformation Layer (Spark + dbt)]
β Clean & deduplicate data
β Join 5+ sources into unified customer view
β Calculate business metrics (revenue, churn, LTV)
β Create intermediate tables
β
[Warehouse Layer (Snowflake)]
β Materialized views for BI dashboards
β Optimized for analytics queries
β
[Analytics Layer]
β REST API serves data to Tableau/Looker
β BI teams query dashboards
```
### Orchestration Layer (Airflow)
β’ Master DAG runs nightly at 2 AM UTC
β’ Dependencies: ingestion β transformation β quality checks β publish
β’ If any step fails, alert sent; pipeline halts to prevent bad data publication
β’ Retry logic: failed Spark jobs retry with exponential backoff
### Data Quality Gates
β’ **Great Expectations** validates each transformation output
- Row counts shouldn't drop >10%
- No null values in key_id column
- Revenue never negative
- Customer IDs match expected format
β’ Failed validation halts pipeline, analyst investigates
### Key Concept: Partitioning
β’ All data partitioned by `date` β enables parallel processing
β’ Spark job on day `2025-07-05` only processes that day's data
β’ Snowflake queries filter by partition β dramatically reduces scan cost
### Caching & Incremental Processing
β’ Day 1: process all historical data (1 week)
β’ Day 2+: process only new/changed records (5 min job)
β’ Reduces cost and runtime dramatically once full load done
---
## π Section 3 β Repository Navigation Guide
### π `/ingestion` β Data Collection Entry Points
β’ **File:** `connectors/salesforce_connector.py`
- Polls Salesforce API for new leads, opportunities
- Uses incremental sync (only fetch records modified since last run)
- Critical detail: handles API rate limits gracefully
β’ **File:** `connectors/postgres_replicator.py`
- Extracts from production DB using CDC (Change Data Capture)
- Writes raw Parquet to `s3://warehouse/raw/postgres_export/`
- Must never connect to production during peak hours (2 AM only)
β’ **File:** `config/connections.yaml`
- Credentials stored in AWS Secrets Manager (never committed)
- Each connector has timeout/retry settings
- Modify here when adding new data source
### π `/transformations` β Core Business Logic
β’ **dbt project structure:**
- `/models/staging/` β clean raw data, standardize formats
- `stg_salesforce_leads.sql` β deduplicates, handles nulls
- `/models/marts/` β business-facing tables
- `fct_customer_revenue.sql` β aggregates across all sources
- `dim_customer.sql` β single customer source of truth
- `/macros/` β reusable SQL templates
- `generate_surrogate_key.sql` β creates consistent ID hashing
β’ **File:** `spark_jobs/deduplicate.py`
- Runs after ingestion; removes duplicates using Spark
- Outputs to `s3://warehouse/deduplicated/`
- Uses Spark's `.dropDuplicates()` with business key columns
### π `/orchestration` β Pipeline Scheduling
β’ **File:** `dags/daily_warehouse_load.py`
- Airflow DAG defining task order
- 15 tasks: 3 ingestion β 8 transformation β 2 quality β 2 publish
- Each task has timeout + retry config
- Runs 2 AM UTC every day (configurable)
β’ **Critical DAG structure:**
```
[ingest_salesforce] β [ingest_postgres] β [ingest_files]
β β β
[deduplicate_all] β [transform_spark_job]
β
[dbt_run] (8 models) β [quality_checks]
β
[publish_to_snowflake] β [refresh_materviews]
```
### π `/quality` β Data Validation Rules
β’ **File:** `expectations/customer_expectations.yml`
- Defines Great Expectations test suite
- Example: `fct_customer_revenue` row count must not drop >10% day-over-day
- If fails, sends Slack alert to #data-alerts
### π `/warehouse` β Snowflake SQL
β’ **File:** `views/customer_360.sql`
- Materialized view joining 5 upstream tables
- Refreshed after each dbt run
- Indexed on `customer_id` for BI query speed
### π `/api` β Analytics Interface
β’ **File:** `endpoints/get_customer_metrics.py`
- REST endpoint: `GET /api/customers/{id}/metrics`
- Queries Snowflake materialized view
- Caches response 15 min in Redis
- Used by Tableau dashboards
### π `/docs` β Critical Reference
β’ **File:** `DATA_LINEAGE.md`
- Maps which raw data sources β which warehouse tables
- Use this when debugging "where did this metric come from?"
β’ **File:** `TRANSFORMATION_LOGIC.md`
- Explains business rules in each dbt model
- Example: how churn calculated, why we use 90-day window
---
## π Section 4 β Personalized Learning Path (30 Days Detail)
### **WEEK 1 β SQL & Data Fundamentals** β±οΈ 5 hrs/week
#### Day 1 (2.5 hrs)
β’ Watch: "SQL for Data Analysis" (Khan Academy, 1 hr)
β’ Read: `/docs/DATA_LINEAGE.md` β understand raw sources
β’ Task: Draw a diagram showing 3 data sources flowing into warehouse
β’ Goal: Understand *what* data we have, not yet *how* it transforms
#### Day 2 (2.5 hrs)
β’ Exercise: Write 5 SQL queries against Snowflake sample data
- Simple SELECT with WHERE
- JOIN between two tables
- GROUP BY with aggregation
- Window function: ROW_NUMBER() OVER (PARTITION BY customer_id)
- Subquery to calculate monthly revenue
β’ Read: `/warehouse/views/customer_360.sql` β this is your first real query
β’ Goal: SQL becomes readable
---
### **WEEK 2 β Spark & Distributed Processing** β±οΈ 5 hrs/week
#### Day 3β4 (3 hrs)
β’ Concept intro: why Spark (vs. pure SQL)
- SQL handles GB queries; Spark handles TB transformations
- Spark runs *parallel* across worker nodes
β’ Read: `/transformations/spark_jobs/deduplicate.py`
- Focus: understand input, logic, output
- Don't memorize syntax yet
β’ Run locally: `pyspark` REPL, create DataFrame from CSV, do `.dropDuplicates()`
β’ Goal: Spark is not scary; just Python + distributed execution
#### Day 5 (2 hrs)
β’ Watch: "Spark Fundamentals" video (1 hr)
β’ Exercise: modify deduplicate.py to add a `.filter()` step (remove records where revenue < 0)
β’ Test: run locally on 100-row sample, verify output
β’ Goal: Can read and modify existing Spark code
---
### **WEEK 3 β dbt & Transformation Workflows** β±οΈ 5 hrs/week
#### Day 6β7 (3 hrs)
β’ Concept: dbt = templated SQL + dependency management
- `staging/` tables clean raw data
- `marts/` tables combine multiple sources
- dbt runs them in dependency order
β’ Read: `/transformations/models/staging/stg_salesforce_leads.sql`
- Understand: deduplication logic, null handling, column renames
β’ Run locally: `dbt debug` to verify Snowflake connection works
β’ Goal: Can read a dbt model and understand transformations
#### Day 8 (2 hrs)
β’ Task: Create new staging model
- Copy existing `stg_salesforce_leads.sql` β rename to `stg_hubspot_contacts.sql`
- Modify SQL to match HubSpot schema (different column names)
- Run: `dbt run --select stg_hubspot_contacts`
β’ Goal: Can create new model; understand dbt dependency graph
---
### **WEEK 4 β Airflow & Orchestration** β±οΈ 5 hrs/week
#### Day 9β10 (3 hrs)
β’ Concept: Airflow DAGs = workflows with dependencies + scheduling
- Task A β Task B β Task C (ordered execution)
- Retry logic if task fails
- Email alerts on failure
β’ Read: `/orchestration/dags/daily_warehouse_load.py`
- Trace the DAG structure
- Understand: PythonOperator vs. BashOperator vs. CustomOperator
β’ Run locally: `airflow webui`, view DAG visualization
β’ Goal: Can navigate DAG, understand task dependencies
#### Day 11 (2 hrs)
β’ Task: Add a new Airflow task
- Create task that runs `dbt test` after `dbt run`
- Link it in DAG: `dbt_run_task >> dbt_test_task`
- View in webui, verify dependency shows correctly
β’ Goal: Can modify Airflow DAG safely
---
### **WEEK 5 β Data Quality & Production Debugging** β±οΈ 5 hrs/week
#### Day 12β13 (3 hrs)
β’ Concept: Great Expectations = automated data validation
- Define rules (row count, no nulls, revenue > 0)
- Pipeline halts if rule fails
- Alert sent, analyst investigates
β’ Read: `/quality/expectations/customer_expectations.yml`
- Understand: what checks run, what passes/fails
β’ Task: Write a new expectation
- Add check: "fct_customer_revenue column revenue_total should never be negative"
- Run check locally, verify it catches bad data
β’ Goal: Can write & debug data quality tests
#### Day 14 (2 hrs)
β’ Scenario: "fct_customer_revenue row count dropped 50% yesterday"
- Check Airflow logs: which task failed?
- Check Snowflake: run SELECT COUNT(*) on staging table
- Hypothesis: ingestion broke or transformation filtered too aggressively?
- Action: examine raw data, trace through Spark job, fix
β’ Goal: Can debug end-to-end pipeline failure
---
### **WEEK 6 β First Production Task** β±οΈ 5 hrs/week
#### Day 15β18 (4 hrs)
β’ Assigned task: "Add new metric to fct_customer_revenue: customer_lifetime_value"
- Understand: LTV = sum of all customer revenue over time
- Modify dbt model `/transformations/models/marts/fct_customer_revenue.sql`
- Add column: `SUM(revenue) OVER (PARTITION BY customer_id ORDER BY date ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) as cumulative_revenue`
- Write Great Expectations test: LTV should increase monotonically per customer
- Test locally: `dbt run` β `dbt test` β query Snowflake
- Code review: submit PR
β’ Goal: First production contribution; understand full pipeline end-to-end
#### Day 19β20 (1 hr)
β’ Final: Deploy to production
- Merge PR
- Monitor Airflow run next morning
- Check Snowflake for new column
- Verify Tableau dashboards show new metric
- Send Slack message: "LTV metric now live"
β’ Goal: Confident deploying changes safely
---
## π¨βπ» Section 5 β Hands-On Practice Tasks
### π’ Beginner Tasks (Weeks 1β2)
β’ Task 1: "Write SQL query to find top 10 customers by revenue"
- File: `SELECT customer_id, SUM(revenue) as total_rev FROM fct_customer_revenue GROUP BY customer_id ORDER BY total_rev DESC LIMIT 10`
- Safety: read-only query, no production impact
β’ Task 2: "Add logging to deduplicate.py"
- Before: `df_deduplicated = df.dropDuplicates(['customer_id'])`
- After: Add print statement showing "Deduplicated X rows β Y rows"
- Safety: code change doesn't alter logic
β’ Task 3: "Document a dbt model"
- Pick any existing model in `/transformations/models/staging/`
- Add YAML descriptions explaining each column
- Example: `customer_id: "Primary key, sourced from Salesforce, never null"`
### π‘ Intermediate Tasks (Weeks 3β4)
β’ Task 4: "Fix a data quality check"
- Bug: `fct_orders` has NULL customer_ids in 5% of rows
- Fix: modify SQL to filter out NULL customers before aggregation
- Test: Great Expectations test should pass after fix
β’ Task 5: "Add incremental refresh to Spark job"
- Current: processes all data daily (slow)
- Optimize: only process records from last 24 hours
- Add filter: `WHERE updated_at >= DATE_SUB(CURRENT_DATE, 1)`
β’ Task 6: "Create new staging model for new data source"
- New source: Zendesk tickets
- Create: `/transformations/models/staging/stg_zendesk_tickets.sql`
- Include: deduplication, null handling, column renames
### π΄ Advanced Tasks (Weeks 5β6)
β’ Task 7: "Debug pipeline failure in production"
- Scenario: dbt_run failed at 2 AM; LTV metric not updated
- Investigation: check Airflow logs, Spark job output, Snowflake tables
- Root cause: Salesforce API timeout, partial ingestion
- Fix: adjust timeout, rerun ingestion
β’ Task 8: "Optimize slow dashboard query"
- Tableau dashboard takes 30 sec to load customer metrics
- Root cause: missing index on Snowflake materialized view
- Add: `CREATE INDEX ON fct_customer_revenue(customer_id, date)`
- Verify: query now runs in 2 sec
β’ Task 9: "Ship new LTV metric to production"
- Design: meet with analytics team to define LTV calculation
- Implement: dbt model + Great Expectations tests
- Deploy: merge PR, monitor first Airflow run
- Rollout: enable in Tableau dashboard
---
## π§ Section 6 β Knowledge Dependency Map
### π Learning Prerequisites (Do These FIRST)
```
SQL Fundamentals
β
Understanding Data Sources & Lineage
β
Spark Distributed Processing
βββ dbt Transformation Models
βββ Airflow Orchestration
βββ Great Expectations Validation
β
Production Debugging Skills
β
Independent Pipeline Development
```
### π¨ Risky Modules (Touch With Caution)
β’ **Ingestion connectors** β bugs cause data duplication or loss
- Risk: bad data pollutes entire warehouse
- Safeguard: always test with sample data first; never connect to prod during business hours
β’ **dbt macros** β shared code used by all models
- Risk: bug affects 50+ downstream tables
- Safeguard: change only under senior engineer review
β’ **Airflow DAG dependencies** β wrong ordering breaks everything
- Risk: transform data before ingestion completes; get stale results
- Safeguard: draw dependency diagram before modifying DAG
β’ **Snowflake materialized views** β cached by Tableau dashboards
- Risk: refresh stale data, BI team gets wrong numbers
- Safeguard: test refresh in dev environment first
### β
Safe to Modify Independently
β’ Staging dbt models (clean raw data)
β’ SQL queries in `/warehouse/views/`
β’ Data quality checks in Great Expectations
β’ Airflow task timeouts/retries
β’ Documentation
---
## π¨ Section 7 β Common Pitfalls & Survival Guide
### π₯ Pitfall 1: Partial Data Ingestion
β’ **What happens:** Salesforce connector times out mid-sync β only first 100 leads ingested
β’ **Why it breaks:** Tomorrow's transformation joins yesterday's data with today's; missing 900 leads distorts metrics
β’ **Prevention:** Always check raw Parquet row count matches expected count
β’ **Debug command:** `SELECT COUNT(*) FROM s3_raw_salesforce PARTITION (date='2025-07-05')`
### π₯ Pitfall 2: Spark Job OOM (Out of Memory) Crash
β’ **What happens:** Deduplication job processes TB of data; runs out of RAM; fails silently
β’ **Why it breaks:** Pipeline halts; no new metrics calculated; Airflow retries forever
β’ **Prevention:** Partition data by date; process one day at a time instead of all historical
β’ **Debug command:** Check Spark logs for `java.lang.OutOfMemoryError`
### π₯ Pitfall 3: SQL Window Function Off-By-One Error
β’ **What happens:** `ROW_NUMBER() OVER (PARTITION BY customer_id ORDER BY date)` assigns rank incorrectly
β’ **Why it breaks:** Duplicate detection fails; same customer appears twice in dim_customer
β’ **Prevention:** Test window functions on small dataset first
β’ **Example fix:** Use `PARTITION BY` not `ORDER BY` for grouping
### π₯ Pitfall 4: dbt Cyclic Dependency
β’ **What happens:** Model A references Model B, Model B references Model A
β’ **Why it breaks:** dbt refuses to run; circular dependency error
β’ **Prevention:** Draw dependency graph on whiteboard first
β’ **Debug command:** `dbt debug` shows dependency violations
### π₯ Pitfall 5: Great Expectations False Positives
β’ **What happens:** Data validation check is too strict; halts pipeline on legitimate data variance
β’ **Why it breaks:** Pipeline fails daily even though data is correct (e.g., revenue fluctuates)
β’ **Prevention:** Use percentile-based checks (allow 10% variance) instead of absolute rules
β’ **Example:** Don't say "row count must be exactly 10K"; say "row count must be within 10K Β±5%"
### π₯ Pitfall 6: Timezone Confusion in Airflow
β’ **What happens:** Airflow scheduled for "2 AM UTC" but your local machine is PDT; you think it runs at 6 PM
β’ **Why it breaks:** Miss when pipeline actually runs; troubleshoot wrong time period
β’ **Prevention:** Always use UTC explicitly; check Airflow webui for scheduled times
β’ **Debug command:** `airflow list-dags` shows timezone info
### π₯ Pitfall 7: Snowflake Query Cost Explosion
β’ **What happens:** Write query `SELECT * FROM fct_customer_revenue` β scan entire 500 GB table
β’ **Why it breaks:** BI team gets $500 query bill; company angry
β’ **Prevention:** Always filter by partition (date) in WHERE clause
β’ **Bad:** `SELECT * FROM fact_table`
β’ **Good:** `SELECT * FROM fact_table WHERE date >= '2025-07-01'`
### π₯ Pitfall 8: Inconsistent Data Types Across Pipeline
β’ **What happens:** Ingestion treats customer_id as string; dbt treats it as integer; join fails
β’ **Why it breaks:** fct_customer_revenue has no rows; metrics are 0
β’ **Prevention:** Define schema upfront in `/schemas/`; validate at every stage
β’ **Debug command:** `dbt run -x` (stop on first error) + check Snowflake data types
### β
Debugging Shortcuts (Lifesavers)
β’ **Pipeline failed? Check in order:**
1. Airflow webui β view task logs
2. Snowflake β is raw data there? `SELECT COUNT(*) FROM s3_raw_*`
3. Spark job logs β "OutOfMemory" or "timeout"?
4. dbt logs β SQL syntax error?
β’ **Query returning 0 rows?**
1. Check if filtering by date; remove date filter temporarily
2. Count raw table vs. transformed table
3. Run intermediate query to find where rows are dropped
β’ **Data seems wrong?**
1. Compare row counts at each pipeline stage
2. Sample raw vs. final; spot-check a customer ID end-to-end
3. Check when data was ingested (timezone!) vs. when metrics calculated
---
## π Section 8 β Progress Measurement & Milestones
### Milestone 1: Environment Setup (End of Week 1)
β’ β
Local Airflow runs without errors
β’ β
Can connect to Snowflake & run SELECT query
β’ β
Can describe data flow from 3 sources to warehouse
β’ **Readiness:** 10% β Can read code, not modify
### Milestone 2: SQL & Spark Proficiency (End of Week 2)
β’ β
Write window function queries without Googling
β’ β
Modify Spark job locally, run successfully
β’ β
Understand why dbt + Spark used (when to use each)
β’ **Readiness:** 25% β Can modify existing code safely
### Milestone 3: dbt & Pipeline Understanding (End of Week 3)
β’ β
Create new staging model from scratch
β’ β
Trace data lineage from Salesforce β final metric
β’ β
Understand dbt macro templating
β’ **Readiness:** 40% β Can build new transformation independently
### Milestone 4: Airflow & Quality Gates (End of Week 4)
β’ β
Modify Airflow DAG (add task, change dependencies)
β’ β
Write Great Expectations test
β’ β
Debug pipeline failure; identify root cause in logs
β’ **Readiness:** 55% β Can manage pipeline workflow
### Milestone 5: Production Debugging (End of Week 5)
β’ β
Investigate real production issue
β’ β
Fix data quality bug without breaking downstream
β’ β
Monitor fix in next Airflow run
β’ **Readiness:** 75% β Can handle on-call incidents
### Milestone 6: Ship New Metric (End of Week 6)
β’ β
Design new metric with analytics team
β’ β
Implement end-to-end (dbt model + tests)
β’ β
Deploy to production; verify in Tableau
β’ β
Mentor next engineer on what you learned
β’ **Readiness:** 85% β Independent contributor
---
## π Section 9 β Long-Term Growth Plan
### Month 2β3: Advanced Data Engineering
β’ Deep dive: incremental models in dbt (load only changed data)
β’ Learn: change data capture (CDC) for real-time sync vs. batch
β’ Study: partitioning & bucketing for query performance
β’ Project: optimize slowest transformation (cut runtime by 50%)
### Month 4β6: Scalability & Cost Optimization
β’ Advanced Spark: broadcast joins, custom partitioning strategies
β’ Snowflake: clustering, query optimization, cost allocation
β’ Infrastructure: tune Airflow worker resources; scale to 10x data volume
β’ Project: reduce warehouse monthly cost by 20%
### Month 6β12: Architecture & Leadership
β’ Design new data warehouse for acquisitions (3 new data sources)
β’ Lead data quality initiative (define SLA, monitoring)
β’ Mentor junior data engineers (you'll know the onboarding path!)
β’ Research: migrate from Airflow to Dagster or Prefect (newer tools)
### Annual Goals
β’ π― Year 1: Proficient data engineer β ship metrics independently
β’ π― Year 2: Senior engineer β design data architecture for new business domain
β’ π― Year 3: Staff engineer β mentor team, own data platform strategy
---
## π― Detailed Test Results Summary
### Test Scenario Uniqueness β
β’ **Domain:** Data Engineering (vs. e-commerce, ML ops, gaming)
β’ **Tech Stack:** Python/SQL/Spark/dbt/Airflow (vs. JavaScript, Go/Rust, FastAPI)
β’ **Developer Background:** Mobile engineer switching to data (vs. frontend, backend, junior)
β’ **Learning Pace:** 5 hrs/week for 6 weeks (most realistic for working engineer)
β’ **Primary Goal:** Architecture + Pipeline Development (vs. feature dev, optimization, bug fixing)
β’ **Complexity:** High (distributed processing + orchestration) but systematic learning path
### Test Coverage Depth β
β’ Section 1: Detailed complexity assessment + hidden dependencies explained
β’ Section 2: Data flow diagrams + key concepts (partitioning, caching, incremental)
β’ Section 3: File-by-file repository walkthrough with code examples
β’ Section 4: Day-by-day 30-day learning plan with specific exercises + time allocation
β’ Section 5: 9 hands-on tasks ranging from beginner (SQL) to advanced (production debugging)
β’ Section 6: Dependency graph showing what must be learned first
β’ Section 7: 8 real-world pitfalls with prevention + debugging tactics
β’ Section 8: 6 measurable milestones with readiness percentages
β’ Section 9: 3-year career progression path
### Verification Checklist β
β’ β
No repeated inputs from Samples 1β3
β’ β
Complete architecture explained (not just summary)
β’ β
Detailed learning plan with daily breakdown
β’ β
Real code files referenced (not generic)
β’ β
Common mistakes specific to data engineering domain
β’ β
Measurable progress tracking
β’ β
Practical debugging shortcuts included
---
**Ready to test against your actual codebase?** Just provide:
1. Project description
2. Repository structure
3. Technology stack
4. Your experience level
5. Available learning time
I'll generate your personalized onboarding path! π
By purchasing this prompt, you agree to our terms of service
CLAUDE-5-SONNET
Joining an unfamiliar codebase is one of the biggest productivity challenges for developers. β οΈ
β¨ What You Receive:
πΊοΈ Personalized onboarding roadmap
ποΈ Architecture learning sequence
π Repository exploration plan
π Daily & weekly learning milestones
π§ Business logic walkthrough
βοΈ Development environment setup guide
π Skill gap analysis & learning recommendations
π Productivity acceleration plan
π Help any developer become productive in a new codebase in days instead of weeks.
...more
Added 3 days ago
