Roles · Analytics Engineer · Mid-level

What a Mid-level } should know

18 core skills, 53 in total. Expectations per skill, and what changes at the next level.

This page lists what a Mid-level } is expected to know and do, skill by skill. Core skills are the ones a manager and peers assess in a review cycle; the rest count only in self-assessment. Main areas: Database Management, Data Engineering.

18core skills
35additional skills
2skill areas
0%at Advanced or Expert
Assess myself as Mid-level Full role matrix

Core skills for a Mid-level

Grouped by area. The label on the right is the expected depth: Awareness, Working, Advanced or Expert.

Database Management · 6

ClickHouse Working

Writes complex analytical queries using ClickHouse-specific functions: arrayJoin, windowFunnel, retention. Optimizes queries through proper ORDER BY key selection and PREWHERE usage for filtering.

Designs dbt models by layer: staging for raw data cleansing, intermediate for business logic, marts for consumers. Applies dimensional modeling (Kimball) for analytical marts. Implements SCD Type 2 for historical dimensions.

Analyzes query execution plans to determine necessary indexes in data sources. Creates composite indexes for typical analytical patterns: date filtering + dimension. Understands the trade-off between read and write speed.

Independently designs schemas and optimizes queries with Database Migrations. Understands indexing and execution plans. Uses ORM effectively.

PostgreSQL Working

Creates complex analytical queries with CTEs, window functions, and subqueries in PostgreSQL. Uses EXPLAIN ANALYZE for profiling queries on large tables. Works with PostgreSQL-specific types: JSONB, ARRAY, INTERVAL.

Optimizes dbt models and SQL queries: rewrites subqueries as CTEs, eliminates redundant JOINs, uses incremental strategies for heavy models. Analyzes query profiles in Snowflake/BigQuery to identify bottlenecks.

Data Engineering · 12

Apache Airflow Working

Independently builds Airflow DAGs for ELT pipelines with dbt operators and data quality checks. Configures retry policies, SLAs, and alerting for transformation jobs. Optimizes task parallelism and resource pools.

BI Dashboards Working

Designs analytical dashboards with correct business logic: metric calculation at the BI vs dbt level, parameterized reports, cross-filtering. Optimizes dashboard performance through proper data modeling in the mart layer.

Independently implements data pipelines with Dagster / Prefect. Optimizes performance. Ensures data quality.

Data Catalog Working

Independently maintains data catalog entries for transformation layer. Configures automated metadata extraction from dbt docs and lineage graphs. Implements tagging taxonomies and data classification for governed self-service access.

Data Contracts Working

Independently defines data contracts for transformation layer outputs using dbt contracts and schema tests. Implements automated contract validation in CI/CD pipelines. Negotiates contract changes with upstream data producers.

Independently builds analytics data products on top of data lake layers using dbt and Spark SQL. Optimizes query performance through intelligent partitioning and Z-ordering. Ensures data quality with Great Expectations checks at zone boundaries.

Data Lineage Working

Independently implements data lineage tracking across dbt transformation layer. Configures column-level lineage with dbt metadata and external lineage tools (OpenLineage, DataHub). Automates impact analysis for schema changes.

Data Quality Working

Configures comprehensive dbt testing: custom generic tests, dbt expectations package for statistical checks, freshness tests for sources. Implements data quality dashboards for monitoring quality metrics.

Designs dimensional models and semantic layers that serve multiple downstream consumers. Builds reusable dbt packages with proper materialization strategies, incremental models, and well-documented data marts. Implements slowly changing dimensions and manages schema evolution without breaking existing analytics pipelines.

dbt Working

Independently builds dbt transformation pipelines with incremental models, snapshots, and custom macros. Implements data quality tests with dbt-expectations and dbt-utils packages. Configures materializations and optimizes model performance.

Pandas / Polars Working

Applies pandas/polars for complex data preprocessing: merging heterogeneous sources, pivot tables, time series processing. Uses polars to accelerate local processing of large files before loading into the warehouse.

SQL-based ETL Working

Develops complex SQL transformations in dbt: window functions for metric calculation, CTE chains for multi-step business logic, Jinja macros for DRY approach. Implements incremental models with merge strategy for optimization.

Additional skills

Not assessed by the team, but part of the self-assessment and the development plan.

Algorithms & ComplexityApache KafkaAPI DocumentationAsync ProgrammingAWSChatGPT / ClaudeCode Quality & RefactoringCode ReviewCursor IDEData StructuresDesign PatternsDockerDocumentation as CodeElasticsearch / OpenSearchGit AdvancedGitHub Actions / GitLab CIGitHub CopilotGraphQL DesignIntegration TestingKubernetes CoreMultithreadingNetwork FundamentalsOOP & SOLID PrinciplesOpenTelemetryOWASP & Application SecurityPrometheus & GrafanaPrompt Engineering for CodePython Web FrameworksRedisREST API DesignSecure Coding PracticesStructured LoggingSystem Design FundamentalsType Safety & Type SystemsUnit Testing

What changes at Senior

53 skills get a higher expectation or become core when moving from Mid-level to Senior. The biggest jumps first.

See the Senior page →
Run this with your whole team
Self-assessment plus manager and peer reviews against the same matrix, gap analysis and next-level readiness for every engineer. Team Pro is free for 14 days; individual tools stay free forever.
Start a team trial (14 days free) Send to my manager

} in the open competency matrix: 53 skills across 5 levels. The matrix is free for individuals and stays free.